FS#73434 - [linux-firmware] 20220119 new format not recognize

Attached to Project: Arch Linux
Opened by Jon L (JonBL) - Thursday, 20 January 2022, 19:32 GMT
Last edited by Andreas Radke (AndyRTR) - Saturday, 05 February 2022, 16:57 GMT
Task Type Support Request
Category Packages: Testing
Status Closed
Assigned To Tobias Powalowski (tpowa)
Andreas Radke (AndyRTR)
Jan Alexander Steffens (heftig)
Laurent Carlier (lordheavy)
Architecture x86_64
Severity Critical
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

The latest version completely broke my system, if only temporarily.

Last known good: linux-firmware-20220111.13dca28-1
Broken upon: linux-firmware-20220119.0c6a763-2

I'm guessing this also needs to be configured in the kernel in order to recognize the compression, however it's not readily apparent to me where. You'll definitely want to give a heads up to people about this one and maybe implement some sort of feature check if the kernel config is available. It could be something as simple as:
zcat /proc/config.gz | grep -qE 'CONFIG_????=y' || echo "fail"
This task depends upon

Closed by  Andreas Radke (AndyRTR)
Saturday, 05 February 2022, 16:57 GMT
Reason for closing:  Not a bug
Additional comments about closing:  The issue has been fixed, as reported by the author of the issue in the comments
Comment by loqs (loqs) - Thursday, 20 January 2022, 19:51 GMT
Is your custom kernel missing CONFIG_FW_LOADER_COMPRESS=y ?
Comment by Doug Newgard (Scimmia) - Thursday, 20 January 2022, 22:35 GMT
Or are you using a really old kernel?

Edit: Oh, I see they got xz compressed; I would thinking they were zstd. It would have to be REALLY old.
Comment by Tobias Powalowski (tpowa) - Friday, 21 January 2022, 07:00 GMT
You need at least kernel 5.3.
Comment by Andreas Radke (AndyRTR) - Friday, 21 January 2022, 07:05 GMT
xz compression is the only one supported.

check for zcat /proc/config.gz | grep CONFIG_FW_LOADER_COMPRESS to be set to "y" and your kernel needs to be at least 5.3.x
Comment by Jon L (JonBL) - Friday, 21 January 2022, 19:11 GMT
CONFIG_FW_LOADER_COMPRESS fixed it right up, thank you. I also updated the extensions on CONFIG_EXTRA_FIRMWARE and it took them all in without a hitch.

After thinking about it some more /proc/config may not be readily available for security reasons. It may be safer to just leave the GFX firmware uncompressed for a time to allow people the chance to recover.

Edit: Just realized I forgot the kernel version. It's linux-hardened-5.15 with more of a bare-bones config.
Comment by Dominik Rauh (dmrauh) - Tuesday, 25 January 2022, 16:48 GMT
I'm currently on Kernel 5.16.2-arch1-1 and thus "CONFIG_FW_LOADER_COMPRESS" is set to "y".

In spite of this, the Bluetooth module of my Intel AX200 doesn't work anymore. The driver
complains that it can't find the firmware files. As soon as I decompress the firmware files
manually and reboot, it is working again.

Strangely the WiFi part was working fine all along. Could this be a bug on part of the
Bluetooth driver?

Follow-Up:

This was because the now compressed firmware files were missing from the initramfs.
Adding them by means of "mkinitcpio.conf", made Bluetooth work again as expected.

Loading...