AX210/211 WiFi card not showing any networks

I set up a new 4.1 installation on my desktop setup - iso image checked and is fine, newest fedora updates installed. I have troubles getting my PCIe network card running - its an Intel AX210 (wifi 6) card. In the sys-net qube settings it is shown and selected as a device (next to the motherboard-ethernet) but it isnt shown in the “network manager” (in the top right) - ethernet is shown and works.

I already had those troubles when I had to make it work with Ubuntu 20.04. Back there it was because the kernel version (5.04 if I remember correctly) didnt support that card and unofficially ionstalling kernel 5.12 helped. Knowing this I installed the only kernel available in “qubes-lates-kernel-vm” which is 5.15 - unfortunately it doesnt help.

I saw some threads with similar issues concerning the AX200/201 cards but they seem to work with the nowadays default 5.10 kernel.

Does someone have ideas about troubleshooting this?

Best regards

P.S.: I also added my old (10 years) PCI network adapter and it isnt even detected under devices (not sure though if it is because my mobo cannot handle two different network managers).

I tried installing new drivers but not result.
The drivers in “/lib/firmware/” all end with “.xz” while the new downloaded one isnt. Is that file extension somehow relevant?

I should also mention that the mentioned trick with kernel_opts for the AX200/201 cant be used since I cannot enter kernel_opts in the cube settings.

intel ax210 is supported in kernel 5.10+,
what distro you use as sys-net ?
are you using minimal templates ?
try using ethernet and download fedora-35 / debian-11

Template is fedora-34. I guess its minimal - I didnt really change anything except my trys on new drivers.

Ill try debian-11 first and then upgrade to fedora-35

if you are not sure then it’s full, try download debian 11 and perform update.

then try install apt install firmware-linux
if it was installed and still no wifi shown, perhaps it’s still not supported.

for fedora, try download fedora-35 and perform update.
install dnf install iwlax2xx-firmware

I alread yhave debian-11. apt install firmware-linux didnt install anything new.

fed-35 not out yet, no?

then it should be debian still not supported,
fedora 35 is out qvm-template-gui search in there.

try Installing 4.1 from scratch, selecting the Debian-11 option as default template during installation.

Then, in your debian-11 template, run the following in the terminal:

sudo mv /lib/firmware/iwl-wifi-ty-a0-gf-a0.pvnm /lib/firmware/old.bak

Shutdown the template, and restart sys-net. See if this works?

Yes, that helped. After moving the .pvnm and restarting both template and sys-net the network manager shows WiFi and finds networks.

I didnt try renaming that file under debian when 51lieal suggested using debian - my bad.

EDIT: I did a new clean install with fedora-34 as default template. This time I did exactly the steps mentioned by you for /lib/firmware/iwl-wifi-ty-a0-gf-a0.pvnm.xz and this time it worked :thinking:
Maybe it didnt work last time because I donwloaded an additional .ucode driver or because I renamed it as iwl-wifi-ty-a0-gf-a0.pvnm.xy.bak instead of old.bak

I have Intel AX1675, which seems to result in very similar problems to what people report with AX210 on the internet, but none of the proposed solutions seem to help :disappointed: I’ve tried all sorts of variations of this trick without success :confused: I tried them with fedora-34, fedora-35 and debian-11, and with various Qubes-provided 5.10.x and 5.16.x kernels, as well as VM-provided 5.16.x and even 6.17RC8 (from debian experimental).

Nothing has worked :sob: I either get no mention of iwlwifi in the logs, or I get the dreaded iwlwifi ...: Failed to start RT ucode: -110

I am not sure if I am doing something fundamentally wrong here, or if my problem is something else. I’d appreciate any ideas or help you can provide :pray:

The following procedure has worked for me (minimal reproduction):

  1. Install Qubes 4.1 with all defaults, including Fedora 34 as the default template.

  2. Use Ethernet to update the fedora-34 template, including the latest iwlax2xx-firmware.

  3. In fedora-34:

     $ sudo mv /lib/firmware/iwlwifi-ty-a0-gf-a0-67.pnvm.xz ~

After shutting down fedora-34 and restarting sys-net, by way of confirmation:

[user@sys-net ~]$ uname -r
[user@sys-net ~]$ lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 01)
00:04.0 VGA compatible controller: Device 1234:1111 (rev 02)
00:05.0 USB controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 10)
00:06.0 Ethernet controller: Intel Corporation Ethernet Connection (13) I219-V (rev 20)
00:07.0 Network controller: Intel Corporation Wi-Fi 6 AX210/AX211/AX411 160MHz (rev 1a)
[user@sys-net ~]$ sudo dmesg | grep "iwl"
[    2.553610] iwlwifi 0000:00:07.0: api flags index 2 larger than supported by driver
[    2.553646] iwlwifi 0000:00:07.0: TLV_FW_FSEQ_VERSION: FSEQ Version:
[    2.553890] iwlwifi 0000:00:07.0: loaded firmware version 59.601f3a66.0 ty-a0-gf-a0-59.ucode op_mode iwlmvm
[    3.011801] iwlwifi 0000:00:07.0: Detected Intel(R) Wi-Fi 6 AX210 160MHz, REV=0x420
[    3.254006] iwlwifi 0000:00:07.0: base HW address: XX:XX:XX:XX:XX:XX
[    3.287049] iwlwifi 0000:00:07.0 wls7: renamed from wlan0 appears to be the relevant upstream bug.

Erratum: This should be (on both fedora-34 and fedora-35):

sudo mv /lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm.xz ~

I have an AX211 in a laptop, and I can confirm that this is what needs to be done to get it to work in sys-net, but it’s to do with the kernel, not the version of Fedora.

The current PNVM firmware errors out when trying to load inside a VM, so it needs to be moved out of /lib/firmware or deleted.

I am not sure if the latest kernels have fixed the issue, but 5.18 hasn’t worked for me yet, so I am forced to run sys-net on a 5.10 kernel.

@cfm’s solution will work, but there is another solution that doesn’t require you to shut down sys-net.

In sys-net:

  1. Delete /lib/firmware/iwlwifi-ty-a0-gf-a0-67.pnvm.xz
  2. Run the following string of commands in a terminal:
sudo rmmod iwlmvm
sudo rmmod iwlwifi
sudo modprobe iwlmvm

It gets a bit tedious if you have to do it every time you start up sys-net, but you can add this to your ~/.bashrc file to have it done automatically at boot, allowing you to keep your templates “pure”.

The reason is that it highly likely that any upgrade of the linux-firmware package will put that file back, and bork your wifi again :grin:

Great suggestion, @alzer89. Note that in .bashrc these commands will be run at the start of every interactive shell session. In new documentation of this workaround for the SecureDrop Workstation project, we place it in sys-net's /rw/config/rw.local.

@cfm, that’s correct, and a much better solution.

I definitely need more sleep when writing these things :joy:

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:

  • kernel-latest-5.11.4-1.fc32.qubes.x86_64.rpm
  • kernel-latest-devel-5.11.4-1.fc32.qubes.x86_64.rpm
  • kernel-latest-qubes-vm-5.11.4-1.fc32.qubes.x86_64.rpm

(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

Turn off sys-net
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 sys-net

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


Reply at another relevant post.

Thanks a lot. You might consider to copy and paste your answer in the guides section.

I found out how to do it a couple of months ago, I hadn’t touched qubes for a while, my HD crashed and I couldn’t reconstruct my train of thought. You’ve made my day.

Per, this workaround (either manual or via /rw/config/rc.local) is no longer required with kernel 5.15.64.