How to update iwlwifi firmware without uninstalling proxmox

jmc76

New Member
May 24, 2022
5
0
1
I have a Beelink SEi10 Mini-PC with an M2 2230 intel AX101NGW wifi6/bluetooth combo card.
I've installed Proxmox 8, and started it.
I've run apt-get update, apt-get dist-upgrade, and rebooted.
When Proxmox starts, lspci shows that the card is found, though possibly mis-identified,
dmesg shows that the card is correctly identified, but the iwlwifi driver is unable to initialize with the firmware it loaded for this card.

Code:
root@pve03:~# lspci -nnk -s 00:14.3
00:14.3 Network controller [0280]: Intel Corporation Ice Lake-LP PCH CNVi WiFi [8086:34f0] (rev 30)
        DeviceName: Onboard - Ethernet
        Subsystem: Intel Corporation Ice Lake-LP PCH CNVi WiFi [8086:0244]
        Kernel driver in use: iwlwifi
        Kernel modules: iwlwifi
        
root@pve03:~# dmesg | grep iwlwifi
[   52.152553] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[   52.200849] iwlwifi 0000:00:14.3: api flags index 2 larger than supported by driver
[   52.200865] iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 89.3.35.37
[   52.201277] iwlwifi 0000:00:14.3: loaded firmware version 72.daa05125.0 Qu-c0-hr-b0-72.ucode op_mode iwlmvm
[   52.449756] iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 6 AX101, REV=0x332
[   52.573478] iwlwifi 0000:00:14.3: Detected RF HR1 B3, rfid=0x10c000
[   53.603165] iwlwifi 0000:00:14.3: WRT: Collecting data: ini trigger 13 fired (delay=0ms).
[   53.604373] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[   53.604384] iwlwifi 0000:00:14.3: Transport status: 0x0000004A, valid: 6
[   53.604392] iwlwifi 0000:00:14.3: Loaded firmware version: 72.daa05125.0 Qu-c0-hr-b0-72.ucode
[   53.604401] iwlwifi 0000:00:14.3: 0x00000084 | NMI_INTERRUPT_UNKNOWN
[   53.604410] iwlwifi 0000:00:14.3: 0x000022F0 | trm_hw_status0
[   53.604416] iwlwifi 0000:00:14.3: 0x00000000 | trm_hw_status1
[   53.604424] iwlwifi 0000:00:14.3: 0x004CC152 | branchlink2
[   53.604431] iwlwifi 0000:00:14.3: 0x004C25DE | interruptlink1
[   53.604438] iwlwifi 0000:00:14.3: 0x004C25DE | interruptlink2
[   53.604445] iwlwifi 0000:00:14.3: 0x004CAE0C | data1
[   53.604452] iwlwifi 0000:00:14.3: 0x01000000 | data2
[   53.604458] iwlwifi 0000:00:14.3: 0x00000000 | data3
[   53.604465] iwlwifi 0000:00:14.3: 0x00000000 | beacon time
[   53.604471] iwlwifi 0000:00:14.3: 0x00110BC0 | tsf low
[   53.604478] iwlwifi 0000:00:14.3: 0x00000000 | tsf hi
[   53.604485] iwlwifi 0000:00:14.3: 0x00000000 | time gp1
[   53.604491] iwlwifi 0000:00:14.3: 0x001166F1 | time gp2
[   53.604498] iwlwifi 0000:00:14.3: 0x00000001 | uCode revision type
[   53.604506] iwlwifi 0000:00:14.3: 0x00000048 | uCode version major
[   53.604514] iwlwifi 0000:00:14.3: 0xDAA05125 | uCode version minor
[   53.604521] iwlwifi 0000:00:14.3: 0x00000332 | hw version
[   53.604528] iwlwifi 0000:00:14.3: 0x18C89002 | board version
[   53.604535] iwlwifi 0000:00:14.3: 0x8002FC12 | hcmd
[   53.604542] iwlwifi 0000:00:14.3: 0x00020000 | isr0
[   53.604548] iwlwifi 0000:00:14.3: 0x00000000 | isr1
[   53.604555] iwlwifi 0000:00:14.3: 0x08F00002 | isr2
[   53.604562] iwlwifi 0000:00:14.3: 0x00C0000C | isr3
[   53.604568] iwlwifi 0000:00:14.3: 0x00000000 | isr4
[   53.604575] iwlwifi 0000:00:14.3: 0x00000000 | last cmd Id
[   53.604582] iwlwifi 0000:00:14.3: 0x004CAE0C | wait_event
[   53.604589] iwlwifi 0000:00:14.3: 0x00000000 | l2p_control
[   53.604595] iwlwifi 0000:00:14.3: 0x00000000 | l2p_duration
[   53.604602] iwlwifi 0000:00:14.3: 0x00000000 | l2p_mhvalid
[   53.604609] iwlwifi 0000:00:14.3: 0x00000000 | l2p_addr_match
[   53.604617] iwlwifi 0000:00:14.3: 0x0000000B | lmpm_pmg_sel
[   53.604624] iwlwifi 0000:00:14.3: 0x00000000 | timestamp
[   53.604631] iwlwifi 0000:00:14.3: 0x00000020 | flow_handler
[   53.604677] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[   53.604683] iwlwifi 0000:00:14.3: Transport status: 0x0000004A, valid: 7
[   53.604690] iwlwifi 0000:00:14.3: 0x20000066 | NMI_INTERRUPT_HOST
[   53.604698] iwlwifi 0000:00:14.3: 0x00000000 | umac branchlink1
[   53.604705] iwlwifi 0000:00:14.3: 0x80455E90 | umac branchlink2
[   53.604712] iwlwifi 0000:00:14.3: 0x80472502 | umac interruptlink1
[   53.604720] iwlwifi 0000:00:14.3: 0x80472502 | umac interruptlink2
[   53.604727] iwlwifi 0000:00:14.3: 0x01000000 | umac data1
[   53.604735] iwlwifi 0000:00:14.3: 0x80472502 | umac data2
[   53.604741] iwlwifi 0000:00:14.3: 0x00000000 | umac data3
[   53.604749] iwlwifi 0000:00:14.3: 0x00000048 | umac major
[   53.604755] iwlwifi 0000:00:14.3: 0xDAA05125 | umac minor
[   53.604762] iwlwifi 0000:00:14.3: 0x001166EF | frame pointer
[   53.604769] iwlwifi 0000:00:14.3: 0xC0886264 | stack pointer
[   53.604776] iwlwifi 0000:00:14.3: 0x00010C00 | last host cmd
[   53.604783] iwlwifi 0000:00:14.3: 0x00000000 | isr status reg
[   53.604811] iwlwifi 0000:00:14.3: IML/ROM dump:
[   53.604816] iwlwifi 0000:00:14.3: 0x00000003 | IML/ROM error/state
[   53.604844] iwlwifi 0000:00:14.3: 0x000056A4 | IML/ROM data1
[   53.604871] iwlwifi 0000:00:14.3: 0x00000080 | IML/ROM WFPM_AUTH_KEY_0
[   53.604895] iwlwifi 0000:00:14.3: Fseq Registers:
[   53.604915] iwlwifi 0000:00:14.3: 0x60000000 | FSEQ_ERROR_CODE
[   53.604938] iwlwifi 0000:00:14.3: 0x80290033 | FSEQ_TOP_INIT_VERSION
[   53.604960] iwlwifi 0000:00:14.3: 0x00090006 | FSEQ_CNVIO_INIT_VERSION
[   53.604982] iwlwifi 0000:00:14.3: 0x0000A482 | FSEQ_OTP_VERSION
[   53.605004] iwlwifi 0000:00:14.3: 0x00000003 | FSEQ_TOP_CONTENT_VERSION
[   53.605441] iwlwifi 0000:00:14.3: 0x4552414E | FSEQ_ALIVE_TOKEN
[   53.605875] iwlwifi 0000:00:14.3: 0x02000300 | FSEQ_CNVI_ID
[   53.606306] iwlwifi 0000:00:14.3: 0x00000501 | FSEQ_CNVR_ID
[   53.606733] iwlwifi 0000:00:14.3: 0x02000300 | CNVI_AUX_MISC_CHIP
[   53.607169] iwlwifi 0000:00:14.3: 0x00000501 | CNVR_AUX_MISC_CHIP
[   53.607673] iwlwifi 0000:00:14.3: 0x05B0905B | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM
[   53.608100] iwlwifi 0000:00:14.3: 0x0000025B | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR
[   53.968239] iwlwifi 0000:00:14.3: Failed to run INIT ucode: -110

After looking around on the debian site, I found a package in trixie (testing), firmware-iwlwifi_20230515-3_all.deb, that lists updates for my card in its contents.
Thought trying it might be worth it, so I downloaded the package and tried to install it. Looks like that's not going to work.

Code:
root@pve03:~# dpkg -i firmware-iwlwifi_20230515-3_all.deb
Selecting previously unselected package firmware-iwlwifi.
dpkg: regarding firmware-iwlwifi_20230515-3_all.deb containing firmware-iwlwifi:
 pve-firmware conflicts with firmware-iwlwifi
  firmware-iwlwifi (version 20230515-3) is to be installed.

dpkg: error processing archive firmware-iwlwifi_20230515-3_all.deb (--install):
 conflicting packages - not installing firmware-iwlwifi
Errors were encountered while processing:
 firmware-iwlwifi_20230515-3_all.deb

root@pve03:~# apt-get install ./firmware-iwlwifi_20230515-3_all.deb
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'firmware-iwlwifi' instead of './firmware-iwlwifi_20230515-3_all.deb'
The following package was automatically installed and is no longer required:
  proxmox-kernel-6.2.16-12-pve
Use 'apt autoremove' to remove it.
The following packages will be REMOVED:
  proxmox-default-kernel proxmox-kernel-6.2 proxmox-ve pve-firmware pve-kernel-6.2
The following NEW packages will be installed:
  firmware-iwlwifi
0 upgraded, 1 newly installed, 5 to remove and 0 not upgraded.
Need to get 0 B/9,446 kB of archives.
After this operation, 156 MB disk space will be freed.
Do you want to continue? [Y/n]n

Does anyone have any suggestions on how to install and try the updated firmware and/or updated iwlwifi driver without uninstalling Proxmox?
Alternatively, does anyone have any ideas, besides installing the firmware-iwlwifi package, that I might try to get an AX101NGW working in Proxmox 8?

Thanks!
 
Not really helping to solve your problem, but you have read the wiki why it's not a good idea to use wifi?: https://pve.proxmox.com/wiki/WLAN

Maybe you got a good reason why you need wifi as an additional interface to enternet. If not, it's maybe not worth the effort.
 
I'd say try one of 2 things
1. pass the pci device to a windows 10 VM
2. boot to one of those gandalf/windows pe magic boot disks update firmware.
 
Thank you. Yes, I have read the proxmox wiki entry on WLAN.

In this particular use of wifi (occasional remote management of proxmox), I don't need more bandwidth than wifi6 will provide.
I also realize that I'll have to change the network setup since wifi doesn't play well with the default vbr0 networking in proxmox, but I'll cross that bridge (or bridge replacement) when I get to it. The first step is to get driver/firmware/wifi card working together in Proxmox, if possible.

Good reason.... hmmm.
I suppose the first reason is no more than personal preference for Proxmox. Since starting to build out my homelab, I've tried to follow a rule of "virtualize all the things".
The second reason is more concrete, the room where this pc will be deployed has no ethernet drop, so wifi will not be an "additional interface", it will be the only interface. If wired was available, I would already have a patch cable plugged in and we wouldn't be having this conversation ;-)
 
Thanks for the 2 suggestions.
1. I don't think that will work, but it may be worth a try. I think packets from the virtual nic in the vm are forwarded to the host nic which needs to be working in order to forward the packets to the lan. If that is the case, the proxmox host will not have a working nic for the virtual nic to use.

2. Do you have a link to info on how to use one of those gandalf/windows pe magic boot disks to update debain firmware in proxmox? That would be great.
 
I did go ahead and try your first suggestion.
I installed a win10 VM and passed the pci wifi device to the VM. Installed the windows driver and it worked fine, in windows.
No joy in Proxmox, no wifi (no interface created from the wifi card). And no way to remotely access http://[ip address]:8006 through the wifi card.
 
Look this for understand :
https://forum.proxmox.com/threads/developer-workstation-with-cinnamon-lmde5.107237/


And for intel Wifi card on Proxmox-VE 8 :

wget http://ftp.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/firmware-iwlwifi_20230515-3_all.deb dpkg -x firmware-iwlwifi_20230515-3_all.deb firmware-iwlwifi cp -r firmware-iwlwifi/lib/firmware/* /lib/firmware/ update-initramfs -k all -u reboot

After that configure your WIFI card via "/etc/network/interfaces"
 
Thank you so much for pointing me toward your tutorial on how to set up a LMDE! There were only a couple of warnings and one error during the setup (details below), but everything seems to be working as it should.

I was able to run the commands to extract the firmware from firmware-iwlwifi_20230515-3_all.deb and get it copied where it needed to go. Unfortunately, I still can't configure my WIFI card in /etc/network/interfaces, or anywhere else because the firmware/driver fails to load at boot with the same error messages as in my first post. So, I have no wl... named interface to work with in the running system.

I did find discussion of problems with this wifi card in 6.2 on ubuntu's forums, and a link to a patch for the AX101 firmware.
https://askubuntu.com/questions/1459856/intel-alder-lake-n100-wifi-and-bluetooth-issues
https://aur.archlinux.org/packages/iwlwifi-ax101-dkms

I think tomorrow's task will be to patch and build the 6.2 kernel to see if the patch works for my card.

Do you have any advice on how to proceed once I have built a patched kernel? Would it be simpler to point proxmox to the newly built kernel or would it be better to extract the newly built iwlwifi, iwldvm, iwlmvm, and firmware and drop them into the existing proxmox deployment.? Or, maybe (I haven't looked at the Makefile yet), is there a target to make only iwlwifi and friends?

And, the following isn't in any way a complaint, just an fyi on the warnings and error encountered when installing LMDE.
Step 1) Installed Proxmox 8 instead of 7.1
Step 3 and 4) Substituted bookworm for bullseye and "non-free non-free-firmware" in place of non-free
Step 8 and 9) Warnings about apt-key being deprecated (but still works, of course)
Step 9) "Unable to verify" warnings about the two deb-multimedia bookworm repositories due to missing public keys.
Step 17) Warning --force-yes is deprecated use --allow instead.
also Error: Unable to locate package apt-clone
 
Please note the links to my TUTORIAL only work for proxmox-VE 7. I am doing a tutorial for Proxmox-VE 8 with lots of other cool things.

If you have a laptop with an NVIDIA graphics card, I advise you to wait a little less than a week.
 
Last edited:
Good reason.... hmmm.
Well it never hurts to have a pure internet connection backup on wifi (so you can ssh in if something odd happens, or IMO as a backup corosync onlyt network...)

Thanks for the OP - the errors is dmesg were bugging me on my Nuc 13 too and this gives me a breadcrumb trail to stop my OCD about them.... and maybe that BT one too.... lol (yeah i know i can turn BT off in the BIOS, probably)
 
Good reason.... hmmm.
I suppose the first reason is no more than personal preference for Proxmox. Since starting to build out my homelab, I've tried to follow a rule of "virtualize all the things".
The second reason is more concrete, the room where this pc will be deployed has no ethernet drop, so wifi will not be an "additional interface", it will be the only interface. If wired was available, I would already have a patch cable plugged in and we wouldn't be having this conversation ;-)
I would suggest exploring either electricty based networking, or to put a wifi router, or a raspberry pi or any other wifi capable device, as a client in the room and linking your Proxmox machine up to it via wired ethernet.
 
I would suggest exploring either electricty based networking, or to put a wifi router, or a raspberry pi or any other wifi capable device, as a client in the room and linking your Proxmox machine up to it via wired ethernet.
my nodes have 3 elec-trickery networks connecting them, i still would have done (if the driver worked) a wifi corosync network backup using knet_link_priority and passive mode so it is only ever used in an emergency after two other nets. i wouldn't use it for cluster traffic, replication, ceph - that would be silly now ;-)
 
Is this somehow solved and working now ? I would also like to have my ax101 working in proxmox-8 !
 
Today I received kernel 6.5.11-4-pve and full firmware package update (about 85 MB) and my wifi intel-ax101 magically started to work!

Hooray!
 
  • Like
Reactions: scyto
Currently on kernel 6.5.11-4-pve, using firmware version 83.e8f84e98.0 and still getting the error WRT: Invalid buffer destination
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!