如果我将 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 设备管理器切换到“按连接查看”模式,您将看到设备甚至显示在设备树中的不同控制器下。