如果我们有枚举的 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