Linuxの偽のUSBハブ

Linuxの偽のUSBハブ

デスクトップボードでUbuntu 18.04を使用すると、次のことができます。

$ lsusb -t
    /:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
    /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
        |__ Port 13: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 14: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 14: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
    /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
        |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
    /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
        |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M

マザーボードには正確に14個の物理USBコネクタがあり、これはBus 03.Port 1: Dev 1新しいUSBデバイス(USB 2.0メモリキーなど)と同じですBus 03

lsusb -tこのシステムのすべてのUSBデバイスを表示する必要があります。それから:

1)Bus 003マザーボード上のすべての物理USBコネクタを個別に覆うことができる場合、およびBus 001Bus 002何ですかBus 004

存在するこの回答、USBバスを扱うときは、次のように言います。

これらの一部または全部には、さまざまなUSB外部デバイスを接続するための外部ポートがあります。

これはいくつかのUSBバスでいいえ外部ポート。しかし:

2)内部(溶接など)デバイスが接続されておらず、外部デバイスも接続できない場合、これらの偽のバスの用途は何ですか?


編集する:これ(非常に便利です)答えはバス番号に関連しています。代わりに、私の記事では、Linuxカーネルが特定のUSBバスを一覧表示しますが、実際のバスと一致しない可能性について説明します。このバスはなぜ存在し、どのような用途に使用されますか?これは、単にバス番号付け規則を扱うのとは異なります。私もこれが一つのものだと固く信じています。ソフトウェア質問は、Linuxカーネルがどのようにハードウェアを表すのかということです。

ベストアンサー1

USB3規格はSuperSpeedモードと新しいケーブルとコネクタを提供します。 Bus 4は、USBケーブルで全く異なるワイヤセットを使用するSuperSpeedモードをサポートしています。したがって、Hi-Speedモードは既存のUSB配線と物理的に分離されているため、完全に別々のバスとして表示されるのが合理的です。

すると1番と2番のバスが出ます。デフォルトでは、USBキーボード、マウス、および/またはインストールメディアを使用してWindows 7を簡単にインストールできるように設計されています。 :-)

Windows 7(およびUSB3以前のオペレーティングシステム)には、XHCI USBコントローラドライバは組み込まれていません。したがって、以前のバージョンとの互換性機能により、システムにはEHCI USB2コントローラもあります。システムファームウェアは最初にEHCIコントローラのみを起動し、それをXHCIコントローラの代わりにUSB 2ラインに接続することを選択できます。これにより、オペレーティングシステムのインストーラは、キーボード、マウス、およびUSBストレージ用の従来の従来のEHCI USBドライバを使用して起動および実行できます。

適切なドライバがインストールされ、XHCIコントローラが起動すると、USB2サイドポートを制御できるハンドオーバープロトコルがあります。この時点でEHCIコントローラを完全に無効にできます。したがって、USBバス1と2は、それぞれのUSBポートを輝く新しいXHCIコントローラに引き渡す2つの安価な下位互換EHCIコントローラです。

両方のEHCIコントローラは2つのポートのみをサポートし、それぞれ8つと6つのポートをサポートする別々のルートハブオブジェクトに接続し、合計14のUSB2ポートを提供します。これは、単一のルートハブが処理するのとまったく同じ数です。バス3はXHCIコントローラの「遅い」側面です。

(USB 2がリリースされたとき、以前のバージョンとの互換性の問題を解決するための同様の解決策がありました。従来のUSB 1.1 UHCI / OHCIコントローラは、USB 2.0 EHCIコントローラと一緒に「同伴コントローラ」として長い間存在していました。オーバーは含まれていませんでしたので、2世代のUSBコントローラは長い間共存しており、指定者はレガシーEHCIコントローラから抜け出し、少し速くするための努力の一環としてUSB 3にハンドオーバープロトコルを含めました。

おすすめ記事