Subject: [bug#49649] [PATCH] gnu: Add regulatory.db in %base-firmware.

From: Ludovic Courtès <[email-masked]>
Date: Tue, 20 Jul 2021 15:26:38 +0200

Hi,

Brice Waegeneire <[email-masked]> skribis:

> * gnu/system.scm (%base-firmware): Add 'wireless-regdb'.
> ---
>  gnu/system.scm | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> Following discussion at <https://issues.guix.gnu.org/49611>, tho there is
> still an error about missing signature but now the kernel load the
> regulatory.db without the help of userspace:
>
> # dmesg | grep -E '(cfg80211|regulatory)'
> [    6.282015] cfg80211: Loading compiled-in X.509 certificates for regulatory database
> [    6.283766] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
> [    6.285927] platform regulatory.0: Direct firmware load for regulatory.db.p7s failed with error -2
> [    6.285931] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
>

Does that means that the loaded ‘regulatory.db’ is discarded right away?
Or does it proceed anyway?

In the former case, looks like we’ll have to do some more work.

Could our ‘wireless-regdb’ build things from source, hopefully getting
the exact same binary as the one provided upstream, in which case it
could install the original signature as-is.  IOW, we’d be building from
source for the explicit purpose of making sure the upstream-provided
‘regulatory.bin’ file can be built reproducibly from this source.

> I'm wondering if it's worth removing 'crda' from the default udev rules.

It was added in 68ac258b5291aee33dd11a6fd0f545f81935b633 long ago, and I
think it made sense back then.  :-)

Do you think it’s now unnecessary because the kernel can load it all by
itself?  Or does that depend on kernel build options?

Thanks,
Ludo’.