# [BUG] linux-firmware 20200918  missing modules [SOLVED]

## poe_1957

```

iwlwifi 0000:06:00.0: Direct firmware load for iwlwifi-cc-a0-56.ucode failed with error -2

iwlwifi 0000:06:00.0: Direct firmware load for iwl-debug-yoyo.bin failed with error -2

```

```
[?] sys-kernel/linux-firmware

     Available versions:  20200316^bsd 20200421^bsd 20200519^bsd 20200619^bsd 20200721^bsd 20200817^bsd **99999999*l^bsd {initramfs +redistributable savedconfig unknown-license}

     Installed versions:  20200918^bs(00:17:09 08-10-20)(initramfs redistributable -savedconfig -unknown-license)

     Homepage:            https://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git

     Description:         Linux firmware files
```

Since the update to the most recent version of firmware 18/9/2020, the kernel says it failed on 2 firmware (see above), neither of these firmwares are available in /lib/firmware. I do not use saved config so all firmwares are compiled and installed.

I presume they are new modules because in my previous versions they were not, and the existing needed firmwares need them. All other firmware from iwl is present and loaded. In previous versions this was not a problem. I think some dependency is changed and the new modules were not included in the packet.

This is my Linux-firmware :

```
okt 08 15:46:02 POERYZEN kernel: iwlwifi 0000:06:00.0: loaded firmware version 55.d9698065.0 cc-a0-55.ucode op_mode iwlmvm

okt 08 15:46:02 POERYZEN kernel: AES CTR mode by8 optimization enabled
```

I use now gentoo-sources 5.8.10. for AMD's ZEN2-3900X. iwlwifi 0000:06:00.0: Detected Intel(R) Wi-Fi 6 AX200 160MHz, REV=0x340.  Intel(R) Wireless WiFi driver for Linux iwlwifi 0000:06:00.0: enabling device (0000 -> 0002) iwlwifi 0000:06:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 89.3.35.22 iwlwifi 0000:06:00.0: loaded firmware version 55.d9698065.0 cc-a0-55.ucode op_mode iwlmvm AES CTR mode by8 optimization enabled

Hopefully someone can correct this ?

----------

## DaggyStyle

found this: https://www.reddit.com/r/linuxquestions/comments/ilfk9m/change_iwlwifi_firmware_intel_wifi_6_ax200/

might help

----------

## Buffoon

I see you download all firmware and then hope one of those fits your hardware. I do it the other way around, I get the firmware which matches my hardware, the lottery element is missing in my method. You have my permission to use my method until your way starts working again.

iwlwifi firmware downlad: https://www.intel.com/content/www/us/en/support/articles/000005511/network-and-i-o/wireless.html

https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/

----------

## NeddySeagoon

poe_1957,

All of dmesg would be useful.

If your iwlwifi driver is built into your kernel, its firmware must be too as it will be loaded before root is mounted.

If iwlwifi is a module, it will be loaded when the module is loaded. That may mean that the firmware needs to be in your initrd.

----------

## Hu

 *Buffoon wrote:*   

> I see you download all firmware and then hope one of those fits your hardware. I do it the other way around, I get the firmware which matches my hardware, the lottery element is missing in my method. You have my permission to use my method until your way starts working again.

 Downloading all packaged firmware is easy via the Gentoo firmware package, and for most people, provides what they need without the need to research what exactly they will need.  It is not the most space efficient approach, but it is very simple and quick.

----------

## poe_1957

I started first with selecting every firmware I needed and everything was ok (NeddySeagoon you have my config already seen), but he responded withy the latest  upgraded firmware (september) to say I need those ucodes which I previously not needed in previous versions of linux-firmware (june, july, august 20)and those did not give me a problem .

So I added them( the missing new cc-a0-56 and the yoyo-debug.bin) in the kernel-buildin by  drivers--> loading firmware. I recompiled tyhe kernel and then he said he could not find it.  So I searched /lib/firmware but I did not found the firmware.

So i removed saved-config in hope that they would show up. NOPE. And that is the situation i am in now. 

The firmware he needs is NOT in the gentoo Linux-firmware. See my post I miss :

iwlwifi-cc-a0-56.ucode is not in Linux-firmware where it should be.

iwl-debug-yoyo.bin       is not in Linux-firmware where it should be.

```
okt 08 15:46:02 POERYZEN kernel: iwlwifi 0000:06:00.0: enabling device (0000 -> 0002)

okt 08 15:46:02 POERYZEN kernel: iwlwifi 0000:06:00.0: Direct firmware load for iwlwifi-cc-a0-56.ucode failed with error -2

okt 08 15:46:02 POERYZEN kernel: iwlwifi 0000:06:00.0: api flags index 2 larger than supported by driver

okt 08 15:46:02 POERYZEN kernel: iwlwifi 0000:06:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 89.3.35.22

okt 08 15:46:02 POERYZEN kernel: iwlwifi 0000:06:00.0: Found debug destination: EXTERNAL_DRAM

okt 08 15:46:02 POERYZEN kernel: iwlwifi 0000:06:00.0: Found debug configuration: 0

okt 08 15:46:02 POERYZEN kernel: iwlwifi 0000:06:00.0: loaded firmware version 55.d9698065.0 cc-a0-55.ucode op_mode iwlmvm

okt 08 15:46:02 POERYZEN kernel: iwlwifi 0000:06:00.0: Direct firmware load for iwl-debug-yoyo.bin failed with error -2

okt 08 15:46:02 POERYZEN kernel: iwlwifi 0000:06:00.0: Detected Intel(R) Wi-Fi 6 AX200 160MHz, REV=0x340

okt 08 15:46:02 POERYZEN kernel: iwlwifi 0000:06:00.0: reporting RF_KILL (radio disabled)

okt 08 15:46:02 POERYZEN kernel: iwlwifi 0000:06:00.0: base HW address: xx:xx:x:x:x (stripped for security)

okt 08 15:46:02 POERYZEN kernel: iwlwifi 0000:06:00.0 wlp6s0: renamed from wlan0

okt 08 15:46:02 POERYZEN kernel: Modules linked in: algif_aead pktcdvd iwlmvm kvm_amd kvm mac80211 irqbypass libarc4 crct10dif_pclmul crc32_pclmul aesni_intel crypto_simd input_leds led_class cryptd mousedev glue_helper iwlwifi btusb btrtl btbcm i2c_piix4 btintel ccp cfg80211 igb rtc_cmos pinctrl_amd

```

I post more dmesg tomorrow but I doubt it would clear up anything since it is clear that the current version does not contain the modules needed.

----------

## Buffoon

@Hu

It depends on what Gentoo is for you. For me it is a [great] idea and help to build my Linux. In other words, I build my Linux my way, and I use Gentoo way only if it suits me. I do not let it restrict me, if there is something more rational and less bloated then I do not feel Gentoo forcing me (love that!). What exactly is the purpose of your post? Who are you addressing? General public? I did not say everybody has to do it my way.

----------

## Buffoon

```
okt 08 15:46:02 POERYZEN kernel: iwlwifi 0000:06:00.0: loaded firmware version 55.d9698065.0 cc-a0-55.ucode op_mode iwlmvm
```

The firmware is loaded and the device is functional. Not the latest which is not available, yet.

I do not think iwl-debug-yoyo.bin is needed for normal operation, it looks like something developers could use.

```
okt 08 15:46:02 POERYZEN kernel: iwlwifi 0000:06:00.0: base HW address: xx:xx:x:x:x (stripped for security)
```

Stripped for security? Oh my ... MAC is layer 2, how could it be dangerous to publish.

----------

## NeddySeagoon

Buffoon,

Thats erring on the side of caution. The internet never forgets.

----------

## charles17

 *poe_1957 wrote:*   

> I use now gentoo-sources 5.8.10. for AMD's ZEN2-3900X. iwlwifi 0000:06:00.0: Detected Intel(R) Wi-Fi 6 AX200 160MHz, REV=0x340.  Intel(R) Wireless WiFi driver for Linux iwlwifi 0000:06:00.0: enabling device (0000 -> 0002) iwlwifi 0000:06:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 89.3.35.22 iwlwifi 0000:06:00.0: loaded firmware version 55.d9698065.0 cc-a0-55.ucode op_mode iwlmvm AES CTR mode by8 optimization enabled
> 
> 

 

According to https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi?s%5b%5d=AX200#firmware the AX200 wants iwlwifi-cc-46....

----------

## poe_1957

@Daggystyle :

Your solution worked perfectly, I downloaded and unpacked it and I moved it to /lib/firmware, added in the kernel, recompiled and the problem was gone. I did not need for the iwl-debug-yoyo.bin. As Buffoon said I do not think iwl-debug-yoyo.bin is needed for normal operation, it looks like something developers could use.

Question remain : can someone inform the maintainer of Linux-firmware to add iwlwifi-cc-a0-56.ucode to add it ?

For me this problem is resolved but I can image some other people would stumble on the same problem.

----------

## CaptainBlood

I guess opening a bug report at Gentoo bug report could help.

Seems like most devs only care for such report, not what is said on the forum.

Thks 4 ur attention, interest & support.

----------

## grknight

Intel Wifi is known to actively advance the allowable versions of firmware releases even before they are published.  The message is normal and expected until it is released.

The driver will try known working firmware versions from greatest to least. So long as one is found, the device will work albeit with Non-existent files being a little verbose in dmesg.

The point is the device works and will accept new firmware when it is released upstream.

----------

## poe_1957

You wrote :

```
The driver will try known working firmware versions from greatest to least. So long as one is found, the device will work albeit with Non-existent files being a little verbose in dmesg.
```

I would agree with your point if the software incorporated in the app-sys/linux-firmware did not ask for the missing module.But in fact it needs it to work.

I am still from the opinion if you upgrade the software with a new version you take ALL the necessary pieces needed for the working of the device. In this case is it is not.

Just adding the iwlwifi-cc-a0-56.ucode to the sys-app/linux-firmware solves the problem.

I think it is just forgotten to add it. 

my 2cents,

----------

## Etal

Where did iwlwifi-cc-a0-56.ucode come from, though? Both in linux-firmware, and on Intel's firmware download page, the latest one is iwlwifi-cc-a0-46.ucode

----------

## charles17

 *Etal wrote:*   

> Where did iwlwifi-cc-a0-56.ucode come from, though? ...[/url], the latest one is iwlwifi-cc-a0-46.ucode

 See bug 750551#c1

----------

## grknight

 *Etal wrote:*   

> Where did iwlwifi-cc-a0-56.ucode come from, though? Both in linux-firmware, and on Intel's firmware download page, the latest one is iwlwifi-cc-a0-46.ucode

 

Intel hardcodes firmware version numbers into the iwlwifi driver for each type of device and often list several even before they are released.  They don't necessarily post them on their website.

 *poe_1957 wrote:*   

> I would agree with your point if the software incorporated in the app-sys/linux-firmware did not ask for the missing module.

 

There is no "software" in sys-apps/linux-firmware.  The kernel driver requests many different firmwares that the kernel itself should load and when it finds a supported one, it is happy.

If you can point to where iwlwifi-cc-a0-56.ucode exists, then everyone would be happy.  It certainly does not yet exist in the upstream repository.

----------

## poe_1957

As you say it loads from intel.

In september the code was available from their site. Now in october it seems they have removed them again and rolled back their drivers to the previous situation that worked ok.

With a new reload of the firmware it was back to 'normal' situation. So you can close the bug. After all it seems that it orgin was then Intel and that they corrected it.

Now everything is working fine again as previous. 

 *Quote:*   

> There is no "software" in sys-apps/linux-firmware. The kernel driver requests many different firmwares that the kernel itself should load and when it finds a supported one, it is happy.
> 
> 

 

It seems it was a premature release of Intel. Now with your explication I understand better the working of the ucode.

----------

