我需要從Python的VID和PID中找到sysfs樹中的USB設備。這裏最明智的方法是什麼?遞歸掃描目錄樹是我想到的唯一想法。有沒有更好的方法?順便說一句,我不能使用libusb綁定。如何從Python中的USB設備VID和PID確定sysfs devpath?
1
A
回答
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更容易處理,潛在客戶可能還有很長的路要走
相關問題
- 1. 如何設置嵌入式Linux中USB設備的VID和PID
- 2. 重新編程USB設備的VID/PID
- 3. 從node.js中的VID和PID獲取USB設備的/ dev路徑
- 4. 如何根據其VID和PID識別USB設備
- 5. 從任何USB設備獲取PID/VID nunbers
- 6. 從DevicePath中提取USB PID VID
- 7. 設備VID和PID傳遞到功能
- 8. 通過VBScript獲取連接的USB設備的VID/PID
- 9. 如何區分兩個usb觸摸屏設備與Linux中相同的pid/vid
- 10. 如何知道USB設備「HID」和「PID」
- 11. 根據其VID/PID查找並彈出USB設備
- 12. 直接在Delphi中使用VID和PID的USB設備進行數據交換
- 13. 在VC++中使用PID和VID函數檢測USB設備的問題
- 14. 如何從C#中的USB閃存驅動器獲取VID/PID?
- 15. 使用pyserial標識USB給串口給出USB VID和PID
- 16. 如何獲取在.net中連接到我的系統的所有USB設備的VID和PID?
- 17. list沒有使用Windows驅動程序的指定VID和PID的USB設備套件
- 18. 如何從mac系統獲取vid pid?
- 19. 從按鍵獲取VID和PID
- 20. SPI設備的Sysfs
- 21. 如何確定連接的USB設備是否爲USB閃存?
- 22. UWP SerialDevice:我的設備壞了嗎?無法連接Vid,Pid
- 23. 從VID/PID查找USB驅動器號(需要XP和更高版本)
- 24. 我們可以從USB閃存驅動器獲取VID和PID嗎?
- 25. (Linux)從PID連接的USB設備獲取/ dev/input/eventX:VID
- 26. 如何獲得在Windows上的QT的USB設備的供應商ID和PID?
- 27. asp.net mvc3 - 如何設置Devpath?
- 28. 紅寶石 - 從串口獲取USB VID/PID在一個跨平臺的方式
- 29. 確定USB設備文件路徑
- 30. Sysfs導出設備屬性