Por que um hub USB externo aparece sob diferentes números de barramento / porta USB do que outros dispositivos conectados à mesma porta?

4

Estou trabalhando na configuração de um sistema no qual desejo que determinados dispositivos sejam sempre nomeados da mesma maneira quando conectados a determinadas portas. Eu originalmente configurei um arquivo de regras do udev com os dispositivos conectados diretamente ao computador. Então eu tinha regras como:

ACTION=="add", KERNEL=="<namePattern>", KERNELS=="7-3", SYMLINK+="<newName>"

em que 7-3 especificou uma porta USB específica em uma placa PCI no computador (calculei os números de cada porta usando dmesg ou udevadm info -q path -n <deviceName> ).

No entanto, agora preciso conectar os dispositivos a um hub USB para permitir que eles fiquem mais distantes do computador. Quando eu conecto o hub USB na mesma porta, ele aparece abaixo do número 4-5 em vez de 7-3 , o que me confunde. Assim, os dispositivos conectados ao hub acabam com números como 4-5.2 em vez de 7-3.2 , como eu esperava.

Pelo que entendi, o primeiro número antes do traço indica em qual barramento USB o dispositivo está ligado, enquanto a sequência de números após o traço indica o número da porta para cada hub sucessivo no qual o dispositivo está conectado. Então, não faz sentido para mim por que esses números de repente mudam para 4-5 quando eu conecto um hub quando eles sempre foram 7-3 para todo o resto que eu conectei nessa porta. Eu esperaria que os números anteriores permanecessem os mesmos, mas com um número de porta extra colado no final para indicar que está passando por outro hub USB.

Dado que o primeiro hub é numerado 4-5 , a numeração segue as minhas expectativas quando coloco um segundo hub em cadeia. Acabo com dispositivos com números como 4-5.2.x ou 4-5.3.x dependendo de qual porta no primeiro hub em que eu conecto o segundo hub. Assim, a parte 4-5 permanece a mesma, enquanto os números das portas no primeiro e segundo hubs são adicionados.

Estou me perguntando por que o primeiro hub aparece com o número 4-5 em vez de 7-3 , como todo o resto conectado a essa porta? Aparentemente, estou perdendo parte do entendimento de como a numeração funciona em diferentes situações.

Atualização: Brinquei com o sistema um pouco mais, e acontece que a renumeração estranha só acontece quando eu conecto o hub USB em uma das portas no placa PCI . Quando eu o conecto nas portas da placa-mãe (ou na frente do computador, que vai para a mobo), ele mantém os mesmos números que eu esperaria. Eu ainda não entendo porque isso aconteceria mesmo com a placa PCI, mas pelo menos a renumeração parece ser consistente. Então, eu ainda posso configurar regras que funcionem. Se alguém tiver alguma boa intuição sobre o que está acontecendo, ainda estou curioso para entender o que está acontecendo.

    
por Brandon 17.08.2013 / 00:35

0 respostas