「lsusb」の出力を解釈する方法—これらのLinux Foundationルートハブとは何ですか?


18

私は最近、ヘッドセットの問題のトラブルシューティング中にlsusbコマンドについて知りました。

私のラップトップはdebianを実行しており、現在USBに何も接続されていませんが、「lsusb」コマンドを実行すると、まだかなりの出力が得られます。

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

誰かがこれが意味することをより詳細に分類できますか?

SanDiskカードは、USBではなくPCMCIAを介して接続されます。PCカードとUSBデバイスの両方がlsusbにリストされていますか?

外部Bluetoothが接続されていないのに、なぜ表示されるのですか?

一部のルートハブは1.1で、2.0はなぜですか?USBポートの一部は2.0であり、他のUSBポートは2.0ではないということですか?

まさに空のUSBポートであるルートハブとは何ですか?

回答:


7

USBハブは、1つのUSBポートに差し込むコードが1つありますが、デバイスを差し込むための複数のUSBポートを提供するデバイスです。基本的にはUSBマルチプレクサーです。

AFAIKというルートハブは、内部にあるUSBハブです。たとえば、マザーボードにはUSBスロットが1つしかありませんが、マザーボードにプラグインされた内部ルートハブがあるため、複数の外部ポートがあります。(もちろん、これは単純化されています。ハードウェアの専門家ではありません。)

Bluetoothデバイスは、Bluetooth無線トラフィックを実際にブロードキャストするコンピューター内部のチップです。おそらく、コンピュータのケース内のUSBポートを介して配線されています。

「Linux Foundation」の表示に関して、私が推測するのは、そこからドライバーが生まれたということです。確信はないけど。


1
多くのデバイスはUSBデバイスとして配線されていますが、コンピューターの外部にあるようなポートの意味で「ポート」に接続されていません。USBによって論理的に接続されているだけです(たとえば、デバイスとUSBハブ間のパスは、Raspberry Piの有線ネットワークポートなど、システムのマザーボード上に直接ある場合があります)。標準のUSBポートに接続したように機能しますが、もちろん取り外すことはできません。
ジムマッケンジー

21

「ルートハブ」は偽のデバイスであり、バス自体を表します。どのバス上にある場合でも、デバイス番号は常に1です。「メーカー」は常に「Linux Foundation」の1d6bですが、私が知る限り、それは単にツリーの「ブランチ」の「ルート」を作成することです(lsusb -tからわかるように、ワーグナー)。バスの性質(バージョン1.1、2.0、3.0)はデバイスID(0001、0002、0003)に反映されます。

(微妙な点-実際には物理デバイスである「USBホストコントローラー」がありますが、それ自体はUSBデバイスではありません!通常はPCIデバイスです。たとえば、私のマシンには2つのUSBバスと2つのUSBバスがあります。 USBホストコントローラーはlspciコマンドで表示されます。LinuxFoundationではなくIntelで作成されています。「USBルートハブ」は物理PCIデバイスを表します。 USBではなくPCI識別子。http://www.usblyzer.com/usb-topology.htm

SanDiskデバイスは、PCMCIAスロットとして外部に表示される場合がありますが(内部的にはUSBバス001に接続されています)(バス自体がDevice 001であるため、Device 002とラベル付けされています)。

同様に、ブルートゥースデバイスは内部にあり(問題が指摘されているように)、USBバス(この場合はBus 004(USB 1.1(低速)バス))に接続されています。Bluetoothは比較的低速なので、これは理にかなっています。同じバス上に、再び低速の指紋スキャナーであるAuthenTecデバイスがあります。

したがって、この出力は、3つのデバイスが接続された8つの(!)組み込みUSBバスがあることを示しています。また、2つの高速USBバスと6つの低速USBバスがあります。これらの一部またはすべてには、さまざまなUSB外部デバイスを接続するための外部ポートがあります。デバイスを接続し、lsusbを再度実行して、どのポートがどのバスに接続されているかを確認できます。


1
PS-MS Windowsも、USBルートハブのPCI識別子を使用して、この質問をonしているようです。良い解決策はないと思うので、「Linux Foundation」の方が合理的です。MSWソリューションは、実際のUSBデバイスIDと競合するリスクがありますが、PCIレジストリで検索できるという利点があります。(IntelはUSBとPCIの両方のベンダーIDが8086であることが判明しています。)
ジョンF 14

7

これをチェックして

lsusb -t

-t物理USBデバイス階層をツリーとしてダンプします

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.