Brice Waegeneire skribis: > Hello Katherine, > > TL;DR: “iw reg set US” correctly set the regulatory region from userland > but Guix can't set it just from the kernel. > > Katherine Cox-Buday writes: > >> #+BEGIN_EXAMPLE >> [ 8.280462] cfg80211: Loading compiled-in X.509 certificates for >> regulatory database >> [ 8.282686] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' >> [ 8.284394] platform regulatory.0: Direct firmware load for >> regulatory.db failed with error -2 >> [ 8.284415] cfg80211: failed to load regulatory.db >> #+END_EXAMPLE > > There is three way to make the module cfg80211 load a regulatory > database: > 1. Baking the DB into the kernel at build time by replacing the kernel's > limited DB with the one from 'wireless-regdb' via the option > CONFIG_CFG80211_INTERNAL_REGDB¹. > 2. Loading the DB at boot time as a signed firmware file > (lib/firmware/regulatory.db from 'wirerless-regdb') via the module > 'cfg80211'. > 3. Doing it in userland with the helper 'crda' trough the utility > 'iwd' or its predecesor 'wpa_supplicant'.² > > From what I understand and what I tested, only the third method works in > Guix System ATM. It could be usefull to also support the first or > second method to not depend on the userland setting the wireless > regulatory settings. Hi, You could also try adding "cfg80211.ieee80211_regdom=US" to the 'kernel-arguments' field of your 'operating-system' definition.