2014-03-03 75 views
3

我需要找到一種方法來檢測在舊的嵌入式Linux(CentOs 4)上,何時將USB設備插入C中。沒有udev或libusb的linux上的USB連接事件

libudevlibusb不可用,所以我對這裏的選項有點無知。有dbus,但我不能使用udisks因爲我需要檢測的設備不是存儲設備。

謝謝。

回答

3

您可以嘗試編寫自定義腳本並在/proc/sys/kernel/hotplug中註冊它。當事件發生時,內核會調用你的腳本並傳遞子系統(在你的情況下爲usb)作爲參數。那麼你將不得不匹配設備(我不知道該怎麼做,這可能是最棘手的部分)。

骷髏爲您定製熱插拔腳本相匹配的USB子系統:

 
$ cat my_hotplug.sh 
#!/bin/sh 

[ "$1" = usb ] || exit 0 
echo "Do something here" 

註冊您的熱插拔腳本作爲UEVENT幫手:

echo /path/to/my_hotplug.sh > /proc/sys/kernel/hotplug
+0

「男人熱插拔」 說明很多另外的信息:內部變量$ ACTION是add ||刪除,$ PRODUCT以十六進制顯示類型,$ DEVPATH顯示設備 – Achim