USB 总线端口号与 USB 物理位置

USB 总线端口号与 USB 物理位置

我有多个设备连接到 3 个 USB 端口。

我可以通过以下命令列出它们与一些标识号的连接:

# cd /sys/bus/usb/drivers/usb
# ls
1-1     1-1.2   1-1.3   1-1.4   bind    uevent  unbind  usb1    usb2
# cat 1-1.2/product
My Connected Device

我想在“我的连接设备”的物理端口中放置一个标签,例如“连接此处”。我需要确保以下取消绑定/绑定命令只能发送到该特定设备的该端口:

echo -n "1-1.2" > /sys/bus/usb/drivers/usb/unbind

如果硬件相同,是否可靠可以认为重启后系统会总是将 1-1.2 分配给相同的身体的USB端口?

答案1

只要你的USB硬件没有改变(例如:USB集线器、USB卡等),那么是的,可以安全地假设该设备确实将被分配到 中的相同位置/sys/bus/usb/devices/x-x.x。 Linux 应在每次启动时以相同的顺序扫描并分配这些 xx.x ID,但请记住,设备必须连接到该端口才能使该目录条目存在。

答案2

USB 主机基本上是 PCI 设备,如果符合 PCI 规范,则使用相同的初始枚举来初始化它们。所以简短的回答是肯定的。

相关内容