gpt4 book ai didi

linux - 确定USB设备文件路径

转载 作者:IT王子 更新时间:2023-10-29 00:05:32 42 4
gpt4 key购买 nike

如何在 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 吗?什么意思?

谢谢。

最佳答案

So which device file is used for USB? How can i indentify it?

/sys/后面看到的主要是设备的配置/信息。 /dev/bus/usb 就是你要找的。我觉得下面这篇文章可以帮到你

http://www.linuxjournal.com/article/7466?page=0,0

已经很老了,但它仍然可以帮助你。 (在文章中他们谈到了/proc/bus/usb,今天我们有/dev/bus/usb)

Further more, could you explain to me the number 1-1:1.0? What does it mean?

通用形式是

X-Y.Z:A.B

每个字段标识您设备的连接点。前两个字段是必填字段:

  • X 是连接 USB 系统的主板的 USB 总线。
  • Y 是总线系统上正在使用的端口

因此用字符串3-3标识的USB设备是连接在总线3的端口3上的设备。

如果连接 USB 集线器,则可以扩展单个 USB 端口的连接能力。 Linux 内核通过附加 Z 字段来识别这种情况。

  • Z 是集线器上使用的端口

因此,用字符串 1-2.5 标识的 USB 设备是连接在集线器端口 5 上的设备,连接在总线 1 的端口 2 上。

USB 规范允许您级联连接多个 USB 集线器,因此 Linux 内核会继续在不同的集线器上附加正在使用的端口。因此,用字符串 1-2.1.1 标识的 USB 设备是连接在集线器的端口 1 上的设备连接在连接到总线 1 的端口 2 的集线器的端口 1 上。

检索这些信息的一种快速方法是阅读内核消息(如果可以的话)。

$ dmesg | grep usb
[... snip ...]
[ 2.047950] usb 4-1: new full-speed USB device number 2 using ohci_hcd
[ 2.202628] usb 4-1: New USB device found, idVendor=046d, idProduct=c318
[ 2.202638] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2.202643] usb 4-1: Product: Logitech Illuminated Keyboard
[ 2.202648] usb 4-1: Manufacturer: Logitech
[... snip ...]

然后,模式的最后两个字段(冒号之后)标识 USB 设备的内部部分:

  • A为设备的配置编号
  • B是配置的接口(interface)号

因此,字符串 4-1:1.1 表示:接口(interface) 1,在连接到总线 4 的端口 1 的配置 1 上。

您可以使用命令 lsusb 检索这些信息。

关于linux - 确定USB设备文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33140787/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com