From 64afb7c12df56edf5070ddd1e92a21bf5d059fdf Mon Sep 17 00:00:00 2001 From: Tom Bereknyei Date: Sun, 21 Jul 2019 21:49:13 -0400 Subject: [PATCH] Wifi fixed by removing iwlwifi-cc-a0-48.ucode --- dell/xps/15-7590/README.wiki | 5 ++++- dell/xps/15-7590/default.nix | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/dell/xps/15-7590/README.wiki b/dell/xps/15-7590/README.wiki index b323b3171883..b583b19d55d5 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 a3540e7cf324..4a9030ab30c9 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 { + 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"; + }); + }) + ]; + }; }