# r8169 firmware load failure

## Jaglover

Can someone tell me what's wrong here? The firmware is where it should be.

```
[   10.681670] r8169 0000:02:00.0 eth0: Invalid action 0x50595443

[   10.681685] r8169 0000:02:00.0 eth0: unable to load firmware patch rtl_nic/rtl8168h-2.fw (-22)

```

----------

## ct85711

did you build the driver as built in or as a module?  (If you built the driver in, you also need to build the firmware into the kernel too.)

----------

## Jaglover

It is built as module.

----------

## NeddySeagoon

Jaglover,

Do you have /lib/firmware/rtl_nic/rtl8168h-2.fw ?

----------

## Jaglover

Neddy,

I certainly do, the error (-22) is not the same as not found (-2). I suspect the error in dmesg has something to do with it.

----------

## krinn

you might also just disable the firmware, my previous m/b nic was using a r8169 too but the card was running fine without any firmware.

i know many users report trouble with r8169 cards, but it seems not all cards are totally buggy.

----------

## Jaglover

Thanks for replies, I've switched to out of kernel r8168 driver as workaround.

----------

## pierre.labastie

I know this thread is somewhat old, but I found it because I had the exact same error:

```
Sep 28 21:46:46 turboli kernel: [    9.625227] r8169 0000:03:00.0: Invalid action 0x50595443

Sep 28 21:46:46 turboli kernel: [    9.625248] r8169 0000:03:00.0: Unable to load firmware rtl_nic/rtl8168g-2.fw (-22)
```

and I think I've understood the reason why this message is displayed: When loading a firmware blob, the kernel performs some checks to verify that the loaded file is indeed a firmware blob. But it was not in my case: what I have done is going to https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/rtl_nic, and then select "Save link as" by right clicking on the filename I needed. Problem is that doing that, you save an html file, not a firmware blob! What you need to do is click on the filename (this displays an hexdump of the file), then click on "(plain)' near the hash of the blob...

----------

