2つの異なるモードで動作するUSB HIDデバイスがあります。モードの選択は、送信されたUSB列挙/初期化パケットのシーケンスに基づいて行われます。LinuxがUSB HIDデバイスを初期化できないようにする方法
私はRaspbianを実行しているRaspberry Pi 3を使用していますが、デスクトップのUbuntuディストリビューション用にコードをコンパイルすると同じ問題が発生します。
私が持っている問題は、LinuxがUSBデバイスをHIDデバイスとして認識し、デバイスの起動に必要と思われる一連のコマンドを送信していることです。正しく動作し、デバイスは「モード1」で起動します。
しかし、 "Mode 2"でデバイスを起動する必要があります。これを行うには、わずかに異なる列挙/初期化コマンドのセットを送信する必要があります。
私はLinuxには慣れていますが、LibUSBとLibUSBDotNetはWindowsの下で非常に経験があり、Windowsの下で私が望む動作を得ることができます。
Windowsは、列挙し、デバイスをUSB HIDデバイスとして認識し、デバイスが「モード1」になるという結果になると、それを初期化します。これを行うウィンドウを防ぐために、デバイスのLibUSBフィルタドライバを作成して、デフォルトのドライバを置き換えて、Windowsが最初の列挙を行い、デバイスのVIDとPIDがLibUSBフィルタドライバによって管理されるようにします。 WindowsのHIDドライバより)、列挙/初期化を停止します。これにより、自分のコードを引き継ぎ、初期化を「モード2」に完了させることができます。
Linuxがこのデバイスを完全に列挙/初期化するのを止めるにはどうすればいいですか?多分、私はudevのルールなどで何かをする必要があるかもしれませんが、私はLinuxに慣れていないと思いません。
すべてのヘルプは非常にあなたが右の持っている
それを使用することができ、カーネルから離脱し、モード2への変更のために後半に独自の魔法をしているのですか? – dryman