2013-03-21 64 views

回答

2

你可以嘗試使用sysfs的路徑對於USB設備,/ SYS /巴士/ USB /設備/和通配符的idProduct和idVendor文件

/sys/bus/usb/devices/*/idProduct 
/sys/bus/usb/devices/*/idVendor 
1

兩年後,它向前還是不直使連接從識別設備到實際設備。 你必須掃描sysfs來識別設備。目前沒有唯一ID到設備的索引。

下面是一個例子:

我有一個USB→附LPT端口(沒有編號)

我發現在/ sys /類的設備(一個或多個)。在根據usbmisc這種情況下:

> ls -l /sys/class/usbmisc 
lrwxrwxrwx 1 root root 0 Sep 11 12:11 lp0 -> ../../devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4:1.0/usbmisc/lp0 

檢索有關設備供應商等信息,在樹:

轉到真實路徑:

> cd -P /sys/class/usbmisc/lp0 

走在分支位(這裏:/sys/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3.4):

> cd ../../../ 

在這裏,您鰭片d有用的文件:
idVendor
idProduct
串行
BUSNUM
DEVNUM

我可以在一個以上的方式:

我可以使用上面的BUSNUM和DEVNUM檢索設備名稱和撰寫此設備名稱:/dev/usb/001/008

或使用/ sys/class/usbmisc/lp0/uevent中的信息:
主要= 180
MINOR = 0
DEVNAME = USB/LP0

添加/ dev到DEVNAME價值,我得到的/ dev/USB/LP0

我也喜歡一個更簡單的方法,具有唯一的密鑰,描述和每個設備的鏈接。有人可能希望它會在未來的sysfs版本中出現。但由於使用C sysfs API更容易處理,潛在客戶可能還有很長的路要走

相關問題