diff mbox series

configs/pc_x86_64_{bios, efi}_defconfig: add CRDA package

Message ID 20240311193526.32797-1-aladyshev22@gmail.com
State New
Headers show
Series configs/pc_x86_64_{bios, efi}_defconfig: add CRDA package | expand

Commit Message

Konstantin Aladyshev March 11, 2024, 7:35 p.m. UTC
Central Regulatory Domain Agent is used by the Linux kernel cf80211
wireless subsystem. Currently this package is not enabled and kernel
complains with the following message on every boot:
"""
platform regulatory.0: Direct firmware load for regulatory.db failed
with error -2
cfg80211: failed to load regulatory.db
"""
Add CRDA package to fix the issue.

Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
---
 configs/pc_x86_64_bios_defconfig | 1 +
 configs/pc_x86_64_efi_defconfig  | 1 +
 2 files changed, 2 insertions(+)

Comments

Maxim Kochetkov March 12, 2024, 5:40 a.m. UTC | #1
11.03.2024 22:35, Konstantin Aladyshev wrote:
> Central Regulatory Domain Agent is used by the Linux kernel cf80211
> wireless subsystem. Currently this package is not enabled and kernel
> complains with the following message on every boot:
> """
> platform regulatory.0: Direct firmware load for regulatory.db failed
> with error -2
> cfg80211: failed to load regulatory.db

wireless-regdb is regulatory database used by Linux.

> """
> Add CRDA package to fix the issue.

CRDA is a udev helper for communication between the kernel and - 
userspace. CRDA is no longer needed as of kernel v4.15 since commit 
007f6c5e6eb45 («cfg80211: support loading regulatory database as 
firmware file») added support to use the kernel’s firmware request API 
which looks for the firmware on /lib/firmware. Because of this CRDA is 
legacy software for older kernels.

So it looks like you need to install package/wireless-regdb instead of CRDA.
Konstantin Aladyshev March 30, 2024, 9:39 p.m. UTC | #2
Thanks for the hint!

Sorry, that it took me so long to test it and reply.
Please see the new patchset
https://lists.buildroot.org/pipermail/buildroot/2024-March/688611.html

BTW, why are there WiFi drivers in the first place? The readme for the
board refers only to the "nic,model=virtio"
(https://github.com/buildroot/buildroot/blob/master/board/pc/readme.txt)
So adding a bunch of network firmware seems pretty arbitrary to me. Is
there any particular reason for this? Or maybe all this can be
considered as legacy and removed?


Best regards,
Konstantin Aladyshev

On Tue, Mar 12, 2024 at 8:40 AM Maxim Kochetkov <fido_max@inbox.ru> wrote:
>
> 11.03.2024 22:35, Konstantin Aladyshev wrote:
> > Central Regulatory Domain Agent is used by the Linux kernel cf80211
> > wireless subsystem. Currently this package is not enabled and kernel
> > complains with the following message on every boot:
> > """
> > platform regulatory.0: Direct firmware load for regulatory.db failed
> > with error -2
> > cfg80211: failed to load regulatory.db
>
> wireless-regdb is regulatory database used by Linux.
>
> > """
> > Add CRDA package to fix the issue.
>
> CRDA is a udev helper for communication between the kernel and -
> userspace. CRDA is no longer needed as of kernel v4.15 since commit
> 007f6c5e6eb45 («cfg80211: support loading regulatory database as
> firmware file») added support to use the kernel’s firmware request API
> which looks for the firmware on /lib/firmware. Because of this CRDA is
> legacy software for older kernels.
>
> So it looks like you need to install package/wireless-regdb instead of CRDA.
diff mbox series

Patch

diff --git a/configs/pc_x86_64_bios_defconfig b/configs/pc_x86_64_bios_defconfig
index 6032544d2d..2c076a1b78 100644
--- a/configs/pc_x86_64_bios_defconfig
+++ b/configs/pc_x86_64_bios_defconfig
@@ -62,3 +62,4 @@  BR2_PACKAGE_ACPID=y
 BR2_PACKAGE_CONNMAN=y
 BR2_PACKAGE_CONNMAN_CLIENT=y
 BR2_PACKAGE_CONNMAN_WIFI=y
+BR2_PACKAGE_CRDA=y
diff --git a/configs/pc_x86_64_efi_defconfig b/configs/pc_x86_64_efi_defconfig
index afb652f3fc..e17aec9f35 100644
--- a/configs/pc_x86_64_efi_defconfig
+++ b/configs/pc_x86_64_efi_defconfig
@@ -63,3 +63,4 @@  BR2_PACKAGE_ACPID=y
 BR2_PACKAGE_CONNMAN=y
 BR2_PACKAGE_CONNMAN_CLIENT=y
 BR2_PACKAGE_CONNMAN_WIFI=y
+BR2_PACKAGE_CRDA=y