Usb

1001 次連接後 /dev/bus/usb 會發生什麼

  • March 29, 2018

/dev/bus/usb/*/列出了 Alpine Linux 上連接的所有 USB 設備。例如,電話可能是/dev/bus/usb/001/009。當該電話重新連接時,它將是*/dev/bus/usb/001/010**,即遞增。

我的問題是 1001 連接後會發生什麼?

/dev/bus/usb/001/009
                010
                ...
                100
                ...
                500
                ...
                999
                ???

會嗎**???去1000?它會在 /dev/bus/usb/ 下創建一個新文件夾,比如003嗎?**

這是用於操作usb-deviceslsusb的輸出。就我而言,獲取供應商和 ProdID 並不是唯一的。

我寧願不插入/拔出 USB 電纜 1000 次!

如果我閱讀正確https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/tree/drivers/usb/core/hub.c#n2030(函式程式碼稱為choose_devnum),它可能會比這早得多,實際上是 127,然後回到 1:

   /* Try to allocate the next devnum beginning at
    * bus->devnum_next. */
   devnum = find_next_zero_bit(bus->devmap.devicemap, 128,
                   bus->devnum_next);
   if (devnum >= 128)
       devnum = find_next_zero_bit(bus->devmap.devicemap,
                       128, 1);
   bus->devnum_next = (devnum >= 127 ? 1 : devnum + 1);

稍後,僅當小於 128bus->devnum時才真正設置該屬性。devnum

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