【发布时间】:2014-04-05 03:39:33
【问题描述】:
我需要找到一种方法来检测 USB 设备何时插入旧嵌入式 Linux (CentOs 4) 上的 C。
libudev 和 libusb 不可用,所以我对这里的选择有点茫然。有dbus,但是我不能使用udisks,因为我需要检测的设备不是存储设备。
谢谢。
【问题讨论】:
我需要找到一种方法来检测 USB 设备何时插入旧嵌入式 Linux (CentOs 4) 上的 C。
libudev 和 libusb 不可用,所以我对这里的选择有点茫然。有dbus,但是我不能使用udisks,因为我需要检测的设备不是存储设备。
谢谢。
【问题讨论】:
您可以尝试编写自定义脚本并将其注册到/proc/sys/kernel/hotplug。当 uevent 发生时,内核将调用您的脚本并将子系统(在您的情况下为 usb)作为参数传递。然后你必须匹配设备(我不知道该怎么做,这可能是最棘手的部分)。
与 USB 子系统匹配的自定义热插拔脚本的骨架:
$ 猫 my_hotplug.sh #!/bin/sh [“$1”=usb]||出口 0 echo "在这里做点什么"将您的热插拔脚本注册为 uevent 助手:
echo /path/to/my_hotplug.sh > /proc/sys/kernel/hotplug
【讨论】: