![Linux 上的 VL813 USB 集线器出现神秘错误?](https://linux22.com/image/217684/Linux%20%E4%B8%8A%E7%9A%84%20VL813%20USB%20%E9%9B%86%E7%BA%BF%E5%99%A8%E5%87%BA%E7%8E%B0%E7%A5%9E%E7%A7%98%E9%94%99%E8%AF%AF%EF%BC%9F.png)
我正在运行带有 7 端口外部 USB 集线器的 Ubuntu 22.04。该盒子被实现为两个 4 端口 Via VL813 集线器。
在 lsusb 的 Linux 端,这看起来像
Bus 004 Device 009: ID 2109:0813 VIA Labs, Inc. VL813 Hub
Bus 004 Device 008: ID 2109:0813 VIA Labs, Inc. VL813 Hub
Bus 003 Device 060: ID 2109:2813 VIA Labs, Inc. VL813 Hub
Bus 003 Device 026: ID 2109:2813 VIA Labs, Inc. VL813 Hub
每个 VL813 中实际上有两个芯片,总线 004 上的 0813 处理 USB 3,总线 003 上的 2813 处理 USB 2。
对于总线 4 lsusb -t 显示
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
|__ Port 6: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
|__ Port 1: Dev 3, If 0, Class=Hub, Driver=hub/4p, 5000M
显示了两个 4 端口芯片的嵌套以实现 7 端口外接盒。
好吧,这终于是谜团了,系统日志显示连续的消息
Mar 5 12:01:52 orac kernel: [2068420.628891] usb 4-6.1: Disable of device-initiated U1 failed.
Mar 5 12:01:52 orac kernel: [2068420.633615] usb 4-6.1: Disable of device-initiated U2 failed.
Mar 5 12:01:52 orac kernel: [2068420.875834] usb 4-6.1: reset SuperSpeed USB device number 3 using xhci_hcd
Mar 5 12:02:38 orac kernel: [2068466.757899] usb 4-6.1: Disable of device-initiated U1 failed.
Mar 5 12:02:38 orac kernel: [2068466.762412] usb 4-6.1: Disable of device-initiated U2 failed.
Mar 5 12:02:39 orac kernel: [2068467.004831] usb 4-6.1: reset SuperSpeed USB device number 3 using xhci_hcd
这是没有连接到外部盒子上的端口的情况。
除了每隔几天系统日志中的所有消息外,所有 USB 设备都会挂起,即使是那些与外部设备无关的设备。您可以在最后一次挂起时看到这一点,其中 xhci_hcd 驱动程序在 USB 4-6.1 消息发出后 6 秒后关闭,没有任何干预。
Mar 4 21:55:34 orac kernel: [2017642.022271] usb 4-6: Disable of device-initiated U1 failed.
Mar 4 21:55:34 orac kernel: [2017642.025784] usb 4-6: Disable of device-initiated U2 failed.
Mar 4 21:55:40 orac kernel: [2017647.323348] xhci_hcd 0000:00:14.0: ERROR mismatched command completion event
Mar 4 21:55:40 orac kernel: [2017647.323358] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
Mar 4 21:55:40 orac kernel: [2017647.579344] xhci_hcd 0000:00:14.0: xHCI host not responding to stop endpoint command.
Mar 4 21:55:40 orac kernel: [2017647.579350] xhci_hcd 0000:00:14.0: USBSTS: 0x00000000
Mar 4 21:55:40 orac kernel: [2017647.579354] xhci_hcd 0000:00:14.0: xHCI host controller not responding, assume dead
Mar 4 21:55:40 orac kernel: [2017647.579375] xhci_hcd 0000:00:14.0: Timeout while waiting for stop endpoint command
Mar 4 21:55:40 orac kernel: [2017647.579399] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
Mar 4 21:55:40 orac kernel: [2017647.579409] xhci_hcd 0000:00:14.0: HC died; cleaning up
由于键盘(甚至不在盒子上)已失效,我必须通过网络登录并取消绑定并重新绑定 xhci_hcd 驱动程序以恢复 USB。所以我怀疑这与不断发生的4号公交车投诉有关。
我不确定是 USB 集线器盒还是 Linux 中的某个东西出了问题。
有想法吗?