【发布时间】:2016-01-13 10:53:42
【问题描述】:
如何在 Linux 中正确获取 USB 设备文件路径。 我使用命令:find / -iname "usb" 得到的结果如下:
/dev/bus/usb
/sys/bus/usb
/sys/bus/usb/drivers/usb
/sys/kernel/debug/usb
在 /dev/bus/usb 下我看到了:
001 002 003 004 005 006
但我认为它们不是我需要的文件。
在 /sys/bus/usb/devices/ 下:
sh-3.2# ls /sys/bus/usb/devices/
1-0:1.0 1-1:1.0 3-0:1.0 5-0:1.0 usb1 usb3 usb5
1-1 2-0:1.0 4-0:1.0 6-0:1.0 usb2 usb4 usb6
在 /sys/bus/scsi/devices/ 下,当我插入 USB 时,我看到:
2:0:0:0 host0 host2 target2:0:0
当我移除 USB 时,我看到了:
sh-3.2# ls
host0
那么 USB 使用的是哪个设备文件?我怎样才能识别它?我需要用 USB 设备文件制作一个 C 程序...
进一步,您能向我解释一下数字 1-1:1.0 吗?什么意思?
谢谢。
【问题讨论】:
-
你需要设备文件做什么?
-
我需要检查与 USB 设备相关的信息。所以我想我会将 ioctl 发送到 USB 设备文件并读取反馈数据?这可能吗?
-
什么样的信息?
-
对USB设备进行读/写验证,获取USB设备的信息如:速度、名称、...
-
“读/写验证”是什么意思?这是针对某些特定设备的吗?或者你想复制
lsusb?
标签: linux linux-kernel usb libusb