为什么插入 3.0 与 2.0 设备时,Windows 10 会为同一个 USB 端口分配不同的端口号?

为什么插入 3.0 与 2.0 设备时,Windows 10 会为同一个 USB 端口分配不同的端口号?

如果我将 USB 2.0 存储设备插入 Windows 10 桌面的 3.0 端口之一,其描述符会显示它已插入Hub: 1 Port: 1 插入同一端口的每个 2.0 设备都会始终获得相同的集线器和端口号。

但是,插入 USB 3.0 设备时,端口号始终大于 10。因此,插入同一端口的 USB 3.0 设备将获得Hub: 1 Port: 16。我插入的所有 USB 3.0 设备都是如此。

为什么 USB 2.0 和 3.0 设备的端口号标识有区别?当 2.0 和 3.0 设备插入 USB 2.0 端口时没有区别。

我想到的一个原因是,为了启用 3.0 功能,使用了不同的控制器设置/电路,因此分配了不同的端口。

答案1

我想到的一个原因是,为了启用 3.0 功能,使用了不同的控制器设置/电路,因此分配了不同的端口。

是的,这在较旧的主板上很常见,其中相同的端口通过多路复用器 (mux) 连接到同时使用两个 USB 控制器– 例如,2.x 的 EHCI 控制器和 3.x 的 xHCI – 因此每个端口实际上是两个。当然,它们仍然一次只能路由到一个控制器,但在确定其速度后可以立即重新路由到另一个控制器。

如果将 Windows 设备管理器切换到“按连接查看”模式,您将看到设备甚至显示在设备树中的不同控制器下。

相关内容