4

I recently configured my new PC with Ubuntu 20.04.3 LTS. The PC has an ASUS ProArt B550-Creator motherboard with an AMD 5700G CPU. I selected this motherboard because it features 2 Thunderbolt 4 ports. The boot process takes a very long time (nearly 2 minutes!) and I noticed several error messages in the boot log that may have to do with this:

[   21.554202] thunderbolt 0000:05:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0008 address=0xc5c9e400 flags=0x0020]
[   42.034409] thunderbolt 0000:05:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0008 address=0xc5c9e500 flags=0x0020]
[   62.514241] thunderbolt 0000:05:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0008 address=0xc5c9e600 flags=0x0020]
[   82.990546] thunderbolt 0000:05:00.0: failed to send driver ready to ICM
[   82.990943] thunderbolt: probe of 0000:05:00.0 failed with error -110

To check if this is a hardware problem, I also configured this PC to boot Windows 10, but then the PC boots in just 10 seconds without any errors, so it must be a Ubuntu problem I think. Can someone advice me on tracking down this problem ?

EDIT: Following suggestions from @galexite I disabled 'Fast Boot' and booted with iommu=soft and iommu=off. Both options resulted in the [IO_PAGE_FAULT...] lines to be replaced with [ 82.990461] thunderbolt 0000:05:00.0: failed to send driver ready to ICM [ 82.990774] thunderbolt: probe of 0000:05:00.0 failed with error -110 . (and boot time increased even more, in case of iommu=off by another 9 seconds...)

willemx
  • 141

2 Answers2

3

I've been running into the same issue, with the same motherboard. The only thing that worked for me so far was disabling Thunderbolt support in the UEFI, which is a setting that I've only managed to find through the search function (F9).

Once disabled, the boot time immediately improved tenfold. Unfortunately, it seems that this completely disables both Thunderbolt ports on the motherboard, and I've not been able to use them as regular USB-C ports either.

I hope that this helps, though it's obviously not an actual fix, but rather a workaround if you don't specifically need these ports.

If I somehow get them working with Thunderbolt support enabled, I'll be sure to provide an update here.

4A4E53
  • 31
3

For those, who are still interested, I've found some crutches to live with this problem.

  1. Have some thunderbolt device connected to PC while it's loading. It helped in my case of external gpu. (but created some other errors not related to thunderbolt, lol)
  2. Alternative. Just blacklist 'thunderbolt' kernel module for system startup. In that case you will still be able to use thunderbolt ports both as usb ports and pci-passthrough ports (i was able to use external gpu). Just do something like: sudo bash -c "echo blacklist thunderbolt > /etc/modprobe.d/blacklist-thunderbolt.conf" and also do not forget to update initramfs image sudo update-initramfs -uk all Than reboot. If it doesn't work this way, you may try to also enable force power-on state on thunderbolt chip sudo bash -c "echo 1 > /sys/bus/wmi/devices/86CCFD48-205E-4A77-9C48-2021CBEDE341/force_power"
  3. Some strange voodoo stuff. You can delete thunderbolt kernel module only from initramfs image. In that case the boot will not be delayed by these errors, (they will still appear in background, but will not interfere with your GUI). The magic here is that only in this case I was able to reload thunderbolt kernel module so that it would normally work on device connect. So you will have to create hook script that deletes thunderbolt.ko file when initrams image is created. echo $'#!/bin/sh\nfind ${DESTDIR} -name thunderbolt.ko -delete' | sudo tee /etc/initramfs-tools/hooks/handle_thunderbolt than make it executable sudo chmod a+x /etc/initramfs-tools/hooks/handle_thunderbolt and again do not forget to update initramfs image sudo update-initramfs -uk all Than again reboot. So only in this case I was able to load thunderbolt module without errors. The actions was like: connect device, remove module sudo modprobe -r thunderbolt, load module again sudo modprobe thunderbolt. Those, who are interested, are welcome to explain what is happening or investigate further.
IOpuc
  • 31