O que acontece com / dev / bus / usb após 1001 conexões

2

/ dev / bus / usb / * / * lista todos os dispositivos usb conectados no Alpine Linux. Por exemplo, um telefone pode ser / dev / bus / usb / 001/009 . Quando esse telefone for reconectado, ele será / dev / bus / usb / 001/010 , ou seja, será incrementado.

Minha pergunta é o que acontece depois das conexões 1001?

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

O ??? vai para 1000? Criaria uma nova pasta dizendo 003 em / dev / bus / usb /?

Isso é para manipular a saída de usb-devices e lsusb . Obter o fornecedor e o ProdID não é exclusivo no meu caso.

Eu prefiro não ligar / desligar um cabo USB 1000 vezes!

    
por Patrick Duncan 28.03.2018 / 21:21

1 resposta

4

Se eu ler corretamente link (código para uma função chamada choose_devnum ), pode ser bem mais antigo que isso, no valor 127, e depois voltar para 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);

Mais tarde, a propriedade bus->devnum é realmente definida apenas se devnum for menor que 128.

    
por 29.03.2018 / 01:25