我有多个设备连接到 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 规范,则使用相同的初始枚举来初始化它们。所以简短的回答是肯定的。