summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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";
+ });
+ })
+ ];
+ };
}