Путаясь в файловой системе Linux /sys, можно найти все USB-устройства в каталогах, имена которых соответствуют физическим адресам USB-устройств.
ls /sys/bus/usb/devices
1-0:1.0 1-1 1-1:1.0 1-2 1-2:1.0 2-0:1.0 usb1 usb2
Теперь с этого сайта я узнал, что числа представляют физический путь к устройству, включая любой концентратор на пути:
По мере продвижения устройств в дереве USB и использования все большего количества концентраторов USB номер порта концентратора добавляется к строке, следующей за предыдущим номером порта концентратора в цепочке. Для дерева с двумя глубинами имя устройства выглядит так:
root_hub-hub_port-hub_port:config.interface
Таким образом, вопрос в том, почему USB-устройства проходят перечисление (и ОС присваивают им изменчивые номера), если они уже имеют уникальный способ идентификации, то есть номера шин, концентраторов и портов?