summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlukasepple <git@lukasepple.de>2016-02-14 16:34:30 +0100
committerlukasepple <git@lukasepple.de>2016-02-15 19:53:07 +0100
commit0b72e7e2472e381b0168345f2158dfe76afc2ab0 (patch)
tree55931881e3edd7ce2a9c539a974e6b7c3f9416af
parent400ade95ff735b5d9a58617edc85db2d7a1ddb1f (diff)
intel2200BGFirmware: init at 3.1
This commit adds the firmware for the Intel 2200BG wireless cards for the ipw2200 kernel module. Also it changes the networking.enableIntel2200BGFirmware option to set it as hardware.firmware since firmware-linux-nonfree does not contain the appropiate firmware anymore. Also hardware.enableAllFirmware does enable the intel2200BGFirmware now.
-rw-r--r--lib/maintainers.nix1
-rw-r--r--nixos/modules/hardware/all-firmware.nix2
-rw-r--r--nixos/modules/hardware/network/intel-2200bg.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix34
-rw-r--r--pkgs/top-level/all-packages.nix2
5 files changed, 39 insertions, 2 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 808d78d499de..094eaea56e68 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -184,6 +184,7 @@
lowfatcomputing = "Andreas Wagner <andreas.wagner@lowfatcomputing.org>";
lsix = "Lancelot SIX <lsix@lancelotsix.com>";
ludo = "Ludovic Courtès <ludo@gnu.org>";
+ lukasepple = "Lukas Epple <post@lukasepple.de>";
lukego = "Luke Gorrie <luke@snabb.co>";
luispedro = "Luis Pedro Coelho <luis@luispedro.org>";
lw = "Sergey Sofeychuk <lw@fmap.me>";
diff --git a/nixos/modules/hardware/all-firmware.nix b/nixos/modules/hardware/all-firmware.nix
index 1a04baef1930..d0d481f72a40 100644
--- a/nixos/modules/hardware/all-firmware.nix
+++ b/nixos/modules/hardware/all-firmware.nix
@@ -22,7 +22,7 @@ with lib;
###### implementation
config = mkIf config.hardware.enableAllFirmware {
- hardware.firmware = [ pkgs.firmwareLinuxNonfree ];
+ hardware.firmware = [ pkgs.firmwareLinuxNonfree pkgs.intel2200BGFirmware ];
};
}
diff --git a/nixos/modules/hardware/network/intel-2200bg.nix b/nixos/modules/hardware/network/intel-2200bg.nix
index 1b70057d135b..17b973474c93 100644
--- a/nixos/modules/hardware/network/intel-2200bg.nix
+++ b/nixos/modules/hardware/network/intel-2200bg.nix
@@ -23,7 +23,7 @@
config = lib.mkIf config.networking.enableIntel2200BGFirmware {
- hardware.enableAllFirmware = true;
+ hardware.firmware = [ pkgs.intel2200BGFirmware ];
};
diff --git a/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix b/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix
new file mode 100644
index 000000000000..f5b6abdd9c7e
--- /dev/null
+++ b/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl }:
+
+let version = "3.1"; in
+
+stdenv.mkDerivation {
+ name = "intel2200BGFirmware-${version}";
+
+ src = fetchurl {
+ url = "http://pkgs.fedoraproject.org/repo/pkgs/ipw2200-firmware/ipw2200-fw-${version}.tgz/eaba788643c7cc7483dd67ace70f6e99/ipw2200-fw-${version}.tgz";
+ sha256 = "c6818c11c18cc030d55ff83f64b2bad8feef485e7742f84f94a61d811a6258bd";
+ };
+
+ phases = [ "unpackPhase" "installPhase" ];
+
+ installPhase = ''
+ mkdir -p $out/lib/firmware
+ for fw in \
+ ipw2200-bss.fw \
+ ipw2200-ibss.fw \
+ ipw2200-sniffer.fw
+ do
+ cp -f $fw $out/lib/firmware/$fw
+ done
+ mkdir -p $out/share/doc/intel2200BGFirmware
+ cp -f LICENSE.ipw2200-fw $out/share/doc/intel2200BGFirmware/LICENSE
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Firmware for Intel 2200BG cards";
+ homepage = http://ipw2200.sourceforge.net/firmware.php;
+ license = stdenv.lib.licenses.unfreeRedistributableFirmware;
+ maintainers = with maintainers; [ lukasepple ];
+ };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 635f0125f2f2..0f4534bbdc64 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -10073,6 +10073,8 @@ let
ima-evm-utils = callPackage ../os-specific/linux/ima-evm-utils { };
+ intel2200BGFirmware = callPackage ../os-specific/linux/firmware/intel2200BGFirmware { };
+
iomelt = callPackage ../os-specific/linux/iomelt { };
iotop = callPackage ../os-specific/linux/iotop { };