Um hub USB não funcionará quando estiver conectado a mais de 5 hubs da porta raiz

64

Estou tentando utilizar a capacidade do meu monitor para alternar a entrada de vídeo e a fonte USB (como um comutador KVM) com um hub USB. Anteriormente, eu tinha todos os dispositivos conectados diretamente às portas USB do monitor. Eu poderia alternar a entrada de vídeo no monitor para o Surface via dock ou na área de trabalho (ambas as máquinas estão executando o Windows 10) e o USB alternado junto com o vídeo.

Desde a introdução do hub USB, o dock do Surface não funciona mais com USB, mas a área de trabalho. Se eu ignorar o dock e conectar um cabo USB diretamente ao Surface, ele também funcionará. Quando conectado através do dock do Surface, recebo o erro:

Muitos hubs USB estão conectados juntos. Um hub USB não funcionará quando estiver conectado a mais de 5 hubs da porta raiz.

A área de trabalho é um PC genérico, mas como o Surface está tendo problemas, eu o destaquei especificamente na lista de dispositivos em minha configuração:

Se eu ler o erro explicitamente, só posso contar 4 hubs USB: Surface Book, Surface Dock, Monitor e hub USB. Para explicar como eu tenho as coisas, eu montei este diagrama:

Diagrama de configuração

Até esse erro, eu tinha a impressão de que o USB alimentado permitia que 127 dispositivos fossem encadeados . Essa impressão está incorreta ou há algo errado com minha configuração?

Informações adicionais baseadas em respostas :

Minha cadeia de Hub USB, conforme visualizada no USB Tree Viewer, quando conectada ao Surface Book através do Surface Dock:

Captura de tela do USB Tree Viewer das conexões do hub Surface Dock

A partir disso, eu definitivamente vejo que existem mais de 5 hubs da porta raiz para os dispositivos no final. Parece que um hub de "camada única" no final resolveria o problema. Segundo o comentário de Ali Chen, "encontrar essa informação em documentos de marketing" seria improvável.

ahsteele
fonte
28
Você está conectado na parte frontal ou traseira do seu computador? Estou perguntando isso porque alguns computadores são construídos de que as portas USB frontais não são realmente portas primárias, mas sim "concentradas" nas portas traseiras.
IronWilliamCash
11
Existe uma razão para o monitor estar na mistura?
LPChip
3
@LPChip (eu sou membro da equipe da ahsteele), o monitor atua como um comutador KVM para nós, alternando entre os sinais de vídeo que o USB viaja também. Isso nos permite transportar teclados, mouses e outros periféricos USB entre a superfície e a área de trabalho.
Rheone
11
@IronWilliamCash, o monitor foi construído em um KVM, não há KVM para além disso
rheone
14
Use o Gerenciador de dispositivos. Menu-> Exibir-> Dispositivos por Conexão. Você pode ver os hubs encadeados um do outro. Isso informará se existem hubs ocultos nos quais um único hub é realmente dois internamente ou na placa-mãe.
Ben

Respostas:

54

Ao contar os hubs, você assume que cada caixa / dispositivo individual possui apenas um hub. Essa suposição é provavelmente falsa.

Para começar, o "hub amazon" de 10 portas definitivamente possui pelo menos dois hubs em cadeia, porque hubs únicos não são fabricados com 10 portas, no máximo 7 portas [consulte esta explicação] .

Em seguida, o monitor da Dell também possui um design especial - possui duas portas UPSTREAM. Qual é a sua arquitetura interna, quem sabe.

O "dock de superfície" também é suspeito de ter mais de um hub USB na cadeia. E não sei se a "superfície" usa hub interno extra por qualquer motivo.

Para ter uma idéia real de quantos hubs existem na cadeia e o que / como todas as coisas estão conectadas, use USBTreeView.exe no lado do Surface. Estou certo de que o Surface acertou a corrente e você tem mais de 5 hubs na cadeia.

Além disso: o padrão USB permite 127 dispositivos por um controlador raiz, não significa que eles sejam "encadeados", apenas um total de 127. De fato, se descontarmos os hubs como dispositivos USB funcionais, o número total de dispositivos úteis será fornecido. até 102, já que você precisaria de 17 hubs de 7 portas para acomodar os dispositivos, na configuração de três camadas, e cada hub ocupará um endereço do espaço disponível.

Ale..chenski
fonte
11
Maldição, me vença. : D Bem, aqui estão algumas fotos para ilustrar isso: Gerenciador de dispositivos , PCB .
Daniel B
5
Eu acho que o "hub amazon" de 10 portas possui três chips de 4 portas em uma cascata 1-> 2. O primeiro (upstream) tem duas portas conectadas a outros dois chips e duas portas são gratuitas. Então você tem um hub de 4 + 4 + 2 portas. Essas portas ainda devem funcionar.
Ale..chenski 3/17/17
11
@ahsteele, existem hubs USB 3.0 / 3.1 de 7 portas e chip único, USB5807, por exemplo. Mas eu acho que o "hub amazon de 7 portas" possui dois ICs de 4 portas. O IC de nível superior possui 3 portas acessíveis ao usuário e uma porta é usada para conectar o segundo IC de 4 portas, totalizando 3 + 4 = 7 portas a jusante. AFAIK, a mesma caixa também vem com design de 4 portas. Eu acho que um PCB pode acomodar todas as três opções, 4, 7 e 10, com alteração de BOM. Mas por que você está perguntando? O que o Gerenciador de dispositivos ou o USBTreeView mostra? Você deve ter esses resultados prontos, não é?
Ale..chenski 5/05
11
@ahsteele, sim, como imaginei, o último hub (IC de 4 portas do hub anazon de 10 portas) tem duas portas para os conectores do usuário (deve ser utilizável) e as outras duas portas passam para o próximo nível de hubs (como imaginei, 2 x 4 portas), que excedem o requisito USB. Eles são o sexto na cadeia e rotulados com marcas amarelas. Você precisa obter um hub de "camada única". Qualquer hub de 4 portas deve funcionar bem, ou sete portas, mas com um único controlador de hub.
Ale..chenski 5/05
2
@ ahsteele, acho que você não encontrará essas informações nos documentos de marketing. Uma maneira é obter uma amostra e conectá-la a um host com USBTreeView, e olhar. A outra maneira é abrir o plástico e dar uma olhada no interior. Ou talvez você possa encontrar uma revisão preliminar do dispositivo, mas, novamente, os fabricantes podem fazer substituições nos circuitos internos, para que você nunca saiba. Desculpa. Lembre-se de que alguns teclados podem ter um hub embutido; portanto, eles falhariam em funcionar mesmo se você tivesse o último hub corretamente.
Ale..chenski 5/05
75

Seu hub USB de 10 portas (e outros dispositivos) pode conter vários hubs USB em série internamente.

Hub USB - Wikipedia

Os hubs USB geralmente são incorporados a equipamentos como computadores, teclados, monitores ou impressoras. Quando um dispositivo desse tipo possui muitas portas USB, geralmente todas são originadas de um ou dois hubs USB internos, em vez de cada porta possuir circuitos USB independentes.


Como afirmado, a especificação USB permite que 127 dispositivos sejam conectados através de uma única porta. No entanto, a especificação USB permite apenas hubs com cinco níveis de profundidade, ou sete, incluindo o dispositivo final e o dispositivo raiz (o próprio controlador integrado).

Uma introdução técnica ao USB 2.0 - USB.org (PDF)

Um novo hub anexado receberá seu endereço exclusivo, e os hubs poderão ter uma cascata de até cinco níveis.

Teste de interoperabilidade com USB tipo C - USB.org (PDF)

"Contém dispositivos com 5 níveis de hubs aninhados - o máximo permitido"

Steven
fonte
Esse é um design terrível. Por que não devemos ser autorizados a conectar quantos hubs quisermos? Parece muito fácil atingir esse limite de 5, pois a configuração do OP nem parece ser tão complicada.
JamEngulfer
9
Steven, você está confundindo o número de "camadas" (conexões) com o número de hubs. O número de hubs é limitado devido à restrição de tempo imposta no retorno do ACK / NAK / qualquer que seja. É indicado na Seção 4.1.1 das Especificações USB 2.0. O tempo de resposta deve ser limitado na topologia de rede half-duplex. Para obter uma explicação do raciocínio por trás desse limite, consulte superuser.com/a/1105099/620011
Ale..chenski
3
@ JamEngulfer, sim, o USB não é a melhor implementação do paradigma de rede. Mas não era para cobrir uma grande área de dispositivos, era para ser barato. Portanto, a limitação de custo levou a solução a half-duplex. Como tal, a resposta do protocolo não pode ser adiada, e o limite de tempo limite é curto, ditando limitações no tempo total de resposta, com repetidores de hub comendo a maior parte. Então aqui vem o limite.
Ale..chenski
Realmente não é tão ruim, 1 hub 4 dispositivos, 2 níveis de hub (5 hubs, mas apenas em 2 níveis) 16 dispositivos, 3 níveis de hub (21 hubs) 64 dispositivos, 4 níveis de hub (85 hubs) 256 dispositivos, agora é mais do que o imposto por outros limites no USB (limite de 127 dispositivos).
ttbek
20

Para adicionar alguns dados experimentais às outras respostas, seu problema está especificamente no Surface Book exatamente porque o Surface Dock possui dois hubs USB. Também tenho um Surface Dock com um Surface Book e é isso que vejo no Gerenciador de dispositivos quando conecto um mouse ao dock:

insira a descrição da imagem aqui

Os hubs destacados pertencem ao Surface Dock, verifiquei conectando o mouse diretamente a uma das portas na Surface Base.

Assim você tem:

  1. Doca de superfície - 2 hubs
  2. Monitor - pelo menos 1 hub
  3. Hub USB de 10 portas - pelo menos 2 hubs, pois, como mencionado em outras respostas, um hub pode ter no máximo 7 portas

Então, no mínimo, você tem 5 hubs. Provavelmente, o monitor possui mais de um hub, e é por isso que você está recebendo o erro.

Vasily Alexeev
fonte
O único hub que você está perdendo é o primeiro hub embutido no próprio computador, o "hub raiz".
Agent_L 4/17
5
@Agent_L o hub raiz não conta para o limite de 5 hub
Vasily Alexeev
@VasilyAlexeev A menos que você esteja usando um painel na frente, que às vezes adiciona um. Nem sempre embora
Mathijs Segers
4
@MathijsSegers então, por definição, não é um hub raiz, mas um hub normal, construído no gabinete do computador
Vasily Alexeev