summary refs log tree commit diff
diff options
context:
space:
mode:
authorCharles Strahan <charles.c.strahan@gmail.com>2015-09-20 18:33:28 -0400
committerVladimír Čunát <vcunat@gmail.com>2015-10-15 13:12:42 +0200
commitcb38f10d12dbe5b6910ed4716c60df3d7becb7af (patch)
tree27d4f4dfef12952a72f49283977e14ce9f5b3be0
parent4c626f44d9ffddee5b73d9411678f49f80be140d (diff)
downloadnixpkgs-cb38f10d12dbe5b6910ed4716c60df3d7becb7af.tar
nixpkgs-cb38f10d12dbe5b6910ed4716c60df3d7becb7af.tar.gz
nixpkgs-cb38f10d12dbe5b6910ed4716c60df3d7becb7af.tar.bz2
nixpkgs-cb38f10d12dbe5b6910ed4716c60df3d7becb7af.tar.lz
nixpkgs-cb38f10d12dbe5b6910ed4716c60df3d7becb7af.tar.xz
nixpkgs-cb38f10d12dbe5b6910ed4716c60df3d7becb7af.tar.zst
nixpkgs-cb38f10d12dbe5b6910ed4716c60df3d7becb7af.zip
nixos-generate-config: detect brcmfmac requirement
This makes the firmware available (or would, if someone switched off
enableAllFirmware). Corresponding kernel module should get auto-loaded.

See #9948. Close #9971.
-rw-r--r--nixos/modules/installer/tools/nixos-generate-config.pl16
1 files changed, 16 insertions, 0 deletions
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index 39ef4c51ba1..19656c9b9ea 100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -152,6 +152,22 @@ sub pciCheck {
         push @kernelModules, "wl";
      }
 
+    # broadcom FullMac driver
+    # list taken from
+    # https://wireless.wiki.kernel.org/en/users/Drivers/brcm80211#brcmfmac
+    if ($vendor eq "0x14e4" &&
+        ($device eq "0x43a3" || $device eq "0x43df" || $device eq "0x43ec" ||
+         $device eq "0x43d3" || $device eq "0x43d9" || $device eq "0x43e9" ||
+         $device eq "0x43ba" || $device eq "0x43bb" || $device eq "0x43bc" ||
+         $device eq "0xaa52" || $device eq "0x43ca" || $device eq "0x43cb" ||
+         $device eq "0x43cc" || $device eq "0x43c3" || $device eq "0x43c4" ||
+         $device eq "0x43c5"
+        ) )
+    {
+        # we need e.g. brcmfmac43602-pcie.bin
+        push @imports, "<nixos/modules/hardware/network/broadcom-43xx.nix>";
+    }
+
     # Can't rely on $module here, since the module may not be loaded
     # due to missing firmware.  Ideally we would check modules.pcimap
     # here.