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
  • Can you try booting with iommu=soft or even iommu=off? You can try this by pressing e on the Ubuntu entry in grub, moving your keyboard cursor using the arrow keys to the end of the line which says 'quiet splash', and adding it there. – galexite Sep 26 '21 at 17:48
  • Also, is 'Fast Boot' enabled in your BIOS settings? It should be disabled to boot Ubuntu. – galexite Sep 26 '21 at 17:49
  • Update UEFI and try the suggestions above. – ChanganAuto Nov 30 '21 at 22:13
  • @ChanganAuto: UEFI is already at latest version. – willemx Dec 02 '21 at 08:07
  • 1
    I have exactly the same problem with Ubuntu 22.04 and the ASUS ProArt B550-Creator motherboard. I am using dual boot with Windows. Had to completely disable thunderbolt in the BIOS to start Ubuntu in a reasonable amount of time. However, this also disabled it in Windows :( Does anyone have a better solution? – icezyclon Jul 01 '22 at 10:46

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
  • Please read the comments under the question. – ChanganAuto Nov 30 '21 at 22:13
  • @user1548059: I disabled Thunderbolt and now the boot time is down to a few seconds; thanks for the F9 tip. Sadly, I selected this board specifically for the Thunderbolt ports... – willemx Dec 02 '21 at 08:18
  • @ChanganAuto, though OP pointed out their board is at the latest UEFI version, I'll give it a shot myself. I had also opened a thread on the level1techs forum and someone suggested checking if there's a setting to prevent the controller from sleeping.

    Otherwise, checking if changing the authorization level does anything or enabling SVM.

    Props to FurryJackman for the pointers, I'll be messing about with this during the weekend and report back.

    Level1Techs Forum Post for reference: https://forum.level1techs.com/t/ubuntu-pop-os-asus-proart-b550-creator-thunderbolt-4-issue/178967

    – 4A4E53 Dec 02 '21 at 22:19
  • I had the same problem. I disabled thunderbolt support in UEFI as you said and boot is fast now + I still able to use those ports as USB-C (I connected usb hub with mouse and keyboard to it and they work fine). – Divelix Mar 02 '23 at 08:05
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