Eu tenho um laptop com 2 portas USB 2.0 e 1 USB 3.0 e gostaria de saber quantos discos rígidos USB posso conectar a ele. Existe um limite rígido no kernel do Linux?
No lado do desempenho, qual é a velocidade compartilhada entre as unidades conectadas à porta?
hardware
usb-drive
usb-storage
719016
fonte
fonte
Respostas:
Teoricamente, você pode ter até 127 dispositivos conectados a um PC host, mas existem limitações práticas de energia e largura de banda de dados que impediriam isso. Esses 127 dispositivos podem ser organizados em uma rede em camadas de hubs até sete níveis, contando o host do PC como nível 1 e o dispositivo mais distante como nível 7. O PC fornece 5 unidades de energia a um hub. Cada unidade tem 100 mA e cada porta requer no mínimo 1 unidade. O próprio hub consome um, deixando 4 unidades para até 4 portas. Portanto, você nunca encontrará um hub alimentado por barramento com mais de quatro portas.
Os hubs alimentados por barramento têm uma limitação adicional. Como cada porta possui apenas uma única unidade de energia, elas podem se conectar apenas a jusante de um único dispositivo. Você não pode conectá-los a outro hub para expansão, porque esse hub requer 5 unidades adicionais. E nem todos os dispositivos podem ficar sem uma única unidade. Um dispositivo de baixa potência, como um mouse, funcionará, mas um dispositivo de alta potência pode reivindicar até 5 unidades. Os dispositivos USB de alta potência só funcionam quando conectados diretamente a um host de PC ou a um hub com alimentação própria que pode fornecer 5 unidades à porta.
Quando você conecta um dispositivo, o PC consulta seus dispositivos quanto a seus recursos e requisitos. Assim, por exemplo, o PC sabe que está conectado a um hub alimentado por barramento de 4 portas, o que significa que cada porta pode operar apenas uma unidade. Se você tentar conectar um dispositivo de alta potência a esse hub, o sistema operacional exibirá uma mensagem de erro e se recusará a habilitá-lo.
Os hubs alimentados por barramento geralmente são uma má idéia devido a essas limitações e destinam-se principalmente ao uso móvel, não ao desktop.
Por outro lado, se os dispositivos conectados à porta tiverem alimentação própria, talvez não precisem de mais de uma unidade do hub. Por exemplo, unidades de disco externas possuem energia própria, portanto, devem funcionar bem em um hub alimentado por barramento.
Um hub auto-alimentado poderá fornecer 5 unidades a cada porta, permitindo dispositivos de alta potência e outros níveis de hubs. Assim, você pode conectar um hub auto-alimentado de 7 portas e mais sete hubs de 7 portas, fornecendo 49 portas disponíveis apenas na quarta camada.
Alguns hubs com alimentação automática permitem que você os use também no modo de barramento, mas se você tentar conectar muitos dispositivos, o sistema operacional exibirá uma mensagem de erro.
A maioria dos chips controladores de hub possui 4 portas, portanto, você geralmente vê hubs de 4 portas. Quando eles querem construir um hub maior, eles usam apenas dois chips de 4 portas. Mas eles precisam conectá-los com o primeiro chip conectado ao host e o segundo conectado a uma das portas a jusante do primeiro chip. Isso deixa apenas sete portas restantes para o usuário, três no primeiro chip e quatro no segundo - daí o hub comum de 7 portas.
O USB é plug-and-play no sentido de que você não precisa saber nada disso quando conectar as coisas. O sistema operacional monitora o orçamento de energia de cada hub e dispositivo, informa se a conexão não funcionará e que você precisa usar uma porta de alimentação automática.
edit: os pacotes USB ficam assim:
Como o endereço é de apenas 7 bits, você só pode ter 128 dispositivos em todo o barramento (com 7 bits que podem ser ligados e desligados, existem apenas 128 combinações diferentes de bits possíveis). Isso inclui o seu computador, deixando 127 outras coisas que você pode anexar a ele.
fonte
Portanto, você descobrirá que, com os chipsets USB3, atingirá um limite em 30 dispositivos ou mais, devido a um limite rígido de 32 dispositivos (na verdade, limite de 96 pontos de extremidade) nos chipsets USB3.
Também lidei com esse problema e levei um tempo para encontrar o problema e as soluções reais. É uma página longa, para que você possa lê-la lá http://marc.merlins.org/perso/linux/post_2018-12-20_Getting-Around-USB3-xhci-32-Device-Limit- Max-number-of- devices-this-xHCI-host-suporta-is-32 .html
Basicamente, tudo se resume a essas coisas
1) há um limite de 96 pontos de extremidade com USB3 (que se traduz apenas em 32 dispositivos)
2) você perde pontos de extremidade adicionais devido a hubs, usando um cabo USB2 a um hub USB3 fornece alguns slots de volta
3) em geral, você deve desativar o USB3 se não puder fazê-lo (remova o driver do kernel USB3 ou, se possível, desative o USB3 na sua bios). O uso de um chip USB3 no modo USB2 não ajuda, é necessário desativar o USB3 para que sua placa-mãe redirecione a porta para um controlador USB2 que não tenha esse limite de ponto final 4) se você não puder desativar o USB3, obtenha uma placa PCIe somente USB2 e esse realmente lhe dará 120 dispositivos ou mais.
Recursos adicionais: https://www.spinics.net/lists/linux-usb/msg175224.html
https://forums.intel.com/s/question/0D50P00004905stSAA/hardware-limitations-on-usb-endpoints-xhci? language = en_US
fonte
Por experiência pessoal, minha webcam só funcionará se estiver conectada diretamente às portas USB do meu PC. Não funcionaria conectado a um hub energizado. Isso significaria para mim que você terá limitações de largura de banda antes de executar em um número de limite de dispositivos.
fonte