I got a brand new laptop, and for some reason my old USB-C hub doesn't connect.
It seems like it does get detected and recognized, as some outputs show the manufacturer etc. but it keeps connecting/disconnecting multiple times per sec, with these errors:
device not accepting address 13, error -71'
hub_ext_port_status failed (err = -71)
device descriptor read/64, error -71
unable to read config index 0 descriptor/all
can't read configurations, error -71
config failed, can't get hub status (err -5)
Failed to suspend device, error -19
This is the USB-C Hub in question: Ugreen 5-in-1 USB C HDMI Hub
Laptop: IdeaPad 5 Pro 14ACN6 (psref)
I suppose what's happening here is that, the port on this device is a USB-C 3.2 Gen 1, and not Thunderbolt port. It supports DisplayPort, but not HDMI, so what happens is that the device detects a hub with a HDMI and disconnects it, is that a possibility?
Ironically the device has a separate HDMI port.
I was under the impression that USB-C 3.2 will support USB Hubs with any display output - whether HDMI or DP. Or am I wrong, are HDMI USB Hubs only supported on Thunderbolt ports?
Additionally scanning through similar issues, some users reported that their USB Hubs with HDMI work on this exact device. Maybe it's only certain hubs/HDMI versions that USB-C 3.2 supports?
I tested this out on both a fresh Windows Home installation as well as Ubuntu.
Versions and dmidecode output
Ubuntu 22.04.2 LTS
5.19.0-40-generic
BIOS Information
Vendor: LENOVO
Version: GECN28WW(V1.12)
Release Date: 11/15/2021
BIOS Revision: 1.28
Firmware Revision: 1.28
Processor Information
Version: AMD Ryzen 7 5800U with Radeon Graphics
The two USB-C Ports on the device (one is the "charging" port without DP, another one supports both PD and DP)
Handle 0x000D, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J39
Internal Connector Type: None
External Reference Designator: USB 3.1 Type-C P0
External Connector Type: USB Type-C Receptacle
Port Type: USB
Handle 0x000E, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J43
Internal Connector Type: None
External Reference Designator: USB 3.1 Type-C P1
External Connector Type: USB Type-C Receptacle
Port Type: USB
Here's the output from dmesg
also
[42222.782293] usb 3-1: new high-speed USB device number 16 using xhci_hcd
[42222.936366] usb 3-1: New USB device found, idVendor=05e3, idProduct=0610, bcdDevice= 6.63
[42222.936375] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[42222.936379] usb 3-1: Product: USB2.1 Hub
[42222.936382] usb 3-1: Manufacturer: GenesysLogic
[42222.982757] hub 3-1:1.0: USB hub found
[42222.983246] hub 3-1:1.0: 4 ports detected
[42223.019071] usb 3-1: USB disconnect, device number 16
[42223.070972] usb 4-1: Device not responding to setup address.
[42223.286809] usb 4-1: Device not responding to setup address.
[42223.493910] usb 4-1: device not accepting address 11, error -71
[42223.698036] usb 4-1: new SuperSpeed USB device number 12 using xhci_hcd
[42223.728537] usb 4-1: New USB device found, idVendor=05e3, idProduct=0626, bcdDevice= 6.63
[42223.728547] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[42223.728550] usb 4-1: Product: USB3.1 Hub
[42223.728553] usb 4-1: Manufacturer: GenesysLogic
[42223.751840] hub 4-1:1.0: USB hub found
[42223.752657] hub 4-1:1.0: 4 ports detected
[42223.850113] usb 3-1: new high-speed USB device number 17 using xhci_hcd
[42223.866212] hub 4-1:1.0: hub_ext_port_status failed (err = -71)
[42223.873089] usb 4-1: USB disconnect, device number 12
[42223.874455] hub 4-1:1.0: hub_ext_port_status failed (err = -71)
[42224.670140] usb 3-1: device descriptor read/64, error -71
...
...
[42227.745991] usb 4-1: device not accepting address 13, error -71
...
...
[42228.122664] hub 4-1:1.0: hub_ext_port_status failed (err = -71)
[42228.129213] usb 4-1: USB disconnect, device number 14
[42228.131189] hub 4-1:1.0: hub_ext_port_status failed (err = -71)
[42228.714311] usb 3-1: device descriptor read/64, error -71
[42228.950239] usb 3-1: Device not responding to setup address.
[42229.157814] usb 3-1: Device not responding to setup address.
[42229.366344] usb 3-1: device not accepting address 19, error -71
[42229.701703] usb 3-1: new high-speed USB device number 20 using xhci_hcd
[42230.551882] usb 3-1: unable to read config index 0 descriptor/all
[42230.551893] usb 3-1: can't read configurations, error -71
lsusb output
Bus 004 Device 048: ID 05e3:0626 Genesys Logic, Inc. USB3.1 Hub
When doing lsusb
I had to actually "catch" the above line, as it mostly hangs and often doesn't output the Genesys hub that is (not) connected.
I also looked into /sys/bus/usb/devices
me@me:/sys/bus/usb/devices$ for d in */; do [ -f "$d/product" ] && cat $d/product; done
USB Receiver
Logitech
Integrated Camera
Chicony Electronics Co.,Ltd.
USB2.1 Hub
GenesysLogic
Wireless_Device
MediaTek Inc.
xHCI Host Controller
Linux 5.19.0-40-generic xhci-hcd
xHCI Host Controller
Linux 5.19.0-40-generic xhci-hcd
xHCI Host Controller
Linux 5.19.0-40-generic xhci-hcd
xHCI Host Controller
Linux 5.19.0-40-generic xhci-hcd
It seems again the USB3.1 Hub is detected, but the above cat
hangs and I had to run it multiple times in order to catch the output.