### 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
Last activity: Mar 13, 2025, 09:51 PM