3

我一直在寻找一段时间,但我一直无法找到这个问题的答案。我正在尝试接收特定 USB 设备的连接通知。这是我所拥有/知道的:

我正在运行 linux 内核版本 3.2。我有识别 USB 设备所需的 ID。我创建了一个用于读取和写入设备的内核模块。内核模块已经过测试并且可以正常工作。内核模块创建 /dev/Component#。

我正在尝试编写一个通知 USB 设备连接事件的程序,因此不需要循环 /dev/Component# 并检查文件是否存在。我希望有一个已经存在的信号/通知/事件。我看过 libusb,但我的理解是你实际上只是在创建一个读取所有设备的循环。我考虑过添加一个系统调用,但重新编译内核并不是一个真正的选择。

任何帮助将不胜感激。

谢谢,

蹲下中士

4

1 回答 1

0

有一个使用 dbus 的解决方案。首先,如果尚未安装库 libdbus-glib(在 Debian / Ubuntu 上调用该软件包libdbus-glib-1-dev),您应该安装它。然后你可以在这里峰值一个程序,像这样编译程序:

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