了解与主板芯片组相关的 lsusb 输出

了解与主板芯片组相关的 lsusb 输出

我有一块主板英特尔H97芯片组。该芯片组支持最多 8 个 USB 2.0 端口和最多 6 个 USB 3.0 端口。根据主板手册,它的 I/O 面板上有两个 USB 2.0 端口和四个 USB 3.0 端口,其余 USB 端口可通过主板上的连接器使用。现在,无论我将 USB 设备连接到后 I/O 面板上的 USB 2.0 或 3.0 端口,还是主板上的 USB 接头连接器,这些设备总是出现在总线的根集线器下#2Mass Storage设备类型连接到主板 I/O 面板上的 USB 端口之一的示例:

# 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=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
    |__ Port 1: Dev 18, If 0, Class=Communications, Driver=cdc_ether, 480M
    |__ Port 1: Dev 18, If 1, Class=CDC Data, Driver=cdc_ether, 480M
    |__ Port 1: Dev 18, If 2, Class=Mass Storage, Driver=usb-storage, 480M
    |__ Port 12: Dev 27, If 0, Class=Mass Storage, Driver=usb-storage, 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
#

但是,巴士#1#3和 是什么#4?对于总线来说#4,似乎Linux Foundation 3.0 root hub连接了一种类型的设备:

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

对于总线#3#1似乎连接了 8 端口(8p在 的输出中lsusb -t)Intel USB 2.0 集线器 ( 8087:8001) 和 6 端口 Intel USB 3.0( 8087:8009) 集线器:

Bus 003 Device 002: ID 8087:8001 Intel Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8009 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

#3我不知道这是否是巧合,但英特尔总线集线器和英特尔总线集线器中的端口数量加起来为 14。这与芯片组文档以及for#1输出中看到的端口数量一致lsusb -t公共汽车#2

答案1

英特尔 H97 芯片组仍然提供旧的 EHCI USB 2.0 控制器实现,以便向后兼容不支持 USB 3 的旧操作系统(例如 Windows 7)。

如果操作系统仅支持 EHCI 和较旧的 USB 控制器类型,则主板可以(通过 BIOS 设置或自动)允许通过 EHCI 控制器访问所有 USB 端口,在这种情况下,USB 总线 #1 和 #3会被使用。 (在这种情况下,#2 和 #4 号巴士甚至不会出现。)

XHCI 控制器稍后仍可以通过附加驱动程序激活,并且将有一个特定的切换协议来将端口切换到它。

但是现代操作系统具有 XHCI 控制器的驱动程序,因此它将立即激活 XHCI 控制器,这显然会导致所有使用 USB 2 或更早速度的设备出现在总线 #2、总线 #1 和 #3 上(即通过 EHCI 控制器查看的相同 USB 端口)将未被使用。

总线 #4 仅适用于 USB 3 SuperSpeed 设备。它显示为单独的总线,因为它使用 USB 3 连接器中的额外电线。

要连接到总线 #4,您需要一个实际上具有 SuperSpeed(或更高)速度的 USB 3.0(或更高版本)设备,以及一条包含新 SuperSpeed 电线和连接器的电缆。

出于营销原因,任何实现 USB 3.0 规范中包含的一些 USB 协议改进的 USB 2.x 设备都可以合法地声称USB 3 支持。但要使用 4 号总线,您需要专门USB 3.0超高速支持

USB 3.1 和 3.2 规范通过追溯更改较旧 USB 3.x 设备的推荐标签,进一步混淆了命名:最初的 USB 3.0 SuperSpeed 现在也称为“USB 3.1 Gen 1”、“USB 3.2 Gen 1x1”和(当前首选名称)“SuperSpeed USB 5 Gbps”。

同样,USB 3.1 规范引入的新模式最初是“SuperSpeed+”,但也可以称为“USB 3.2 Gen 2x1”或(首选)“SuperSpeed USB 10 Gbps”。

相关内容