You are not logged in.

#1 2025-05-06 11:14:25

Johnburrell
Member
Registered: 2014-07-16
Posts: 23

Recompiling the kernel after adding firmware

Hello

I've been trying to recompile the kernel because I want to add the firmware for my network adapter. The adapter has a AX210 chipset and the firmware is of the form: intel/iwlwifi-ty-a0-gf-a0-89.ucode. The files go from 77 to 89. I also need intel/iwlwifi-ty-a0-gf-a0.pnvm.

So the required files are in /usr/lib/firmware/intel. The kernel uses these files and successfully creates the iwlwifi module.
However, when I boot the system the wifi isn't activated. BTW, I installed a xfce4 desktop.
When I look at journalctl or dmesg I see that the firmware files are not found.

I don't know if I can include a .png screenshot here for you to look at. So I'll copy the relevant part:

Intel(R) Wireless WiFi driver for Linux
iwlwifi 0000:25:00;0: Detected Intel(R) Wi-Fi 6 AX210 160MHz - it then lists each file as:

wlwifi 0000:25:00;0: Direct firmware load for iwlwifi-ty-a0-gf-a0-89.ucode failed with error -2

and all the files down to 77 are all 'failed error -2'

Just before this I also see:

'platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
cfg80211: failed to load regulatory.db'

So the kernel knows where the firmware files are located but these files are not accessed when building the wireless wifi driver.
And I guess the cfg80211 error is also a problem.

HTH

Regards

John Burrell

Offline

#2 2025-05-06 12:41:56

loqs
Member
Registered: 2014-03-06
Posts: 18,436

Re: Recompiling the kernel after adding firmware

Please post the full dmesg from a boot with the issue. Also is the iwlwifi module loaded early in the initrd?

Offline

#3 2025-05-07 08:37:56

Johnburrell
Member
Registered: 2014-07-16
Posts: 23

Re: Recompiling the kernel after adding firmware

I've solved the problem. The gpu firmware files are in /usr/lib/firmware/amdgpu and the iwlwifi file are in /usr/lib/firmware/intel. This arrangement doesn't allow the boot process to activate the wifi adapter. I had to move the iwlwifi-ty-a0-gf-a0-89.ucode file to /usr/lib/firmware so it could be found. That's the only firmware file needed to activate the network adapter.

The seems bizarre to me. The kernel is responsible for bringing up the system and I've told it where the firmware files are located.  How come the kernel can't supply the location of the firmware files to the remaining boot process?

Offline

#4 2025-05-07 12:48:54

loqs
Member
Registered: 2014-03-06
Posts: 18,436

Re: Recompiling the kernel after adding firmware

Johnburrell wrote:

the iwlwifi file are in /usr/lib/firmware/intel

The iwlwifi firmware files supplied by linux-firmware 20250408.c1a774f3-1 are in /usr/lib/firmware not /usr/lib/firmware/intel for example /usr/lib/firmware/iwlwifi-ty-a0-gf-a0-89.ucode.zst.

Last edited by loqs (2025-05-07 12:59:53)

Offline

Board footer

Powered by FluxBB