mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-20 04:19:00 +02:00
nixos: add option to load wireless regulatory database as firmware
use it when networkmanager or wpa_supplicant is enabled. fixes #57053 fixes "Direct firmware load for regulatory.db failed with error -2" in dmesg Note that all kernels on unstable are newer that 4.15, which is required for this to work.
This commit is contained in:
parent
900115a4f7
commit
8fe0143d88
|
@ -35,6 +35,14 @@ in {
|
|||
'';
|
||||
};
|
||||
|
||||
hardware.wirelessRegulatoryDatabase = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
Load the wireless regulatory database at boot.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
@ -58,6 +66,7 @@ in {
|
|||
++ optionals (versionOlder config.boot.kernelPackages.kernel.version "4.13") [
|
||||
rtl8723bs-firmware
|
||||
];
|
||||
hardware.wirelessRegulatoryDatabase = true;
|
||||
})
|
||||
(mkIf cfg.enableAllFirmware {
|
||||
assertions = [{
|
||||
|
@ -75,5 +84,8 @@ in {
|
|||
b43FirmwareCutter
|
||||
] ++ optional (pkgs.stdenv.hostPlatform.isi686 || pkgs.stdenv.hostPlatform.isx86_64) facetimehd-firmware;
|
||||
})
|
||||
(mkIf cfg.wirelessRegulatoryDatabase {
|
||||
hardware.firmware = [ pkgs.wireless-regdb ];
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
|
@ -6,7 +6,6 @@ let
|
|||
cfg = config.networking.networkmanager;
|
||||
|
||||
basePackages = with pkgs; [
|
||||
crda
|
||||
modemmanager
|
||||
networkmanager
|
||||
networkmanager-fortisslvpn
|
||||
|
@ -367,6 +366,8 @@ in {
|
|||
}
|
||||
];
|
||||
|
||||
hardware.wirelessRegulatoryDatabase = true;
|
||||
|
||||
environment.etc = with pkgs; {
|
||||
"NetworkManager/NetworkManager.conf".source = configFile;
|
||||
|
||||
|
|
|
@ -228,7 +228,8 @@ in {
|
|||
environment.systemPackages = [ package ];
|
||||
|
||||
services.dbus.packages = [ package ];
|
||||
services.udev.packages = [ pkgs.crda ];
|
||||
|
||||
hardware.wirelessRegulatoryDatabase = true;
|
||||
|
||||
# FIXME: start a separate wpa_supplicant instance per interface.
|
||||
systemd.services.wpa_supplicant = let
|
||||
|
|
Loading…
Reference in a new issue