iwlwifi module crash on load for M.2 Intel AX210 NGW WiFi Card

c10l

New Member
Jun 20, 2022
8
2
3
I've recently purchased an M.2 Intel AX210 NGW WiFi Card and installed it on one of my PVE hosts. When the iwlwifi module loads, it crashes:

Code:
[71802.522896] Intel(R) Wireless WiFi driver for Linux
[71802.529356] iwlwifi 0000:04:00.0: api flags index 2 larger than supported by driver
[71802.529370] iwlwifi 0000:04:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.63.2.2
[71802.529666] iwlwifi 0000:04:00.0: loaded firmware version 66.f1c864e0.0 ty-a0-gf-a0-66.ucode op_mode iwlmvm
[71802.532713] iwlwifi 0000:04:00.0: Detected Intel(R) Wi-Fi 6 AX210 160MHz, REV=0x420
[71802.539067] thermal thermal_zone0: failed to read out thermal zone (-61)
[71802.709149] iwlwifi 0000:04:00.0: Detected RF GF, rfid=0x10d000
[71802.712741] iwlwifi 0000:04:00.0: Microcode SW error detected. Restarting 0x0.
[71802.713405] iwlwifi 0000:04:00.0: Start IWL Error Log Dump:
[71802.713406] iwlwifi 0000:04:00.0: Transport status: 0x0000004A, valid: 6
[71802.713407] iwlwifi 0000:04:00.0: Loaded firmware version: 66.f1c864e0.0 ty-a0-gf-a0-66.ucode
[71802.713409] iwlwifi 0000:04:00.0: 0x00000071 | NMI_INTERRUPT_UMAC_FATAL
[71802.713410] iwlwifi 0000:04:00.0: 0x002002F0 | trm_hw_status0
[71802.713411] iwlwifi 0000:04:00.0: 0x00000000 | trm_hw_status1
[71802.713412] iwlwifi 0000:04:00.0: 0x004DA722 | branchlink2
[71802.713413] iwlwifi 0000:04:00.0: 0x004D0CCE | interruptlink1
[71802.713414] iwlwifi 0000:04:00.0: 0x004D0CCE | interruptlink2
[71802.713415] iwlwifi 0000:04:00.0: 0x004D94DA | data1
[71802.713416] iwlwifi 0000:04:00.0: 0x00000010 | data2
[71802.713417] iwlwifi 0000:04:00.0: 0x00000000 | data3
[71802.713417] iwlwifi 0000:04:00.0: 0x00000000 | beacon time
[71802.713418] iwlwifi 0000:04:00.0: 0x00017B0C | tsf low
[71802.713419] iwlwifi 0000:04:00.0: 0x00000000 | tsf hi
[71802.713420] iwlwifi 0000:04:00.0: 0x00000000 | time gp1
[71802.713421] iwlwifi 0000:04:00.0: 0x00029CB1 | time gp2
[71802.713422] iwlwifi 0000:04:00.0: 0x00000001 | uCode revision type
[71802.713423] iwlwifi 0000:04:00.0: 0x00000042 | uCode version major
[71802.713423] iwlwifi 0000:04:00.0: 0xF1C864E0 | uCode version minor
[71802.713424] iwlwifi 0000:04:00.0: 0x00000420 | hw version
[71802.713425] iwlwifi 0000:04:00.0: 0x18C89002 | board version
[71802.713426] iwlwifi 0000:04:00.0: 0x8008FF05 | hcmd
[71802.713427] iwlwifi 0000:04:00.0: 0x00020000 | isr0
[71802.713428] iwlwifi 0000:04:00.0: 0x60000000 | isr1
[71802.713429] iwlwifi 0000:04:00.0: 0x48F00002 | isr2
[71802.713429] iwlwifi 0000:04:00.0: 0x00C0000C | isr3
[71802.713430] iwlwifi 0000:04:00.0: 0x00000000 | isr4
[71802.713431] iwlwifi 0000:04:00.0: 0x00000000 | last cmd Id
[71802.713432] iwlwifi 0000:04:00.0: 0x004D94DA | wait_event
[71802.713433] iwlwifi 0000:04:00.0: 0x00000000 | l2p_control
[71802.713434] iwlwifi 0000:04:00.0: 0x00000000 | l2p_duration
[71802.713435] iwlwifi 0000:04:00.0: 0x00000000 | l2p_mhvalid
[71802.713435] iwlwifi 0000:04:00.0: 0x00000000 | l2p_addr_match
[71802.713436] iwlwifi 0000:04:00.0: 0x00000009 | lmpm_pmg_sel
[71802.713437] iwlwifi 0000:04:00.0: 0x00000000 | timestamp
[71802.713438] iwlwifi 0000:04:00.0: 0x00000024 | flow_handler

Turns out this microcode requires the file iwlwifi-ty-a0-gf-a0.pnvm to be present in /lib/firmware along with the microcode files themselves. Unfortunately it seems that this file is not present in pve-firmware:

Code:
root@pve0:~# dpkg -L pve-firmware | grep iwlwifi-ty-a0-gf-a0.pnvm
root@pve0:~#

It is present on Debian's firmware-iwlwifi package but if I try to install that, apt tries to remove the kernel and other core PVE packages:

Code:
root@pve0:~# apt install firmware-iwlwifi
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
  proxmox-ve pve-firmware pve-kernel-5.13 pve-kernel-5.15
The following NEW packages will be installed:
  firmware-iwlwifi
0 upgraded, 1 newly installed, 4 to remove and 0 not upgraded.
Need to get 0 B/13.4 MB of archives.
After this operation, 270 MB disk space will be freed.
Do you want to continue? [Y/n]

For now I manually downloaded the file from the the upstream kernel tree and it's working but it would be better to have the file included in PVE's firmware package.
 
  • Like
Reactions: manhn and tristank
Thanks this helped. I also download the ibt-0041-0041.sfi firmware for bluetooth to work but I'm still getting an error saying Failed to load Intel Firmware file intel/ibt-0041-0041.sfi (-2).
 
Last edited:
I downloaded the latest firmware (currently linux-firmware-20221109.tar.gz) from kernel git, then extracted it running "tar -zxf linux-firmware-20221109.tar.gz", get into the extracted folder and copy all to the firmware folder via command "cp -ax * /lib/firmware". I shutdown the server and restart. Hopefully, it will also work for those who use AX210. Source for this tip: https://github.com/spxak1/weywot/blob/main/ax210.md#install-new-firmware
 
Last edited:
Confirming that this also worked for me but with a completely different wireless card (Intel Centrino Ultimate-N 6300, model 633ANHMW, inside a Dell M4600 laptop). dmesg reported that it couldn't load iwlwifi-6000-4.ucode. It was indeed missing from /lib/firmware. I then downloaded and unzipped linux-firmware-iwlwifi-fw-2022-11-08.tar.gz from https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware.git/ and only moved iwlwifi-6000-4.ucode into /lib/firmware/. After a reboot the kernel module loaded and the wifi adapter came up. I noticed that a lot of files in /lib/firmware were xz compressed, but apparently this is not a requirement. Just copying the .ucode file was enough to get it to work.