I have this fantastic setup where my desktop PC is thunderbolted away to the next door room through a wall so I have a completely silent system. Trouble is, I can’t get my dock working in openSUSE Tumbleweed despite it being connected and authorized, and I suspect it might have something to do with the motherboard and BIOS (v2.30) based upon this thread:
[thisforumrootaddress]/t/asrock-x570-phantom-tb3-itx-and-linux-no-bus-number-available-for-hot-added-bridge/156951
I have the same message in ‘dmesg’ – “No bus number available for hot added bridge” – even with the newest BIOS, and the other solutions in the thread don’t work for me (not even BIOS v1.20). However, with other versions (I think v1.20 and 1.78, although I forget whether it was with the kernel parameters or not) I get something different in ‘dmesg’ (thunderbolt device gets disconnected after something fails) albeit the same end result.
The dock works fine on Windows 10, although I’ve yet to test display since I don’t have a DP cable (it’s on its way) to connect to the motherboard input and GPU. I’ve even tried to install the thunderbolt utility ASRock provides on their download page and install it using wine with ‘msiexec’, but that was a dead end.
Anyway, any help debugging and hopefully getting this to work would be greatly appreciated. I’ve already contacted Belkin themselves who would get back to me with more competent people apparently.
Thunderbolt is still a mess in the *nix world because Intel is dragging their feet. @Wendell has been able to get thunderbolt working on AMD stuff with quite a few hacks and particular sets of hardware.
USB4 seems to be getting work done in the Linux kernel since it is an open standard so you will more than likely have to wait until that official release before you even see any real work on Thunderbolt 3 in the *nix world.
If you really want docked GNU/Linux action right now, you are going to need to go with a USB3 dock instead.
Based on your dmesg output, it looks like that dock is registering multiple devices so you may try passing larger numbers to hpbussize which is used to set the minimum amount of additional bus numbers reserved for buses below a hotplug bridge. Default is 1 (kernel-parameters)
You might also try increasing the bus space memory available to something likehpmmiosize=128M,hpmmioprefsize=512M - the default for each of those is 2MB so the values in my example may be a bit excessive so play around with it to see if more memory helps.
I played around with the settings, but to no avail. Then I visited your link to kernel-parameters and realized I had made a very stupid assumption that kernel options on openSUSE weren’t comma separated, but space separated. However, as your link makes very clear, you’re only adding one parameter which contains several comma separated options. I then tried it again with the correct formatting, and now it works!
Now the only thing left for me is to figure out why the DP ports don’t appear to be working. I have a small display which can be connected through an HDMI to miniHDMI cable. If I add a small DP to HDMI adapter directly from the GPU, I get display output. However, if I try that same adapter and cable with the dock, I get no output (I have a DP cable going from the GPU to the motherboard’s DP IN port). Connecting through USB-C doesn’t work either. There’s an HDMI port on the motherboard too, but I assume (haven’t checked at this moment) that’s just display output for an APU.
Maybe I should make a new thread about that once I’ve experimented a bit?
EDIT: I did a very interesting experiment regarding the display issue. See the result in another thread I made on the topic: t/odd-incompatibility-between-portable-usb-c-monitor-and-thunderbolt-3/162190
Regardless, thank you so much for the help. I wouldn’t have discovered my faulty assumption if you hadn’t come with the suggestions you did.