Necessity to set the devices list with every reboot


A while ago, I faced an issue where the system was crashing right after user login. It turned out that sometimes ‘sys-net’ or ‘sys-usb’, which were set to boot up automatically, had access to the VGA driver causing the system to crash. As a workaround, I disabled the autoboot for these qubes. However, every time I boot up, I still have to remove randomly picked devices and assign the appropriate ones. I’ve attached screenshots for your reference.

Another issue I’ve noticed is that sometimes the system detects three network-related devices, and at other times, only two (as you can see in the second and third screenshots).

How can I resolve this? I’m using a ThinkPad P14s with the latest BIOS (I’ve updated the BIOS twice since installing Qube OS).

sys-net devices BEFORE manual change:

sys-net devices AFTER manual change (boot no. 1):

sys-net devices AFTER manual change (boot no. 2):

Lenovo ThinkPad P14s Gen 2 21A0 Laptop Ryzen 7 Pro


[greg@dom0 ~]$ uname -a
Linux dom0 6.1.35-1.qubes.fc32.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Jun 25 16:39:03 CEST 2023 x86_64 x86_64 x86_64 GNU/Linux
[greg@dom0 ~]$ cat /etc/qubes-release 
Qubes release 4.1.2 (R4.1)

Maybe the reason for this is a well-known unsolved issue with Qubes OS not using hardware real IDs but instead relying simply on this 02:00.0 bus names, which can be changed if the user plugs or unplugs something in the PC before boot.

For most cases everything works OK for users because these names are rarely changed if everything stays the same in PC, but it still is a bad design to rely on something that can be half-randomly changed on boot.

About your case.

If you won’t be able to find a proper solution, you always can write your own bash script to attach only devices you want to these VMs and even start them after that. Put call for this script into autostart. This way you will get autoboot of these qubes back and everything will be working as expected. It is workaround, not a proper solution, of course.