Page MenuHomeFreeBSD

firmware: Be clearer about where load errors originate
Needs RevisionPublic

Authored by thj on Apr 14 2025, 1:43 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Jun 23, 11:25 PM
Unknown Object (File)
Sun, Jun 22, 7:19 AM
Unknown Object (File)
Fri, Jun 13, 5:52 PM
Unknown Object (File)
Jun 1 2025, 9:13 AM
Unknown Object (File)
May 31 2025, 8:23 AM
Unknown Object (File)
May 25 2025, 6:18 PM
Unknown Object (File)
May 7 2025, 1:24 PM
Unknown Object (File)
May 3 2025, 2:00 PM

Details

Summary

When we load firmware we first try and find a kernel module and then try
to load a file from the firmware path (/boot/firmware by default).

When the module fails to load we currently print a failure, but we don't
print a success message if we manage to load from a file.

With the move of wifi firmware from a kernel module to binary files many
users are seeing firmware load errors when the module isn't there and
these errors are being added to bug reports.

To avoid user confusion only print firmware load failures if we are
verbose, or if no firmware can be loaded.

Adjust some messages to make it clearer which firmware has failed to load.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 63501
Build 60385: arc lint + arc unit

Event Timeline

thj requested review of this revision.Apr 14 2025, 1:43 PM

Meant to add:

I'm happy to have a discussion about what the right thing to do is, this is just a first pass at trying to make loading less likely to cause confusion.

bz requested changes to this revision.Apr 14 2025, 2:03 PM
bz added inline comments.
sys/kern/subr_firmware.c
356

Please do not remove that. I believe LinuxKPI sets it as otherwise (on boot-v) we get up to three reports about the same file not loaded

sys/compat/linuxkpi/common/src/linux_firmware.c:        flags = FIRMWARE_GET_NOWARN;
This revision now requires changes to proceed.Apr 14 2025, 2:03 PM