2011-09-09 15 views
2

私はLinuxに慣れていないので、2つのインタフェースを持つデバイス用にUSBドライバを作成する必要があります。 1つのインタフェースは、エンドポイントに1つの割り込みとレポート記述子を持つHIDクラス(3/0/0)です。もう1つのインタフェースは、3つのバルクエンドポイントで定義されたベンダーです。私のusb_device_idテーブルには、VIDとPIDを持つUSB_DEVICEエントリがあります。LinuxのUSBプローブの順序を変更または制御できますか?

デバイスを接続すると、xxx_probe関数がベンダー定義のインターフェースで呼び出されますが、HIDインターフェースでは呼び出されません。代わりに、 'generic-usb'と呼ばれるビルトインドライバがHIDインタフェースを制御しているように見えます。

私のドライバプローブ機能が最初に呼び出される方法はありますか?

Linuxは、Windowsのように、より具体的なドライバを探している複数のパスを作成しないのはなぜですか?

また、「汎用usb」ドライバを使用して割り込みエンドポイントでデータを受信し、レポートと機能をコントロールパイプに設定できますか?

+0

私は、この問題を修正したカーネルパッチを見つけたと思います。http://lwn.net/Articles/460522/パッチの説明から: "デバイスを取得する問題を完全に解決する必要があります。 正しい順序で初期化してください。 "しかし、それはまだ行われていません.. – Dmitry

答えて

0

libusb-1.0.8は、アプリケーションがカスタムドライバを必要とせずに、接続されたデバイスのインターフェイスを制御できるように見えます。これまでのところ私が必要とするすべてのサポートを提供するように見えます。

関連する問題