Linux

USB 匯流排埠號與 USB 物理位置

  • March 24, 2016

我有多個設備連接到 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 埠是否可靠?

只要您的 USB 硬體沒有改變(例如:USB 集線器、USB 卡等),那麼可以,可以安全地假設該設備確實會被分配到/sys/bus/usb/devices/x-x.x. Linux 應該在每次啟動時以相同的順序掃描並分配這些 xx.x ID,但是請記住,必須將設備連接到該埠才能存在該目錄條目。

Usb 主機基本上是 PCI 設備,如果它符合 PCI 規範,則使用相同的初始列舉進行初始化。所以簡短的回答是肯定的。

引用自:https://unix.stackexchange.com/questions/271956