Sample Header Ad - 728x90

How to load firmware for WiFi AX211 in debian trixie?

1 vote
2 answers
2314 views
### Problem symptom The WiFi is not working on a fresh install (nor the live image). I need help understanding how to load the right driver/firmware. As far as I can tell, the device is **recognized by iwlwifi but it does not find any firmware for it**. **Operating System Info** I am using Debian trixie (testing) right now, because I was hoping that I'd get new enough packages that way. I also tried stable (bookworm) but couldn't even boot to the GUI with that live image, so I switched back to trixie.
$ uname -a
Linux fake-21kc0053mz 6.9.7-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.9.7-1 (2024-06-27) x86_64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux trixie/sid
Release:        n/a
Codename:       trixie
**Hardware Info**
$ lspci -nn |grep WiFi
00:14.3 Network controller : Intel Corporation Meteor Lake PCH CNVi WiFi [8086:7e40] (rev 20)

$ sudo dmesg | egrep 'Wi-Fi|Gen'
[    6.926689] thinkpad_acpi: Lenovo ThinkPad X1 Carbon Gen 12, model 21KC0053MZ
[    7.449218] iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 6E AX211 160MHz

$ sudo rfkill list
0: tpacpi_bluetooth_sw: Bluetooth
        Soft blocked: no
        Hard blocked: no
1: hci0: Bluetooth
        Soft blocked: no
        Hard blocked: no

$ sudo lspci -v | grep WiFi -A12
00:14.3 Network controller: Intel Corporation Meteor Lake PCH CNVi WiFi (rev 20)
        Subsystem: Intel Corporation Device 0090
        Flags: fast devsel, IRQ 18, IOMMU group 12
        Memory at 405a704000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [c8] Power Management version 3
        Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities:  Express Root Complex Integrated Endpoint, IntMsgNum 0
        Capabilities:  MSI-X: Enable- Count=16 Masked-
        Capabilities:  Latency Tolerance Reporting
        Capabilities:  Vendor Specific Information: ID=0010 Rev=0 Len=014 
        Kernel modules: iwlwifi

00:15.0 Serial bus controller: Intel Corporation Meteor Lake-P Serial IO I2C Controller #0 (rev 20)
**No Wireless Interface**
$ sudo iwconfig
lo        no wireless extensions.

enx00e04c680094  no wireless extensions.


$ ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: enx00e04c680094:  mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:e0:4c:68:00:94 brd ff:ff:ff:ff:ff:ff
    inet 192.168.158.21/24 brd 192.168.158.255 scope global dynamic noprefixroute enx00e04c680094
       valid_lft 862309sec preferred_lft 862309sec
    inet6 2001:1686:aa02:1801:a257:9b2:c8f6:ddf/128 scope global dynamic noprefixroute 
       valid_lft 7166sec preferred_lft 3566sec
    inet6 2001:1686:aa02:1801:7ab5:2654:2344:a04/64 scope global dynamic noprefixroute 
       valid_lft 7042sec preferred_lft 3442sec
    inet6 fe80::a257:9b2:c8f6:ddf/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
### What I Tried * Intel [does not list a driver for the AX211](https://www.intel.com/content/www/us/en/support/articles/000005511/wireless.html) * Based on a quick glance at the lenovo store, it looks to me like the Gen 11 and Gen 12 (my laptop model) of the *Lenovo Carbon X1* have the same WiFi card, so [InstallingDebianOn/Thinkpad/X1 Carbon Gen 11/trixie](https://wiki.debian.org/InstallingDebianOn/Thinkpad/X1%20Carbon%20Gen%2011/trixie) would seem potentially helpful * Like in the code snippet there (but in an already-existing installation instead of during the install) I copied the firmware from git.kernel.org to /lib/firmware >
> $ mkdir firmware && cd firmware
  > # Load the firmware files for the WLAN modul.
  > $ wget -r -nd -e robots=no -A 'iwlwifi-so-a0-gf-a0*.*' --accept-regex '/plain/' https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/ 
  > # Load the firmware files for the i915 modul.
  > $ mkdir i915 && cd i915
  > § wget -r -nd -e robots=no --accept-regex '/plain/' https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915   

  * After a sudo modprobe -r iwlwifi && sudo modprobe iwlwifi, the output of sudo dmesg | grep iwl shows that the newly-added firmware files were tried:
$ sudo dmesg | grep iwl [ 6.903352] Loading modules backported from iwlwifi [ 6.903352] iwlwifi-stack-public:master:12220:5e893e52 [ 7.447491] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002) [ 7.449214] iwlwifi 0000:00:14.3: Detected crf-id 0x400410, cnv-id 0x1080800 wfpm id 0x80000020 [ 7.449216] iwlwifi 0000:00:14.3: PCI dev 7e40/0090, rev=0x441, rfid=0x2010d000 [ 7.449218] iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 6E AX211 160MHz [ 7.449266] iwlwifi 0000:00:14.3: firmware: failed to load iwl-dbg-cfg.ini (-2) [ 7.449272] iwlwifi 0000:00:14.3: firmware: failed to load iwl-dbg-cfg.ini (-2) [ 7.449512] iwlwifi 0000:00:14.3: firmware: failed to load iwlwifi-ma-b0-gf-a0-89.ucode (-2) [ 7.449516] iwlwifi 0000:00:14.3: firmware: failed to load iwlwifi-ma-b0-gf-a0-89.ucode (-2) [ 7.449516] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-ma-b0-gf-a0-89.ucode failed with error -2 [ 7.449527] iwlwifi 0000:00:14.3: firmware: failed to load iwlwifi-ma-b0-gf-a0-88.ucode (-2) ... [ 7.449786] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-ma-b0-gf-a0-59.ucode failed with error -2 [ 7.449787] iwlwifi 0000:00:14.3: no suitable firmware found! [ 7.449789] iwlwifi 0000:00:14.3: minimum version required: iwlwifi-ma-b0-gf-a0-59 [ 7.449790] iwlwifi 0000:00:14.3: maximum version supported: iwlwifi-ma-b0-gf-a0-89 [ 7.449790] iwlwifi 0000:00:14.3: check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git ``` * Lenovo has a guide on how to install debian (older version) on a different laptop model. The issues they mention there match mine (touchpad and wifi) so I tried to follow that guide's section 5 Option 1: [lenovo thinkpad p53 p73 debian10 installation](https://download.lenovo.com/pccbbs/mobiles_pdf/lenovo_thinkpad_p53_p73_debian10_installation_v1.0.1.pdf) That did not help either. After then running sudo update-initramfs -u and a reboot, the wifi interface is still not present. * Debian unstable [does not](https://tracker.debian.org/pkg/firmware-nonfree) have a newer version of firmware-iwlwifi * I noticed *just now* that the dmesg output stated a different name than what I had downloaded! it wants iwlwifi-ma-b0-gf-a0-89, not 'iwlwifi-so-a0-gf-a0*.*'. When I copy files that match the pattern iwlwifi-ma-b0-gf-a0*.* from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/ to /lib/firmware and run sudo modprobe -r iwlwifi && sudo modprobe iwlwifi I see now different dmesg | grep iwl output. I'll update this Question after a reboot.
Asked by lucidbrot (267 rep)
Jul 7, 2024, 10:48 AM
Last activity: Mar 13, 2025, 09:51 PM