ASRock x570 Phantom TB3-ITX and Linux - "No bus number available for hot-added bridge"

Recently put together a new Linux SFF build with an ASRock x570 Phantom TB3 ITX. I chose this board for the Thunderbolt 3 support so I could run 10G networking via a Sonnet Solo10G SFP+.

Out of the box, the board came with BIOS 1.70 and the Sonnet Thunderbolt device was detected in Linux and I was able to authorize it but I got the following dmesg errors and the device was not usable:

No bus number available for hot-added bridge

I tried upgrading the BIOS to 2.0 but same problem. Then I started downgrading and got to BIOS 1.20 and the Sonnet began to work correctly so I’ve stayed there. However, I’d love to be able to take advantage of some of the improvements made in AGESA 1.0.0.3 ABBA - especially around calmer idle because right now I’ve disabled frequency boost as it makes my fans jump up and down to much.

Other than downgrading to an old BIOS (1.20), does anybody have any advice on how to get TB3 working on the ASRock x570 TB3/itx board in Linux? Any thoughts on what is causing the “No bus number available for hot-added bridge” errors and how I might resolve or at least further troubleshoot these? This is the first time I’ve dug into TB with Linux.

In case it matters, the ASRock X570 ITX/TB3 build is running Fedora 32 with kernel version 5.6.10.

Finally, the Sonnet is getting 10G speeds with BIOS 1.20 on the x570 tb3/itx and it works with other devices. I’ve tried it with two intel devices; a Macbook pro (MacOS 10.15.3) and a Lenovo X1E2 with Arch running Linux (5.6.9, 10, and 11) and it works at expected speeds on both so I’m sure the Sonnet is working as it should.

BIOS page for this MB

I was actually just looking into getting 10g networking on Ryzen ITX and this seemed to be the only option I could find as well. I wish I had a better solution here, but maybe just tune your fan profiles in EFI/BIOS to be less aggressive? I’m debating on going with an APU to avoid this problem, though I know that’s not ideal, and probably impossible in your case.

Hi,

I have been through what you have experienced. I was trying to get 10GBit networking via a THUNDER3 Dock Pro.
ASRock has been doing a lot of changes in the different BIOS versions. The latest working version with TB3 support is version 1.78.

You can download the BIOS Version 1.78 from here: https://download.asrock.com/BIOS/AM4/X570%20Phantom%20Gaming-ITXTB3(1.78)ROM.zip

I have tested countless BIOS versions together with the ASRock support to improve TB3 support under Linux, but every version after 1.78 has been broken, according to the ASRock support it is due to AGESA changes so we are out of luck until AMD updates AGESA, I guess. Their suggestion was also to just stick with 1.78.

I hope this gets you up and running as soon as possible.

1 Like

Thanks a lot, @spyfly! I’ll give 1.78 a shot but I’m curious why it’s not listed on the BIOS page linked above. All I see is 1.60, 1.70, and 2.0 - how did you find 1.78?

I see this is your first post, too. Welcome to the L1 forums and thanks a lot for making a reply to my question your first post! :+1:

I gave 1.78 a try but unfortunately my Thunderbolt device didn’t work. Again, it was detected and authorized in Linux, but wasn’t showing up as a network link device and wasn’t working as expected. However, I didn’t see the:

No bus number available for hot-added bridge

error in dmesg. I went ahead and flashed back to 1.20 and I’ll try to dig into 1.78 when I have some more time to explore.

1.78 was a Beta BIOS which has been listed before. After 1.90 and 2.00 came out it has been unlisted. I’ve also received some unreleased BIOS versions from the ASRock support for testing.

Have you reset your BIOS settings after flashing 1.78?

Also have you plugged in the SFP+ interface after powering on the PC? Afaik hotplugging is not working under Linux on this board.

I tried reinstalling 1.78 and resetting the BIOS - still no SFP+ interface over Thunderbolt. :frowning: I’ll try reaching out to ASRock as well. Thanks again for your help.

Hi folks.

I just hit this issue as well running on the Asrock X570 Gaming ITX, BIOS 2.00, while trying to attach a device with a Thunderbolt 3 PCIe bridge chip inside and running Ubuntu 20.04, kernel 5.6.7.

I solved it by adding the following parameters to the kernel config in grub.

pci=realloc,assign-busses,hpbussize=0x33
3 Likes

Thanks man, you won’t believe how happy I am that I can finally run the latest BIOS now.

This also seems to work under the default ubuntu 20.04 5.4 kernel aswell.

Now I just have to figure out why my Thunderbolt 3 Drive does not show up in the boot menu with the 2.00 BIOS.

This is fantastic @dkozel! Thanks for posting this - and your first post on L1 at that!

I wish I’d seen this earlier because I’ve been going back and forth with ASRock support and they decided to RMA my board (which was annoying because I was pretty sure it wasn’t a hardware issue). I got the RMA’d board the other day and was planning to do the swap this morning but saw this and decided to try it out first and it worked! Now I can just send this new board back and not tear down my entire machine. :smile:

I did have to reconfigure systemd-networkd afterwards because the Ethernet interfaces got new device names but it works great and the throughput is 10G as expected. :+1:

Out of curiosity, how did you come up with this solution? Also, what is the significance of 51 for the hpbusssize?

Thanks again.

Just wanted to say thanks as well. This really helped me out!

This topic was automatically closed 273 days after the last reply. New replies are no longer allowed.