summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Bereknyei <tomberek@gmail.com>2019-07-21 21:49:13 -0400
committerTom Bereknyei <tom@rebelliondefense.com>2020-02-01 20:49:06 -0500
commit64afb7c12df56edf5070ddd1e92a21bf5d059fdf (patch)
treedb17d6790c64fd02669d67d93046ccb73155e510
parent814bd1a02422e7007fe469442c94f1ec54b065d6 (diff)
Wifi fixed by removing iwlwifi-cc-a0-48.ucode
-rw-r--r--dell/xps/15-7590/README.wiki5
-rw-r--r--dell/xps/15-7590/default.nix20
2 files changed, 24 insertions, 1 deletions
diff --git a/dell/xps/15-7590/README.wiki b/dell/xps/15-7590/README.wiki
index b323b31..b583b19 100644
--- a/dell/xps/15-7590/README.wiki
+++ b/dell/xps/15-7590/README.wiki
@@ -22,7 +22,10 @@ These settings are needed both for booting the final install, and installer itse
* ''Disable Intel hardware RAID and use AHCI instead.'' Intel doesn't seem to provide a working linux driver for this. (If you just have SSD it's pointless and just slows things down needlessly anyways.)
=== Wifi ===
-Wifi does not work with kernels older than 5.1 (firmware not present) or newer (https://bbs.archlinux.org/viewtopic.php?id=247705)
+~~Wifi does not work with kernels older than 5.1 (firmware not present) or newer~~ (https://bbs.archlinux.org/viewtopic.php?id=247705)
+
+Update: The 48.ucode causes the Killer wifi card to crash. The iwlfwifi-cc-a0-46.ucode works perfectly. default.nix contains an overlay that removes the offending ucode from the linux-firmware bundle.
+
```
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
diff --git a/dell/xps/15-7590/default.nix b/dell/xps/15-7590/default.nix
index a3540e7..4a9030a 100644
--- a/dell/xps/15-7590/default.nix
+++ b/dell/xps/15-7590/default.nix
@@ -11,4 +11,24 @@
boot.kernelPackages = pkgs.linuxPackages_5_1;
boot.loader.efi.canTouchEfiVariables = lib.mkDefault true;
+ # The 48.ucode causes the Killer wifi card to crash.
+ # The iwlfwifi-cc-a0-46.ucode works perfectly
+ nixpkgs.pkgs = import <nixpkgs> {
+ config.allowUnfree = true;
+ overlays = [
+ (self: super: {
+ firmwareLinuxNonfree = super.firmwareLinuxNonfree.overrideAttrs (old: {
+ src = super.fetchgit{
+ url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
+ rev = "bf13a71b18af229b4c900b321ef1f8443028ded8";
+ sha256 = "1dcaqdqyffxiadx420pg20157wqidz0c0ca5mrgyfxgrbh6a4mdj";
+ };
+ postInstall = ''
+ rm $out/lib/firmware/iwlwifi-cc-a0-48.ucode
+ '';
+ outputHash = "0dq48i1cr8f0qx3nyq50l9w9915vhgpwmwiw3b4yhisbc3afyay4";
+ });
+ })
+ ];
+ };
}