我正在尝试访问Ubuntu(kernel-3.0)下的USB HID设备。我想编写一个程序,当USB设备连接到总线时可以通知我,即插入USB设备时是否有任何事件产生,我可以监控。我已经调查过DBus和HAL但没有任何成功。但我不希望linux在插入设备时加载其当前模块(USBHID和HID)。我还想询问所提到的模块是否也是用于HID设备的设备驱动程序。
我唯一的目的是在USB设备插入总线时运行脚本,这将间接调用上述模块。
我在C中编写代码。我对linux很新。如果有人能指出我正确的方向,那将是非常有帮助的。
谢谢..
答案 0 :(得分:-1)
当插入USB驱动器时,UDisks deamon将发送D-Bus信号“DeviceAdded”,并且可能为驱动器上的每个分区发送另一个“DeviceAdded”。如果您有自动挂载,则在安装分区时也会收到“DeviceChanged”信号。然后,您可以查询UDisks界面,以及各个设备的属性。您可以在此处找到有关UDisks界面的更多信息:http://hal.freedesktop.org/docs/udisks/UDisks.html
更熟悉D-Bus上的块设备(或其他)所发生的事情的一种方法是安装和使用D-Feet来检查总线。 UDisk出现在系统总线上。您可以查看其中的内容并检查各个设备的属性以及UDisks接口本身。
另一种可以让你看到总线上传输信号的方法是从命令行运行dbus-monitor。