我已经寻找了一段时间,但一直无法找到这个问题的答案。我正在尝试接收特定 USB 设备的连接通知。这是我所知道的:
我运行的是 linux 内核版本 3.2。我有识别 USB 设备所需的 ID。我创建了一个用于读取和写入设备的内核模块。内核模块已经过测试,工作正常。内核模块创建/dev/Component#。
我正在尝试编写一个程序,该程序会收到 USB 设备连接事件的通知,因此不需要循环 /dev/Component# 并检查该文件是否存在。我希望信号/通知/事件已经存在。我见过 libusb,但我的理解是,您实际上只是创建一个读取所有设备的循环。我考虑过添加系统调用,但重新编译内核并不是真正的选择。
任何帮助将不胜感激。
Thanks,
斯夸特洛中士
有一个使用dbus的解决方案。首先,您应该安装 libdbus-glib 库(在 Debian / Ubuntu 上,该软件包称为libdbus-glib-1-dev
)如果尚未安装。然后你就可以峰值一个程序here https://stackoverflow.com/questions/11011603/dbus-glib-bindings-udisks-error,像这样编译程序:
gcc -o dbus-usb dbus-usb.c $(pkg-config --libs --cflags dbus-glib-1)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)