FS#77561 - [linux-firmware] Latest linux-firmware breaks iwlwifi on linux-lts kernel

Attached to Project: Arch Linux
Opened by Alex Iribarren (alexiri) - Saturday, 18 February 2023, 11:22 GMT
Last edited by Jelle van der Waa (jelly) - Thursday, 14 September 2023, 17:53 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Laurent Carlier (lordheavy)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 4
Private No

Details

Description:

The iwlwifi firmware module fails to load with linux-firmware 20230210.bf4115c-111 and linux-lts 5.15.94-1 due to missing microcode.

Additional info:
* package version(s)
- linux-firmware 20230210.bf4115c-111
- linux-lts 5.15.94-1

* config and/or log files etc.

# dmesg | grep iwlwifi
[ 9.294041] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[ 9.296350] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-66.ucode failed with error -2
[ 9.296360] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-65.ucode failed with error -2
[ 9.296367] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-64.ucode failed with error -2
[ 9.296374] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-63.ucode failed with error -2
<snip>
[ 9.296731] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-39.ucode failed with error -2
[ 9.296732] iwlwifi 0000:00:14.3: no suitable firmware found!
[ 9.296732] iwlwifi 0000:00:14.3: minimum version required: iwlwifi-so-a0-gf-a0-39
[ 9.296733] iwlwifi 0000:00:14.3: maximum version supported: iwlwifi-so-a0-gf-a0-66
[ 9.296734] iwlwifi 0000:00:14.3: check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

# ls -l /lib/firmware/iwlwifi-so-a0-gf-a0-*
-rw-r--r-- 1 root root 513956 Feb 16 16:55 /lib/firmware/iwlwifi-so-a0-gf-a0-72.ucode.xz
-rw-r--r-- 1 root root 514308 Feb 16 16:55 /lib/firmware/iwlwifi-so-a0-gf-a0-73.ucode.xz
-rw-r--r-- 1 root root 524280 Feb 16 16:55 /lib/firmware/iwlwifi-so-a0-gf-a0-74.ucode.xz
-rw-r--r-- 1 root root 533888 Feb 16 16:55 /lib/firmware/iwlwifi-so-a0-gf-a0-77.ucode.xz
-rw-r--r-- 1 root root 538040 Feb 16 16:55 /lib/firmware/iwlwifi-so-a0-gf-a0-78.ucode.xz
-rw-r--r-- 1 root root 538088 Feb 16 16:55 /lib/firmware/iwlwifi-so-a0-gf-a0-79.ucode.xz

# uname -a
Linux XXX 5.15.94-1-lts #1 SMP Wed, 15 Feb 2023 07:09:02 +0000 x86_64 GNU/Linux


The previous version of linux-firmware (20230117.7e4f0ed-1) worked just fine with the linux-lts kernel because it included compatible microcode:

# dmesg | grep iw
[ 9.515550] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[ 9.526795] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-66.ucode failed with error -2
[ 9.527353] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-65.ucode failed with error -2
[ 9.573215] iwlwifi 0000:00:14.3: api flags index 2 larger than supported by driver
[ 9.573237] iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.0.2.25
[ 9.573602] iwlwifi 0000:00:14.3: loaded firmware version 64.97bbee0a.0 so-a0-gf-a0-64.ucode op_mode iwlmvm
[ 9.631301] iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 6E AX211 160MHz, REV=0x370
[ 9.801570] iwlwifi 0000:00:14.3: loaded PNVM version 0x64acdc51
[ 9.816640] iwlwifi 0000:00:14.3: Detected RF GF, rfid=0x2010d000
[ 9.885509] iwlwifi 0000:00:14.3: base HW address: XX:XX:XX:XX:XX:XX
[ 9.906055] iwlwifi 0000:00:14.3 wlp0s20f3: renamed from wlan0

# ls -l /lib/firmware/iwlwifi-so-a0-gf-a0-*
-rw-r--r-- 1 root root 492768 Jan 20 09:20 /lib/firmware/iwlwifi-so-a0-gf-a0-64.ucode.xz
-rw-r--r-- 1 root root 502692 Jan 20 09:20 /lib/firmware/iwlwifi-so-a0-gf-a0-67.ucode.xz
-rw-r--r-- 1 root root 506128 Jan 20 09:20 /lib/firmware/iwlwifi-so-a0-gf-a0-68.ucode.xz
-rw-r--r-- 1 root root 510832 Jan 20 09:20 /lib/firmware/iwlwifi-so-a0-gf-a0-71.ucode.xz
-rw-r--r-- 1 root root 513956 Jan 20 09:20 /lib/firmware/iwlwifi-so-a0-gf-a0-72.ucode.xz
-rw-r--r-- 1 root root 514308 Jan 20 09:20 /lib/firmware/iwlwifi-so-a0-gf-a0-73.ucode.xz
-rw-r--r-- 1 root root 524280 Jan 20 09:20 /lib/firmware/iwlwifi-so-a0-gf-a0-74.ucode.xz
-rw-r--r-- 1 root root 533888 Jan 20 09:20 /lib/firmware/iwlwifi-so-a0-gf-a0-77.ucode.xz
-rw-r--r-- 1 root root 538040 Jan 20 09:20 /lib/firmware/iwlwifi-so-a0-gf-a0-78.ucode.xz
-rw-r--r-- 1 root root 538088 Jan 20 09:20 /lib/firmware/iwlwifi-so-a0-gf-a0-79.ucode.xz


As a workaround, I moved to then non-lts kernel (linux 6.1.12.arch1-1), which works because it uses newer microcode:

# dmesg | grep iwlwifi
[ 9.547062] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[ 9.619734] iwlwifi 0000:00:14.3: api flags index 2 larger than supported by driver
[ 9.619757] iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.0.2.36
[ 9.620088] iwlwifi 0000:00:14.3: loaded firmware version 72.daa05125.0 so-a0-gf-a0-72.ucode op_mode iwlmvm
[ 9.741662] iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 6E AX211 160MHz, REV=0x370
[ 9.915250] iwlwifi 0000:00:14.3: loaded PNVM version 64acdc51
[ 9.929989] iwlwifi 0000:00:14.3: Detected RF GF, rfid=0x2010d000
[ 9.999224] iwlwifi 0000:00:14.3: base HW address: XX:XX:XX:XX:XX:XX
[ 10.018620] iwlwifi 0000:00:14.3 wlp0s20f3: renamed from wlan0

Steps to reproduce:
1. Install linux-lts 5.15.94-1 and linux-firmware 20230210.bf4115c-111
2. Reboot
3. Lose wifi and contemplate your choices in life


This task depends upon

Closed by  Jelle van der Waa (jelly)
Thursday, 14 September 2023, 17:53 GMT
Reason for closing:  Deferred
Additional comments about closing:  Old kernel, please retry with the latest
Comment by Doug Newgard (Scimmia) - Saturday, 18 February 2023, 12:41 GMT
Upstream miscalculated here. They removed version 64 as the kernel would use 66, but 66 doesn't exist for this one.
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=494389cbc3b3f080bbe4ee921f1b08eae3b6fdbf
Comment by Andreas Radke (AndyRTR) - Saturday, 18 February 2023, 20:31 GMT
Longterm 6.1 branch is now in testing repo and will soon hit core. Downgrade meanwhile to the older linux-firmware package and ignore this upgrade for now.

Loading...