1

Ubuntu (kernel-3.0) で USB HID デバイスにアクセスしようとしています。USB デバイスがバスに接続されるたびに通知できるプログラムを作成したいと考えています。つまり、USB デバイスが接続されるたびに監視できるイベントが生成されます。DBus と HAL を調査しましたが、成功しませんでした。しかし、デバイスが接続されているときに Linux に現在のモジュール (USBHID および HID) をロードさせたくありません。また、上記のモジュールが HID デバイスに使用されるデバイス ドライバーでもあるかどうかを確認したいと思います。

私の唯一の目的は、USB デバイスがバスに接続されるたびに、上記のモジュールを間接的に呼び出すスクリプトを実行することです。

私は C でコードを書いています。私は Linux を初めて使用します。誰かが私を正しい方向に向けることができれば、それは大きな助けになるでしょう。

ありがとう..

4

1 に答える 1

-1

USB ドライブが挿入されると、UDisks デーモンは D-Bus 信号「DeviceAdded」を送信し、おそらくドライブの各パーティションに対して別の「DeviceAdded」を送信します。automount を使用している場合は、パーティションがマウントされたときに "DeviceChanged" シグナルも受け取ります。次に、たとえば、UDisks インターフェイスや個々のデバイスのプロパティについてクエリを実行できます。UDisks インターフェイスの詳細については、http://hal.freedesktop.org/docs/udisks/UDisks.html を参照してください。

D-Bus 上のブロック デバイス (または何でも) で何が起こっているかをよりよく理解する 1 つの方法は、D-Feet をインストールして使用し、バスを検査することです。UDisk はシステム バス上に表示されます。そこにあるものを確認し、個々のデバイスのプロパティと UDisks インターフェイス自体を調べることができます。

バス上で送信される信号を確認できるもう 1 つの方法は、コマンド ラインから dbus-monitor を実行することです。

于 2012-05-09T18:18:23.067 に答える