diff --git a/dell/xps/13-9310/default.nix b/dell/xps/13-9310/default.nix index 0f97550..874dd62 100644 --- a/dell/xps/13-9310/default.nix +++ b/dell/xps/13-9310/default.nix @@ -5,9 +5,18 @@ ../../../common/pc/laptop ]; - # Necessary for audio. - # https://bbs.archlinux.org/viewtopic.php?pid=1933548#p1933548 - hardware.firmware = [ pkgs.sof-firmware ]; + # TODO: upstream to NixOS/nixpkgs + nixpkgs.overlays = [(final: previous: { + qca6390-firmware = final.callPackage ./qca6390-firmware.nix {}; + })]; + + hardware.firmware = lib.mkBefore [ + # Necessary for audio. + # https://bbs.archlinux.org/viewtopic.php?pid=1933548#p1933548 + pkgs.sof-firmware + # Firmware for the AX500 (wi-fi & bluetooth chip). + pkgs.qca6390-firmware + ]; # Confirmed necessary to get audio working as of 2020-11-13: # https://bbs.archlinux.org/viewtopic.php?pid=1933643#p1933643 diff --git a/dell/xps/13-9310/qca6390-firmware.nix b/dell/xps/13-9310/qca6390-firmware.nix new file mode 100644 index 0000000..521bf32 --- /dev/null +++ b/dell/xps/13-9310/qca6390-firmware.nix @@ -0,0 +1,32 @@ +# Based on instructions from kvalo at: http://lists.infradead.org/pipermail/ath11k/2020-November/000537.html +# The xps/13-9360/qca6174-firmware.nix was a useful reference for how to setup this module. +{ stdenv }: + +stdenv.mkDerivation rec { + name = "${target}-firmware-${version}"; + version = "${branch}-00042"; + branch = "master"; + target = "QCA6390"; + src = builtins.fetchGit { + url = "https://github.com/kvalo/ath11k-firmware.git"; + ref = "master"; + rev = "45a6c45a19799d3b06fc2287d5ba44e19ee0aa00"; + }; + buildCommand = '' + mkdir -p $out/lib/firmware/ath11k/${target}/hw2.0/ + cp $src/QCA6390/hw2.0/1.0.1/WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1/*.bin $out/lib/firmware/ath11k/QCA6390/hw2.0/ + cp $src/QCA6390/hw2.0/board-2.bin $out/lib/firmware/ath11k/QCA6390/hw2.0/ + ''; + meta = with stdenv.lib; { + description = '' + Firmware for the QCA6390 wireless chip. + + This derivation is based on the instructions provided by kvalo in: + http://lists.infradead.org/pipermail/ath11k/2020-November/000537.html + ''; + homepage = "https://github.com/kvalo/ath11k-firmware/tree/master/QCA6390/hw2.0"; + license = licenses.unfreeRedistributable; + maintainers = with maintainers; [ mitchmindtree ]; + platforms = platforms.linux; + }; +}