O que é e como aumentar o número máximo de dispositivos usb?

7

Eu estou querendo saber qual é o número máximo de dispositivos USB que o kernel do Linux pode gerenciar? Isso depende do hub-raiz ou de alguma outra coisa também?

Existe uma maneira de aumentar esse número máximo?

Eu preciso fazer isso, porque tive problemas ao tentar gravar uma grande quantidade de pen drives. Para fazer isso, eu tenho uma configuração da seguinte forma:

Há 1 computador executando o Ubuntu Linux, com 3 HUBs (ativos) conectados a 3 portas USB desta máquina. Todos esses três HUBs são de 7 portas HUBs. Para 6 dessas 7 portas, mais HUBs estão conectados. Isso me dá o número de 3 * 6 = 18 HUBs na "segunda" camada. Cada um desses HUBs também é um HUB de 7 portas ativo. Há um stick USB conectado a cada porta desses HUBs de segunda camada. No total, tenho 126 USB Sticks conectados ao computador.

Eu tenho um script que procura por todos os dispositivos de disco USB (através da listagem / dev / disk / by-path /). Cada um dos dispositivos de disco USB é primeiro particionado, gravado no cp e, em seguida, pode ser inicializado usando o syslinux. Isso NÃO é feito em paralelo!

O problema: Eu só tenho 105 dispositivos de disco USB usando

ls -la /dev/disk/by-path | grep usb | grep -v part | wc -l

Os LEDs dos bastões em 3 linhas (uma linha corresponde a um HUB na segunda camada) também estão desativados.

Como faço para que todos esses bastões funcionem? (Ou possivelmente ainda mais?)

    
por Daniel Jour 23.12.2011 / 18:45

1 resposta

3

Por padrão, conforme explicado aqui: link

Você não pode ter mais de 127 dispositivos (incluindo hubs) conectados a um único controlador de host.

Agora: o controlador host + 3 hub (1ª camada) +18 hub (2ª camada) = 22 dispositivos que NÃO aparecem como dispositivos de disco.

127 menos estes 22 dispositivos USB = 105 dispositivos que podem ser gerenciados pelo kernel como discos.

127 dispositivos é um limite rígido do protocolo USB (veja aqui: link ) porque o ADDR o campo de endereço tem sete bits de comprimento.

Então, por software, não há como aumentá-lo. Talvez você possa tentar com mais de uma interface do controlador host ou alterar a topologia reduzindo o número de hubs (aumentando assim o número de discos vistos pelo sistema).

    
por 06.01.2012 / 23:06