Ubuntu boot delayed by ~30s due to non-functional RTX2060 USB controller

Hello,

I’m running Ubuntu on a machine with a Gigabyte RTX2060 OC (GeForce RTX™ 2060 OC 6G (rev. 2.0) Key Features | Graphics Card - GIGABYTE Global). An important note: this card does not have a USB-C output.

During boot, I see the following sets of messages emitted by the kernel:

[ 0.132667] kernel: pci 0000:07:00.1: Linked as a consumer to 0000:07:00.0
[ 5.882727] kernel: pci 0000:07:00.2: xHCI HW not ready after 5 sec (HC bug?) status = 0x801
[ 5.882781] kernel: pci 0000:07:00.2: quirk_usb_early_handoff+0x0/0x6a6 took 5615333 usecs

and

[ 10.308690] kernel: usb 1-7: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 34.654721] kernel: xhci_hcd 0000:07:00.2: can't setup: -110
[ 34.654730] kernel: xhci_hcd 0000:07:00.2: USB bus 3 deregistered
[ 34.654769] kernel: xhci_hcd 0000:07:00.2: init 0000:07:00.2 fail, -110
[ 34.654771] kernel: xhci_hcd: probe of 0000:07:00.2 failed with error -110

So as you can see, the kernel not being able to communicate with this USB controller is leading to a ~5s delay early in boot, and then another ~24s delay later on. I can confirm that the problematic device is the USB controller on the GPU:

$ lspci -k -s 0000:07:00
07:00.0 VGA compatible controller: NVIDIA Corporation TU106 [GeForce RTX 2060 Rev. A] (rev a1)
 Subsystem: Gigabyte Technology Co., Ltd TU106
 Kernel driver in use: nvidia
 Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
07:00.1 Audio device: NVIDIA Corporation TU106 High Definition Audio Controller (rev a1)
 Subsystem: Gigabyte Technology Co., Ltd TU106 High Definition Audio Controller
 Kernel driver in use: snd_hda_intel
 Kernel modules: snd_hda_intel
07:00.2 USB controller: NVIDIA Corporation TU106 USB 3.1 Host Controller (rev a1)
 Subsystem: Gigabyte Technology Co., Ltd TU106 USB 3.1 Host Controller
07:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU106 USB Type-C Port Policy Controller (rev a1)
 Subsystem: Gigabyte Technology Co., Ltd TU106 USB Type-C Port Policy Controller
 Kernel driver in use: nvidia-gpu
 Kernel modules: i2c_nvidia_gpu

Can anyone suggest what I might do to address the problem?

(My original Ubuntu bug report can be found here: Bug #1830905 “Nvidia RTX 2060 USB bus timeouts cause ~30s delay ...” : Bugs : linux package : Ubuntu)

Thanks!

Dan

Hey folks, is there any further information I can add to this post to make some headway?

Info should be sufficient. I don’t think nvidia can do anything about it, though. The USB controller is handled by a standard kernel driver and it looks like Gigabyte built some broken device there. Did you check if a vbios update is available from Gigabyte? Did you check if it properly works in Windows?

Hi generix, thanks for the response!

Gigabyte aren’t the only card vendor to exclude the USB-C port on their 2060, and the USB controller does report as “NVIDIA Corporation TU106 USB 3.1 Host Controller”, so I figured there might be something that NVIDIA could do. I totally accept that it might be a Gigabyte-specific problem, though, for sure!

I couldn’t find anything, but I’m not sure what the appropriate way of checking for this would be; do you have any advice as to where to look?

I don’t see a boot delay in Windows, but I don’t know enough about Windows’ internals to find out anything more.

In Windows, open the device manager and look for the USB host controller, then check its state.
On the product page you linked to, ->Support, there’s a new vbios available. At least for rev.2 of the card. Looks like the revisions can be told apart by the location of the display connectors.
I also checked the logs of a Zotac RTX 2060 without USB-C connector and on that card, there were no problems in regard to the USB controllers.

Applying the new vbios has fixed the problem! Thanks so much for your assistance, generix!

(For completeness: there was an error in the Device Manager state, which also went away once the new vbios was installed.)

Same problem here, but with a Gainward rtx2060. Gainward has no vbios update. Any solution?