next-20210302 - build issue with linux-firmware and rtl_nic/ firmware.

4 messages, 2 authors, 2021-03-03 · open the first message on its own page

next-20210302 - build issue with linux-firmware and rtl_nic/ firmware.

From: Valdis Klētnieks <hidden>
Date: 2021-03-03 12:56:28

So my kernel build died..

  UPD     drivers/base/firmware_loader/builtin/rtl_nic/rtl8106e-1.fw.gen.S
make[4]: *** No rule to make target '/lib/firmware/rtl_nic/rtl8106e-1.fw', needed by 'drivers/base/firmware_loader/builtin/rtl_nic/rtl8106e-1.fw.gen.o'.  Stop.
make[3]: *** [scripts/Makefile.build:514: drivers/base/firmware_loader/builtin] Error 2

I tracked it down to a linux-firmware update that shipped everything with .xz compression:

% rpm2cpio linux-firmware-20201218-116.fc34.noarch.rpm | cpio -itv | grep 8106e-1
-rw-r--r--   1 root     root         1856 Dec 19 04:43 ./usr/lib/firmware/rtl_nic/rtl8106e-1.fw
631034 blocks
% rpm2cpio linux-firmware-20210208-117.fc34.noarch.rpm | cpio -itv|  grep 8106e-1
-rw-r--r--   1 root     root          848 Feb  8 16:38 ./usr/lib/firmware/rtl_nic/rtl8106e-1.fw.xz
340217 blocks

and my .config shows it's self-inflicted (no, I don't remember why it's in there):

# Firmware loader
CONFIG_EXTRA_FIRMWARE="rtl_nic/rtl8106e-1.fw"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"

But then I take a closer look at  drivers/net/ethernet/realtek/r8169_main.c
#define FIRMWARE_8168D_1	"rtl_nic/rtl8168d-1.fw"
#define FIRMWARE_8168D_2	"rtl_nic/rtl8168d-2.fw"
#define FIRMWARE_8168E_1	"rtl_nic/rtl8168e-1.fw"

So now I'm mystified how this compressing all the firmware files is supposed to work...

Re: next-20210302 - build issue with linux-firmware and rtl_nic/ firmware.

From: Heiner Kallweit <hkallweit1@gmail.com>
Date: 2021-03-03 12:58:46

On 03.03.2021 07:09, Valdis Klētnieks wrote:
So my kernel build died..

  UPD     drivers/base/firmware_loader/builtin/rtl_nic/rtl8106e-1.fw.gen.S
make[4]: *** No rule to make target '/lib/firmware/rtl_nic/rtl8106e-1.fw', needed by 'drivers/base/firmware_loader/builtin/rtl_nic/rtl8106e-1.fw.gen.o'.  Stop.
make[3]: *** [scripts/Makefile.build:514: drivers/base/firmware_loader/builtin] Error 2

I tracked it down to a linux-firmware update that shipped everything with .xz compression:

% rpm2cpio linux-firmware-20201218-116.fc34.noarch.rpm | cpio -itv | grep 8106e-1
-rw-r--r--   1 root     root         1856 Dec 19 04:43 ./usr/lib/firmware/rtl_nic/rtl8106e-1.fw
631034 blocks
% rpm2cpio linux-firmware-20210208-117.fc34.noarch.rpm | cpio -itv|  grep 8106e-1
-rw-r--r--   1 root     root          848 Feb  8 16:38 ./usr/lib/firmware/rtl_nic/rtl8106e-1.fw.xz
340217 blocks

and my .config shows it's self-inflicted (no, I don't remember why it's in there):

# Firmware loader
CONFIG_EXTRA_FIRMWARE="rtl_nic/rtl8106e-1.fw"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
This is wrong, simply remove it.
But then I take a closer look at  drivers/net/ethernet/realtek/r8169_main.c
#define FIRMWARE_8168D_1	"rtl_nic/rtl8168d-1.fw"
#define FIRMWARE_8168D_2	"rtl_nic/rtl8168d-2.fw"
#define FIRMWARE_8168E_1	"rtl_nic/rtl8168e-1.fw"

So now I'm mystified how this compressing all the firmware files is supposed to work...

Re: next-20210302 - build issue with linux-firmware and rtl_nic/ firmware.

From: Valdis Klētnieks <hidden>
Date: 2021-03-03 13:11:15

On Wed, 03 Mar 2021 07:51:06 +0100, Heiner Kallweit said:
quoted
# Firmware loader
CONFIG_EXTRA_FIRMWARE="rtl_nic/rtl8106e-1.fw"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
This is wrong, simply remove it.
quoted
But then I take a closer look at  drivers/net/ethernet/realtek/r8169_main.c
#define FIRMWARE_8168D_1	"rtl_nic/rtl8168d-1.fw"
#define FIRMWARE_8168D_2	"rtl_nic/rtl8168d-2.fw"
#define FIRMWARE_8168E_1	"rtl_nic/rtl8168e-1.fw"
Yes, but then how are *these* filenames supposed to work? Is a userspace helper
supposed to be smart enough to append the .xz, and the EXTRA_FIRMWARE variant
for embedding out-of-tree firmware has to point at an uncompressed version? 

Re: next-20210302 - build issue with linux-firmware and rtl_nic/ firmware.

From: Heiner Kallweit <hkallweit1@gmail.com>
Date: 2021-03-03 15:19:02

On 03.03.2021 08:39, Valdis Klētnieks wrote:
On Wed, 03 Mar 2021 07:51:06 +0100, Heiner Kallweit said:
quoted
quoted
# Firmware loader
CONFIG_EXTRA_FIRMWARE="rtl_nic/rtl8106e-1.fw"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
This is wrong, simply remove it.
quoted
quoted
But then I take a closer look at  drivers/net/ethernet/realtek/r8169_main.c
#define FIRMWARE_8168D_1	"rtl_nic/rtl8168d-1.fw"
#define FIRMWARE_8168D_2	"rtl_nic/rtl8168d-2.fw"
#define FIRMWARE_8168E_1	"rtl_nic/rtl8168e-1.fw"
Yes, but then how are *these* filenames supposed to work? Is a userspace helper
supposed to be smart enough to append the .xz, and the EXTRA_FIRMWARE variant
for embedding out-of-tree firmware has to point at an uncompressed version? 
There is no such thing as compressed firmware files, see here:
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/rtl_nic

Your issue may be distro-specific, so you should check in a support forum of
your respective distro.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help