How do you handle Thunderbolt?

Hello,

I bought a new laptop and I have been struggling with getting Qubes going with the Thunderbolt dock. I finally managed to get the dock working, but only if I plug the dock in to the laptop after booting in to Qubes. If it’s connected at boot, the input (mouse and keyboard) periodically freezes (every few seconds).

I might be able to live with the requirement to plug in the dock after it starts, but I realized that I’ve been labouring under a misapprehension about how Qubes works. I mean I know this is how it works but I guess it just didn’t click.

My success criteria is that I need to use the three monitors on my desk, and my external mouse and keyboard. With plugging the dock in after the machine starts, that is working, as long as I don’t have a USB Qube. Maybe it would also work if I had a USB Qube but kept the Thunderbolt port owned by dom0, I haven’t tried that.

But the dock also has an ethernet port on it which I would also like to use. But this is a bit of a quandary, because the network adapters have to be owned by sys-net, and this means that the monitors, mouse, and keyboard won’t work because they’re all attached to the same dock. I know you can merge sys-net and sys-usb … but when I tried using sys-usb at all I had much bigger problems with the laptop - instead of input freezing for a few seconds, it would freeze forever.

I have a USB ethernet adapter that I could use. At this time ethernet is the only way I can get a network on the laptop as the WiFi is not working. I think I can probably fix that as it’s an AX211 and I’ve seen other people in the forums have gotten those to work.

But even if my dock worked perfectly, if I used sys-usb with the Thunderbolt dock, the displays attached to the dock would be owned by sys-usb and does that mean I couldn’t use them?

So how do you Qubes users of culture use Thunderbolt? Do you run two docks, one for the displays, owned by dom0, and one for everything else, owned by sys-usb?

Maybe it’s some hardware-specific problem. What’s your hardware (laptop and dock)?

Are both the laptop and dock support Thunderbolt?
If you have Thunderbolt dock station but USB-C laptop ports then it’ll be connected as USB device.

In case of Thunderbolt connection, the network adapter in the dock will be connected to your dom0 as PCI device and you’ll be able to attach it to sys-net directly, it won’t be connected as USB device to sys-usb.
And the monitors will be connected using Thunderbolt to your GPU directly and not to sys-usb as well.

AX211 should work with kernel-latest and latest firmware.
If you use debian template then you may need to manually download the required firmware files and place them in the template because firmware package in the debian is quite old.

I shipped it all back to Lenovo yesterday because I couldn’t make it work, but what I had was:

Lenovo P14s Gen 5
ThinkPad Thunderbolt 4 Workstation Dock

The laptop definitely supported Thunderbolt, but I had insurmountable problems if I connected the dock before booting the machine, so I was connecting it after Qubes had already started. Maybe that also impacted how it connected (USB vs Thunderbolt)? I don’t know.

I wrote a thread here that has some detail of my experiences. HCL - Lenovo P14s Gen 5 (21ME001LUS) - #3 by danny

As far as the AX211 NIC goes, I know in theory the card should work, but I had the exact problem described here. QCNFA765 (wcn6855) WiFi6 controller not working - #9 by Jakob Since that thread is 2 years old with no solution posted I figured I would not get anywhere in the time remaining before my return window closed.

Thanks for responding. I’ve always used desktops and I am pretty ignorant of laptop technology like Thunderbolt. When I bought the laptop I thought Thunderbolt was its own thing separate from USB, which would align with what you’ve just described, but after I had these problems I came across articles saying it is more or less just the Intel-branded version of USB4, so I thought sys-usb must be in play. That seemed to jibe with my experience because if I turned on sys-usb during the install, then the machine would completely stop accepting input early in the boot process and that didn’t happen if I installed without sys-usb.

I think what I said was maybe a bit ambiguous, so let me sum up.

I was installing Qubes with kernel-latest and adding module_blacklist=ucsi_acpi. Without that argument added to the kernel command line, the installer would not even run.

With that kernel command-line argument, the install worked. If during Qubes setup I enabled sys-usb, the following would happen: Shortly after starting Qubes, it would completely stop accepting all input, including from the built-in mouse and keyboard, which otherwise was working. I had no idea why it was doing this, until I was slow to enter the full disk encryption password one time. As I was typing the password, the kernel printed a message “disabling IRQ #118” (or 119, don’t remember for sure) and I couldn’t type the rest of the password. I realized then that this IRQ being disabled is what was killing the ability of the laptop to take input. The same thing must have been happening on every boot, but since I was in the GUI by that time I was not able to see that disabling IRQ message.

I did some internet searching and thought maybe Thunderbolt is a USB technology. So I installed again, this time disabling the option to use sys-usb. This time it worked better, but it was still terrible. What would happen was that, if I booted with the Thunderbolt dock connected, every few seconds the laptop would completely stop taking input. That would last for several seconds, then it would start taking input again for a few seconds. It kept cycling back and forth between accepting input and not accepting input forever. I would have only a few seconds of the laptop taking input before having to wait for a long period of no input.

Finally, the last thing I tried was booting the laptop without the Thunderbolt dock plugged in. I only plugged it in after I logged in to Qubes. Once I did that, the light on the laptop flashed after a few seconds and all my displays lit up. And the input from the mouse and keyboard seemed to be working perfectly. I did still experience one crash, so maybe it was not perfectly stable, I don’t know. I didn’t run it long while it was like this.

Even when the external monitors, mouse, and keyboard were working, the NIC on the laptop didn’t show up. At least, I think it did not. I may not have investigated this enough. It may be that it showed up as a PCI device that I just had to provide to sys-net. I am not sure about that. I didn’t check this because at this time I thought Thunderbolt was just rebranded USB.

Finally, at no point during my experimentation with the laptop did the AX211 card work at all. There were messages like “failed to power up MHI” in the log and a message in dom0 like unsupported power mode 7. Those are the same symptoms as on that thread I linked. So I gave up, because even if it was working at my desk there’s no reason to buy a laptop if I can’t take it away from my desk when I need to.

It looks it doesn’t matter anymore, because now it’s about theorizing.

1 Like