仮想USB HIDデバイス

仮想USB HIDデバイス

接続されたUSB HIDデバイスと通信するアプリケーションを開発中です。問題はまだ実際のデバイスがないことです(私たちのチームの他の部分で開発中です)。したがって、これをシミュレートする方法があれば本当に良いです。

私が考える理想的なユーティリティは次のとおりです。ロード時にシステムに2つのデバイスノードを作成するカーネルモジュール。

  • 仮想USB隠しデバイスは、実際のUSB隠しデバイスノードと区別できません。/dev/hidraw0もちろん、このデバイスは私が使用しているすべてのUSB隠しライブラリで見ることができるはずですhidapi
  • サービスデバイスノード、/dev/virtual_hid_1例:

したがって、誰かが書き込むとき、/dev/virtual_hid_1そのデータは文字通り読み取る必要があり、/dev/hidraw0その逆も同様です。

これにより、必要な言語でいくつかのデバッグアプリケーションを作成できますpython/dev/virtual_hid_1開発に非常に便利です。

そんなことありますか?

ベストアンサー1

おそらくカーネルモジュールを探しているでしょうuhid。バラよりカーネルソースコードのドキュメント:

UHIDを使用すると、ユーザー空間転送ドライバは、ユーザー空間制御バスに接続されている各デバイスに対してカーネル隠しデバイスを作成できます。 UHID API は、カーネルからユーザー空間へ、またはその逆に提供される I/O イベントを定義します。

./samples/uhid/uhid-example.c にサンプルのユーザー空間アプリケーションがあります。

おすすめ記事