diff --git a/dell/xps/13-9310/default.nix b/dell/xps/13-9310/default.nix index 2cb3d22..c625adb 100644 --- a/dell/xps/13-9310/default.nix +++ b/dell/xps/13-9310/default.nix @@ -1,238 +1,233 @@ { lib, pkgs, ... }: { imports = [ ../../../common/cpu/intel ../../../common/pc/laptop ]; - # TODO: Remove `qca6390-wifi-firmware.nix` once it is available via - # `firmware-linux-nonfree` package. - nixpkgs.overlays = [ - (final: previous: { - qca6390-wifi-firmware = final.callPackage ./qca6390-wifi-firmware.nix { }; - }) - ]; + # Includes the Wi-Fi (and likely Bluetooth) firmware for the QCA6390. + hardware.enableRedistributableFirmware = true; - hardware.firmware = lib.mkBefore [ pkgs.qca6390-wifi-firmware ]; + # Wi-Fi currently requires a specific set of patches to function. + # To ensure these patches do not conflict, we pin to a specific version here. + # TODO: Remove this once patches have finally landed in mainline. + boot.kernelPackages = let + linux_patched_pkg = + { buildLinux, fetchurl, modDirVersionArg ? null, ... }@args: + buildLinux (args // rec { + version = "5.10.18"; + modDirVersion = if (modDirVersionArg == null) then + builtins.replaceStrings [ "-" ] [ ".0-" ] version + else + modDirVersionArg; + src = fetchurl { + url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; + sha256 = "04dnkg5j73f6cd8ws1prrrjx37srz7rm66bj6slmnfzp3cmyxh9v"; + }; - # Patches are based on the 5.10 release. - boot.kernelPackages = pkgs.linuxPackages_5_10; - boot.kernelPatches = [ - # kvalo qca6390 patches - # https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/log/?h=ath11k-qca6390-bringup - { - name = "add-64-bit-check-before-reading-msi-high-addr"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=065c9528cc508cfbf6e3399582df29f76f56163c"; - sha256 = "1mqhwags919vlxllzqh5kj4b2l869swvfwa89jk804a1l4l02fmv"; - }; - } - { - name = "pci-support-platforms-with-one-msi-vector"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=59c6d022df8efb450f82d33dd6a6812935bd022f"; - sha256 = "0sxbb58bnryb9hic1cyc8dzrzachhca7a6hywyzz1pksh9syhs5y"; - }; - } - { - name = "try-to-allocate-big-block-of-dma-memory-firstly"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=0d8b0aff6b77ea5a8d715ba5d0089f9dffbabf21"; - sha256 = "120zqivqhs5080b64h62x69svi6bq02scgnkswa0hbvdncsy63y8"; - }; - } - { - name = "fix-monitor-status-dma-unmap-direction"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=fa4eea695afb286ae38beb30dabf251335cb4a62"; - sha256 = "1sh3d8ck4nlg671j2y8f07394xrqlnbrvh9rmy4l1zfpz7wa7d10"; - }; - } - { - name = "hook-mhi-suspend-and-resume"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=762fe5bc2dd1e43ef307a375861b1a8c414b14e3"; - sha256 = "154p8gp4smmmkhyx127f6rib04xd5bn38a3n4893rbyyb5kckv40"; - }; - } - { - name = "implement-hif-suspend-and-resume-functions"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=2f164833bcca14e8aec0b2566eae4b5a7d09ee6f"; - sha256 = "1ic968y1ivlgfhbj67ds809zqas7n50kc6wb8jgksk227dvagnip"; - }; - } - { - name = "read-select_window-register-to-ensure-write-is-finished"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=6afab932ece78fedc1538c20c2aefdd13aa6c9d0"; - sha256 = "19jiz9mf868rj57ljjdb3n97sfi6x78ac9kgd7fhg1bh0zjjiskp"; - }; - } - { - name = "implement-htc-suspend-related-callbacks"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=69ab2835b82c176e793195243e1400d4f8db3647"; - sha256 = "1gba5h0s6c6zjplw8zyqc2qj21ly1m2xzbgznml159wzj2xvzb2m"; - }; - } - { - name = "put-target-to-suspend-when-system-enters-suspend-state"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=68023bee4d61ea2b02af49bba00adabba51d8b6b"; - sha256 = "05aqdjd5xps0wncrh41r805fn2rpnhw53pn02a374g81bbifwa5q"; - }; - } - { - name = "pci-print-a-warning-if-firmware-crashed"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=23dcef9436560a033703164c4daff9e36e640969"; - sha256 = "0m45wvilr2cgdkpdjzcz4hdzsfs596ibjsvd7sdksjbrp5wslla1"; - }; - } - { - name = "qmi-print-allocated-memory-segment-addresses-and-sizes"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=a327caa4a5a677161a6f1d29514e8cb42236e956"; - sha256 = "1id6xz7siw1x2xa00psqvr4h5zb0xd83apy0cyv4jqzkd5x1kwl0"; - }; - } - { - name = "put-hw-to-dbs-using-mode"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=ce8b5dfc16a0b84ac9ab2d508c2d5e66e8bf179a"; - sha256 = "0gcnzn82mjdqy3ly494xfawqb9xvwd01dcdr43cw8ik92jggs4sf"; - }; - } - { - name = "fix-pcie-link-unstable-issue"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=a82a3aee7cde95d533c28cad3749e3c354011896"; - sha256 = "0r26g7j7kkm76bippp79vd462ykc8k8p0bxr7pshhkyazs6v1ij3"; - }; - } - { - name = "fix-pci-l1ss-clock-unstable-problem"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=08816aab67540e6babc558dafa973fc905a9afa1"; - sha256 = "180hp6iwgw7cqiiwhp9cnzwr5z9n26pphi2j693x751crzr0xkzw"; - }; - } - { - name = "disable-otp-write-privilege"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=86c5a1d6983e647a55448c80f94eb8f0aa97dfad"; - sha256 = "176g07kpsqnkc3vpfx2lhlrksmdg05m0zxn1i5yfvksczp2215iq"; - }; - } - { - name = "disable-aspm-l0sls-before-downloading-firmware"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=8bd374e3305359ca0be9fe88e8a1edc1abd537eb"; - sha256 = "1grjsf6jvn536cz6wil79l2lzc90ga1c7sisv9j0qac7jzr7x5rz"; - }; - } - { - name = "purge-rx-pktlog-when-entering-suspend"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=6f481de563dd108bd3df616c80e60f308b7a48e3"; - sha256 = "14qd1qv8v3mcslj7crzrw0ib1caa7vbnq7jkq163248658bbmk6p"; - }; - } - { - name = "set-credit_update-flag-for-flow-controlled-ep-only"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=6e0fba395a054cd58d87b3749f1f4ff2f3fef92e"; - sha256 = "0sgjxj6m3fdlgdfg7rv5fajfmbmrccy5asrammlgbc7gh5sn9ac4"; - }; - } - { - name = "implement-wow-enable-and-wow-wakeup-command"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=cfca935c92d8f2b31c95e7fd074645245f54492a"; - sha256 = "0dwbsqkw3f8v676s0x3jv04w0qk36ypvnwh02rx4qfdk38sh0j3j"; - }; - } - { - name = "add-ce-irq-enable-and-disable-hif-layer-functions"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=9297794a5d5af5e82b9554677f959add281a5b76"; - sha256 = "0hl93l8khh36drllxii969nvkb6p4hh28gnjyg0y10adm5q9b4ac"; - }; - } - { - name = "put-target-to-wow-state-when-suspend-happens"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=d448ef6decab05c499ffc005c56307a6fc1f1abe"; - sha256 = "17pgbmsryg96626xpbkzd0c27z71lsy7ygli4c6d4dzk5b9594zn"; - }; - } - { - name = "fix-incorrect-tlvs-in-scan-start-command"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=bfa226b7e2e988609631e7f6cd0d4e9ede423f6b"; - sha256 = "03qb5d0dm77l2ifmcy87p064qd55bg9kqx9nmxy6lrvz83crizpb"; - }; - } - { - name = "vdev-delete-sync-with-fw"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=c1d3ee50859a2d2c132a8461fdabde568df5ee20"; - sha256 = "1dscfdqv5x3h024gryh0464mky0j6z681rliiix17kdh172vxx52"; - }; - } - { - name = "peer-delete-sync-with-fw"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=6244933ddba318b36bb00c48eeb8d63a24a901c2"; - sha256 = "0p1663w0lik44gwyfzmxxiwnc3s9n3p46aappla8pbfk9wdgw86d"; - }; - } - { - name = "start-vdev-if-bss-peer-already-created"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=c58d077298d91c61c2466a50b58181a234474381"; - sha256 = "1462w29isnlfqs4bavzprhj48wbzvmwasbzh4djzfnsjm0ld7z90"; - }; - } - { - name = "hack-mhi-disable-m2-state"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=cdda596d45a99fed1fe74b0605de6b220c955c0b"; - sha256 = "0wfmaygzl8fav8lr67pjnhqskm6mh9ykcwqh71ijxvfn0kbq9fqg"; - }; - } - { - name = "hack-revert-place-pages-to-tail"; - patch = pkgs.fetchpatch { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=60fad49a69e7b2f896ce7b1ade4ed532227b8e22"; - sha256 = "0zhzjyym42r3rjwh55vk6p423lhz7555mb7xjqk63lczrsc221nm"; - }; - } - ]; + # kvalo qca6390 patches + # https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/log/?h=ath11k-qca6390-bringup + kernelPatches = [ + { + name = "add-64-bit-check-before-reading-msi-high-addr"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=065c9528cc508cfbf6e3399582df29f76f56163c"; + sha256 = "1mqhwags919vlxllzqh5kj4b2l869swvfwa89jk804a1l4l02fmv"; + }; + } + { + name = "pci-support-platforms-with-one-msi-vector"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=59c6d022df8efb450f82d33dd6a6812935bd022f"; + sha256 = "0sxbb58bnryb9hic1cyc8dzrzachhca7a6hywyzz1pksh9syhs5y"; + }; + } + { + name = "fix-monitor-status-dma-unmap-direction"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=fa4eea695afb286ae38beb30dabf251335cb4a62"; + sha256 = "1sh3d8ck4nlg671j2y8f07394xrqlnbrvh9rmy4l1zfpz7wa7d10"; + }; + } + { + name = "hook-mhi-suspend-and-resume"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=762fe5bc2dd1e43ef307a375861b1a8c414b14e3"; + sha256 = "154p8gp4smmmkhyx127f6rib04xd5bn38a3n4893rbyyb5kckv40"; + }; + } + { + name = "implement-hif-suspend-and-resume-functions"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=2f164833bcca14e8aec0b2566eae4b5a7d09ee6f"; + sha256 = "1ic968y1ivlgfhbj67ds809zqas7n50kc6wb8jgksk227dvagnip"; + }; + } + { + name = "read-select_window-register-to-ensure-write-is-finished"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=6afab932ece78fedc1538c20c2aefdd13aa6c9d0"; + sha256 = "19jiz9mf868rj57ljjdb3n97sfi6x78ac9kgd7fhg1bh0zjjiskp"; + }; + } + { + name = "implement-htc-suspend-related-callbacks"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=69ab2835b82c176e793195243e1400d4f8db3647"; + sha256 = "1gba5h0s6c6zjplw8zyqc2qj21ly1m2xzbgznml159wzj2xvzb2m"; + }; + } + { + name = "put-target-to-suspend-when-system-enters-suspend-state"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=68023bee4d61ea2b02af49bba00adabba51d8b6b"; + sha256 = "05aqdjd5xps0wncrh41r805fn2rpnhw53pn02a374g81bbifwa5q"; + }; + } + { + name = "pci-print-a-warning-if-firmware-crashed"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=23dcef9436560a033703164c4daff9e36e640969"; + sha256 = "0m45wvilr2cgdkpdjzcz4hdzsfs596ibjsvd7sdksjbrp5wslla1"; + }; + } + { + name = "qmi-print-allocated-memory-segment-addresses-and-sizes"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=a327caa4a5a677161a6f1d29514e8cb42236e956"; + sha256 = "1id6xz7siw1x2xa00psqvr4h5zb0xd83apy0cyv4jqzkd5x1kwl0"; + }; + } + { + name = "put-hw-to-dbs-using-mode"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=ce8b5dfc16a0b84ac9ab2d508c2d5e66e8bf179a"; + sha256 = "0gcnzn82mjdqy3ly494xfawqb9xvwd01dcdr43cw8ik92jggs4sf"; + }; + } + { + name = "fix-pcie-link-unstable-issue"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=a82a3aee7cde95d533c28cad3749e3c354011896"; + sha256 = "0r26g7j7kkm76bippp79vd462ykc8k8p0bxr7pshhkyazs6v1ij3"; + }; + } + { + name = "fix-pci-l1ss-clock-unstable-problem"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=08816aab67540e6babc558dafa973fc905a9afa1"; + sha256 = "180hp6iwgw7cqiiwhp9cnzwr5z9n26pphi2j693x751crzr0xkzw"; + }; + } + { + name = "disable-otp-write-privilege"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=86c5a1d6983e647a55448c80f94eb8f0aa97dfad"; + sha256 = "176g07kpsqnkc3vpfx2lhlrksmdg05m0zxn1i5yfvksczp2215iq"; + }; + } + { + name = "disable-aspm-l0sls-before-downloading-firmware"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=8bd374e3305359ca0be9fe88e8a1edc1abd537eb"; + sha256 = "1grjsf6jvn536cz6wil79l2lzc90ga1c7sisv9j0qac7jzr7x5rz"; + }; + } + { + name = "purge-rx-pktlog-when-entering-suspend"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=6f481de563dd108bd3df616c80e60f308b7a48e3"; + sha256 = "14qd1qv8v3mcslj7crzrw0ib1caa7vbnq7jkq163248658bbmk6p"; + }; + } + { + name = "set-credit_update-flag-for-flow-controlled-ep-only"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=6e0fba395a054cd58d87b3749f1f4ff2f3fef92e"; + sha256 = "0sgjxj6m3fdlgdfg7rv5fajfmbmrccy5asrammlgbc7gh5sn9ac4"; + }; + } + { + name = "implement-wow-enable-and-wow-wakeup-command"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=cfca935c92d8f2b31c95e7fd074645245f54492a"; + sha256 = "0dwbsqkw3f8v676s0x3jv04w0qk36ypvnwh02rx4qfdk38sh0j3j"; + }; + } + { + name = "add-ce-irq-enable-and-disable-hif-layer-functions"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=9297794a5d5af5e82b9554677f959add281a5b76"; + sha256 = "0hl93l8khh36drllxii969nvkb6p4hh28gnjyg0y10adm5q9b4ac"; + }; + } + { + name = "put-target-to-wow-state-when-suspend-happens"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=d448ef6decab05c499ffc005c56307a6fc1f1abe"; + sha256 = "17pgbmsryg96626xpbkzd0c27z71lsy7ygli4c6d4dzk5b9594zn"; + }; + } + { + name = "vdev-delete-sync-with-fw"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=c1d3ee50859a2d2c132a8461fdabde568df5ee20"; + sha256 = "1dscfdqv5x3h024gryh0464mky0j6z681rliiix17kdh172vxx52"; + }; + } + { + name = "peer-delete-sync-with-fw"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=6244933ddba318b36bb00c48eeb8d63a24a901c2"; + sha256 = "0p1663w0lik44gwyfzmxxiwnc3s9n3p46aappla8pbfk9wdgw86d"; + }; + } + { + name = "start-vdev-if-bss-peer-already-created"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=c58d077298d91c61c2466a50b58181a234474381"; + sha256 = "1462w29isnlfqs4bavzprhj48wbzvmwasbzh4djzfnsjm0ld7z90"; + }; + } + { + name = "hack-mhi-disable-m2-state"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=cdda596d45a99fed1fe74b0605de6b220c955c0b"; + sha256 = "0wfmaygzl8fav8lr67pjnhqskm6mh9ykcwqh71ijxvfn0kbq9fqg"; + }; + } + { + name = "hack-revert-place-pages-to-tail"; + patch = pkgs.fetchpatch { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/patch/?id=60fad49a69e7b2f896ce7b1ade4ed532227b8e22"; + sha256 = "0zhzjyym42r3rjwh55vk6p423lhz7555mb7xjqk63lczrsc221nm"; + }; + } + ]; + } // (args.argsOverride or { })); + linux_patched = pkgs.callPackage linux_patched_pkg { }; + in pkgs.recurseIntoAttrs (pkgs.linuxPackagesFor linux_patched); # 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-wifi-firmware.nix b/dell/xps/13-9310/qca6390-wifi-firmware.nix deleted file mode 100644 index 7e1a756..0000000 --- a/dell/xps/13-9310/qca6390-wifi-firmware.nix +++ /dev/null @@ -1,34 +0,0 @@ -# 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, fetchFromGitHub }: - -stdenv.mkDerivation rec { - name = "${target}-wifi-firmware-${version}"; - version = "${branch}-00042"; - branch = "master"; - target = "QCA6390"; - src = fetchFromGitHub { - owner = "kvalo"; - repo = "ath11k-firmware"; - rev = "45a6c45a19799d3b06fc2287d5ba44e19ee0aa00"; - sha256 = "1slfjzy2b9zi8744gyw8piz9gfvrh8s38wmyzzqj525iy76zn4qv"; - }; - 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; - }; -}