Qual é o limite do número do dispositivo no Linux para um barramento USB?

4

Estou desenvolvendo um dispositivo de monitoramento remoto usando um Raspberry Pi. Para me fornecer alertas, ele tem dongle 3G nele. No entanto, devido à instabilidade da fonte de alimentação, o dongle às vezes altera o número do dispositivo. Então, por exemplo, quando inicializa o dongle 3G pode aparecer como (usando lsusb):

Barramento 001 Dispositivo 005: ID 12d1: 1464 Huawei Technologies Co., Ltd

Mas depois de algumas horas, o número do dispositivo aumentará para, digamos:

Barramento 001 Dispositivo 007: ID 12d1: 1464 Huawei Technologies Co., Ltd

Então, minha pergunta é qual é o limite do número do dispositivo? Pode continuar aumentando para 999 ou até mesmo além ou existe um limite inferior, como 256 ou 128? Com essa informação, posso codificar em uma verificação do número do dispositivo e forçar uma reinicialização se ela ficar próxima do limite.

    
por Rob Corlett 30.12.2014 / 15:32

2 respostas

4

O USB usa endereçamento de 7 bits para que você consiga endereçar 127 dispositivos. É claro que o maior problema é poder ao usar dispositivos USB, se não houver energia suficiente, eles não funcionarão.

    
por 30.12.2014 / 15:42
2

A numeração de dispositivos Linux em um barramento USB mantém informações sobre "próximo número de dispositivo a ser atribuído". Isso é naturalmente atualizado sempre que um novo dispositivo é conectado.

Desde que o número do dispositivo atualmente conectado seja menor que 127, o novo "número do próximo dispositivo" será apenas o número do dispositivo atual mais um. No "número do dispositivo atual" 127, o "próximo número do dispositivo" é redefinido para 1.

A alocação de dispositivos também verifica se o número proposto a ser atribuído já está em uso e, em caso afirmativo, reverterá para a verificação de números de dispositivos sucessivos até que um número livre seja encontrado.

Portanto, apesar de tudo, existe um limite de número de dispositivos, mas ao alcançá-lo, a numeração irá rolar suavemente.

    
por 05.01.2016 / 09:17

Tags