[solved: set hwclock] Keyboard, mouse, network, VMs not working after installing 4.2.4

Hello,

I installed Qubes 4.2.4 on an x86_64 desktop computer with a USB keyboard and mouse. I did not use the network during installation, although the motherboard has an Ethernet controller. I selected all the default Qubes options during the install.

After the first reboot, while finalising the installation, towards the end, I got a message about sys-firewall failing to start and to inspect the logs at /var/log/libvirt/libxl/libxl-driver.log for details. The machine was fully locked up and I wasn’t able to Ctrl+Alt+F2 to open a terminal to inspect the file, so I rebooted the machine and started the entire install process over from scratch, (including allowing the installer to erase the previous partition table).

After the second install, I got the same error message, but the machine wasn’t hung. I hit “enter” on the error message dialog and after a moment ended up at the login screen. I logged in and was able to run xfce-terminal in dom0. Both mouse and keyboard worked. I tried launching a few VMs but I only got error messages in those short lived GUI notification boxes.

I didn’t change any settings or run any Qubes related shell commands. I ran “reboot”. On the next boot, after I decrypted my drive I wasn’t able to use my keyboard or mouse. systemd seemed to take a long time to start sys-firewall, sys-usb, and sys-net before the GUI started.

I rebooted and added qubes.skip_autostart to my module2 commandline in GRUB. I was able to use my keyboard and mouse, but I couldn’t start any VMs. sys-usb and sys-net were marked red in Qubes manager. sys-firewall was green. I got error messages when trying to start those VMs, and when I ran systemctl status qubes-vm@sys-usb.service I saw it wouldn’t start because of my kernel cmdline args including qubes.skip_autostart.

Based on reading some forum posts*, I went to inspect /etc/qubes-rpc/policy/qubes.Input{Keyboard,Mouse}, neither of which existed. I ran qubesctl state.sls qvm.sys-keyboard, which returned successfully saying 1 changed. Same story for qubesctl state.sls qvm.sys-usb.

I created the qubes.InputKeyboard and qubes.InputMouse files with the contents sys-usb dom0 allow.

I saw that sys-net was failing to start, complaining about one of the integrated USB hubs not supporting reset.

At this point I rebooted, hoping that the above changes would at least allow my USB and mouse to work so I could use the GUI to try and launch VMs without booting with qubes.skip_autostart, but my keyboard stopped working after decrypting my hard drive. Launching sys-usb / sys-net / sys-firewall also seemed to take over 30s before the GUI came up. (Unsure if they actually launch successfully, due to the lack of an input source.)

*Note that it can be pretty hard to tell if forum posts are out of date or not as a Qubes newcomer. It seems like there are major changes between major versions, but it’s unclear if forum posts from 3 years ago are still relevant.

Perhaps worth noting that this machine has successfully run multiple other linux distros in the past, including today, making me believe these issues are Qubes related and not hardware or kernel related.

I solved it!

My hwclock had reset after reassembling the PC. I used date -s ... and hwclock -w to write the current time to the system clock from a dom0 shell after booting with qubes.skip_autostart. Qubes was still messed up at this point, so I just did a 3rd full reinstall with the same settings. Everything worked as expected after this!

ty to the Qubes team and community for this great project! Hope this message helps others who run into the same issue.