如果我們有枚舉的 USB 裝置列表,例如。的結果lsusb
,看看/dev
,我們如何判斷 中的哪些裝置節點/dev
是由某個 USB 裝置製成的?
我知道有幾個類似的問題,但大多數都有一個更具體的例子,並且接受的答案同樣是專門的。
答案1
您可以在/sys/bus/usb
其中找到您需要的一切。這有點複雜,但很容易解析。
例如(在我的 Ubuntu 機器上)路徑的存在/sys/bus/usb/drivers/usb-storage/4-4\:1.0/host1/target1\:0\:0/1\:0\:0\:0/block/sdd
告訴我,該區塊裝置sdd
位於usb-4-4:1.0
這對應於
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 3: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
|__ Port 4: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 5000M