Como interpretar a saída de 'lsusb' - Quais são todos esses hubs raiz do Linux Foundation?

18

Recentemente, descobri o comando lsusb enquanto solucionava um problema no fone de ouvido.

Meu laptop roda o debian e não tem nada conectado ao USB atualmente, mas quando executo o comando "lsusb", ainda recebo bastante saída:

root@t500:~# lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 003: ID 0a5c:2145 Broadcom Corp. Bluetooth with Enhanced Data Rate II
Bus 004 Device 002: ID 08ff:2810 AuthenTec, Inc. AES2810
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0781:b6d0 SanDisk Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Alguém poderia explicar o que isso significa com mais detalhes?

O cartão SanDisk está conectado via PCMCIA, não por USB. As placas de PC e os dispositivos USB estão listados em lsusb?

Não tenho nenhum bluetooth externo conectado, por que essa tela?

Por que alguns hubs raiz são 1.1 e outros 2.0? Isso significa que algumas das minhas portas USB são 2.0 e outras não?

O que é exatamente um hub raiz, apenas uma porta USB vazia?

some1
fonte

Respostas:

7

Um hub USB é um dispositivo que possui um cabo que se conecta a uma porta USB, mas fornece várias portas USB para você conectar dispositivos. É essencialmente um multiplexador USB.

Um hub raiz, AFAIK, é um hub USB interno. Por exemplo, pode haver apenas um slot USB na placa-mãe, mas existem várias portas externas porque há um hub raiz interno conectado à placa-mãe. (Isso é simplificado, é claro. Eu não sou especialista em hardware.)

O dispositivo Bluetooth é o chip dentro do seu computador que realmente transmite o tráfego de rádio Bluetooth. Provavelmente, é conectado através de uma porta USB dentro do gabinete do computador.

Com relação à exibição da "Linux Foundation", meu palpite é que é daí que os drivers vêm. Mas eu não tenho certeza.

strugee
fonte
11
Muitos dispositivos são conectados como dispositivos USB, mas não estão conectados a uma "porta" no sentido de uma porta como a que temos na parte externa do computador. Eles são conectados logicamente apenas por USB (por exemplo, os caminhos entre o dispositivo e o hub USB podem estar diretamente na placa-mãe do sistema, como a porta de rede com fio do Raspberry Pi). Eles funcionam exatamente como estão conectados às portas USB padrão, mas é claro que não podem ser removidos.
Jim MacKenzie
21

O "hub raiz" é um dispositivo falso e representa o próprio barramento. Ele sempre tem um número de dispositivo 1 em qualquer barramento em que estiver sentado. O "fabricante" é sempre 1d6b, a "Linux Foundation", mas até onde eu sei, isso é apenas para criar uma "raiz" para os "galhos" da árvore (como você verá em lsusb -t, conforme sugerido por Wagner). A natureza do barramento (versão 1.1, 2.0, 3.0) é refletida no ID do dispositivo (0001, 0002, 0003).

(Um ponto sutil - na verdade, existe um "USB Host Controller" que é um dispositivo físico - mas NÃO é um dispositivo USB! Normalmente é um dispositivo PCI. Por exemplo, na minha máquina, tenho dois barramentos USB e dois Controladores host USB visíveis pelo comando lspci. Eles são fabricados pela Intel, não pela Linux Foundation. Um "hub raiz USB" representa o dispositivo PCI físico. Acredito que toda a coisa "Linux Foundation" tenha surgido porque o dispositivo físico Identificadores PCI, não USB, http://www.usblyzer.com/usb-topology.htm )

O dispositivo SanDisk pode se apresentar ao mundo externo como um slot PCMCIA (eu acho), mas internamente está conectado ao USB Bus 001. (Mais uma vez, é rotulado como Dispositivo 002 porque o próprio barramento é o Dispositivo 001.)

Da mesma forma, o dispositivo Bluetooth é interno (como observado pela vítima) e novamente é conectado a um barramento USB, neste caso o Bus 004, que é um barramento USB 1.1 (baixa velocidade). Isso faz sentido, já que o Bluetooth tem velocidade relativamente baixa. No mesmo barramento está o dispositivo AuthenTec, que é um scanner de impressões digitais, novamente em baixa velocidade.

Portanto, essa saída indica que você possui oito (!) Barramentos USB integrados, com três dispositivos conectados a eles. E você tem dois barramentos USB de alta velocidade e seis barramentos de baixa velocidade. Alguns ou todos eles podem ter portas externas para conectar vários dispositivos externos USB. Você pode tentar conectar um dispositivo e executar o lsusb novamente para ver qual porta está conectada a qual barramento.

John F
fonte
11
PS - parece que o MS Windows também trai esta questão, usando os identificadores PCI para os Hubs Raiz USB. Suponho que não há uma boa solução, portanto a "Linux Foundation" é razoável. A solução MSW corre o risco de entrar em conflito com um ID de dispositivo USB real, oferecendo a vantagem de poder procurá-lo no registro PCI. (Acontece que a Intel tem uma ID do fornecedor de 8086, tanto para USB e PCI.)
John F
7

verifique isso

lsusb -t

-t Despeja a hierarquia física do dispositivo USB como uma árvore

Wagner
fonte