3

しばらく探していましたが、この質問に対する答えを見つけることができませんでした。特定の USB デバイスの接続通知を受信しようとしています。ここに私が持っている/知っているものがあります:

Linux カーネル バージョン 3.2 を実行しています。USBデバイスを識別するために必要なIDがあります。デバイスへの読み書き用のカーネル モジュールを作成しました。カーネル モジュールはテスト済みで、正常に動作します。カーネル モジュールは /dev/Component# を作成します。

USB デバイス接続イベントが通知されるプログラムを作成しようとしているため、/dev/Component# をループしてファイルが存在するかどうかを確認する必要はありません。私の希望は、すでに存在するシグナル/通知/イベントがあることです。私は libusb を見てきましたが、私の理解では、あなたは本当にすべてのデバイスを読み取るループを作成しているだけです。システムコールを追加することを検討しましたが、カーネルを再コンパイルすることは実際にはオプションではありません。

どんな助けでも大歓迎です。

ありがとう、

軍曹スクワット

4

1 に答える 1

0

dbus を使用した解決策があります。libdbus-glib-1-devまだインストールされていない場合は、最初にライブラリ libdbus-glib (Debian / Ubuntu ではパッケージは と呼ばれます) をインストールする必要があります。次に、ここでプログラムをピークし、次のようにプログラムをコンパイルできます。

gcc -o dbus-usb dbus-usb.c $(pkg-config --libs --cflags dbus-glib-1)
于 2013-01-09T14:32:51.437 に答える