Eu acho que há alguma confusão. Os números engraçados do Linux parecem ser LIDAS LÓGICAS para dispositivos USB, e são formados depois que o processo de enumeração física é feito. Endereços físicos de USB não têm nenhuma semelhança com os nomes de identificador que você listou, eles são números de 1 a 127 que estão incorporados em cada pacote USB, qualquer coisa nesse intervalo.
O USB original (1.1 e 2.0) é projetado como "topologia de estrela", onde todos os pacotes são BROADCASTED para todos os dispositivos USB na árvore. Portanto, os dispositivos devem ter endereços exclusivos que são atribuídos a eles no processo de enumeração, para poderem decodificar fluxos apropriados. Embora o sistema conheça todos os hubs e portas nos quais os dispositivos estão conectados, ele não determina a rota do pacote; não há informações em pacotes USB sobre números de hub / porta, somente endereços de dispositivos. No entanto, isso pode ser diferente para a arquitetura USB 3.0, na qual os pacotes podem ser roteados explicitamente pelo número do hub / porta, mas o processo de enumeração ainda é necessário por razões de retrocompatibilidade.