I am super new to qubes and to managing kernels but i was able to figure out how to get this all up and running. I have the following on a framework laptop:
Intel(R) Wi-Fi 6 AX210 160MHz, REV=0x420
and i am using fedora36 as my main template. By default, my install came with kernel
5.14.15-1.fc32, which was failing to show any network devices. My dmesg in
sys-net showed the following error:
Timeout waiting for PNVM load!
I was sorta following a couple of different posts but the main was was Qubes Managing Kernels Guide, and this forum.
The solution for me was to get an old kernel installed in dom0 and then from the qubes manager configure sys-net to use that old kernel.
Download the old kernel
All of the kernels for 4.1 can be found here
According to bugzilla, some people were able to get around this by installing a 5.16 kernel, when i tried this i couldnt get it to work but there was so much trial and error i might have made a mistake
I downloaded the following three files:
(sorry new user cant include the links to them)
Move to dom0
Whether you download from an external computer, or download from a separate qube you gotta move it to dom0. For example, if the files are put into the
untrusted vm you can do something like this to move them to dom0
# in the dom0 terminal
qvm-run -p untrusted 'cat /home/user/Downloads/kernel-latest-5.11.4-1.fc32.qubes.x86_64.rpm' > kernel-latest-5.11.4-1.fc32.qubes.x86_64.rpm
Install the kernel
Once the kernel files are all there you can do:
sudo dnf install kernel-latest-5.11.4-1.fc32.qubes.x86_64.rpm
sudo dnf install kernel-latest-devel-5.11.4-1.fc32.qubes.x86_64.rpm
sudo dnf install kernel-latest-qubes-vm-5.11.4-1.fc32.qubes.x86_64.rpm
Note - when i was playing around with some stuff early on, i ran into some stuff like dom0 missing python and perl. I dont know if those are necessary or not, i was able to install them because i got an ethernet cable attached to my machine to download. If those are required and u have no network i dont know what u do
Configure sys-net in the Qubes Manager
In the qubes manager, click
sys-net → Settings → Advanced → Kernel:
You should be able to select `5.11.4-1.fc32
Remove the pvm from the template
I used fedora36 as my main template so I opened up a terminal for that template and ran the following:
sudo mv /lib/firmware/iwlwifi-ty-a0-gf-a0.pvnm.xz /lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm.xz.bak
Note if u dont do it in the template, and instead in
sys-net, then every time u reboot sys-net that file will keep showing up and u may spend an hour trying to figure out why it keeps magically appearing like me.
Reboot and cross your fingers.
Hope this helps anyone else. There may be newer kernels that work but i could not get it to work for anything besides 5.11.4-1