diff --git a/srcpkgs/linux-firmware/patches/ath12k.patch b/srcpkgs/linux-firmware/patches/ath12k.patch new file mode 100644 index 00000000000..8773332cb13 --- /dev/null +++ b/srcpkgs/linux-firmware/patches/ath12k.patch @@ -0,0 +1,35 @@ +From 2e91d8c3c4bd34a27177180a38f62d3ba3c96031 Mon Sep 17 00:00:00 2001 +From: Jeff Johnson +Date: Fri, 23 May 2025 09:41:02 -0700 +Subject: [PATCH] ath12k: WCN7850 hw2.0: update to + WLAN.HMT.1.1.c5-00284.1-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 + +Fix firmware load fail issue with some versions of WCN7850. + +Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220108 +Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2365882 +Closes: https://www.reddit.com/r/archlinux/comments/1kja6f9/ath12k_regression_on_latest_linuxfirmware_upgrade/ +Reported-by: Walt Holman +Closes: https://lore.kernel.org/all/CAMb39_m5Wm-5xjxYEJg4RxPZc1rdq0BkAJk_Q0B9APC3CAeORA@mail.gmail.com/ +Reported-by: Benjamin Eggerstedt +Closes: https://lore.kernel.org/all/EBAC1B61-E726-4614-9709-268CFF07007F@gmail.com/ +Fixes: aea9e010506e ("WCN7850 hw2.0: 1.1: add WLAN.HMT.1.1.c5-00284-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3") +Signed-off-by: Jeff Johnson +--- + WHENCE | 2 +- + ath12k/WCN7850/hw2.0/amss.bin | Bin 6082624 -> 6078528 bytes + 2 files changed, 1 insertion(+), 1 deletion(-) + +diff --git a/WHENCE b/WHENCE +index 865552e9..93f849c4 100644 +--- a/WHENCE ++++ b/WHENCE +@@ -3963,7 +3963,7 @@ Driver: ath12k - Qualcomm Technologies Wi-Fi 7 chipset support + File: ath12k/WCN7850/hw2.0/board-2.bin + File: ath12k/WCN7850/hw2.0/amss.bin + File: ath12k/WCN7850/hw2.0/m3.bin +-Version: WLAN.HMT.1.1.c5-00284-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 ++Version: WLAN.HMT.1.1.c5-00284.1-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 + File: ath12k/WCN7850/hw2.0/Notice.txt + File: ath12k/QCN9274/hw2.0/board-2.bin + File: ath12k/QCN9274/hw2.0/firmware-2.bin diff --git a/srcpkgs/linux-firmware/template b/srcpkgs/linux-firmware/template index d74d3f76640..f6f4b2d1eff 100644 --- a/srcpkgs/linux-firmware/template +++ b/srcpkgs/linux-firmware/template @@ -1,7 +1,8 @@ # Template file for 'linux-firmware' pkgname=linux-firmware -version=20250613 -revision=1 +reverts="20250613_1" +version=20250509 +revision=3 hostmakedepends="rdfind which $(vopt_if compressed zstd)" depends="linux-firmware-amd>=${version}_${revision} linux-firmware-network>=${version}_${revision}" short_desc="Binary firmware blobs for the Linux kernel" @@ -9,11 +10,17 @@ maintainer="classabbyamp " license="custom:see /usr/share/licenses/linux-firmware" homepage="https://www.kernel.org/" changelog="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/log/" -distfiles="https://gitlab.com/kernel-firmware/linux-firmware/-/archive/${version}/linux-firmware-${version}.tar.gz" -checksum=cf8668371742b5f7b69de2a96b4973addb780398a5ad231e40876919b650863a +distfiles="https://gitlab.com/kernel-firmware/linux-firmware/-/archive/${version}/linux-firmware-${version}.tar.gz + https://gitlab.com/kernel-firmware/linux-firmware/-/raw/2e91d8c3c4bd34a27177180a38f62d3ba3c96031/ath12k/WCN7850/hw2.0/amss.bin>amss-${version}.bin" +checksum="d990e2b1ed2aaf5d4d3bad2e3623710255ca5e62a6540e85193cc00d19d02b70 + 8bc1952148d73c98dd620921e435668ec205b2548f1edfb86f8b8452b0807007" python_version=3 nostrip=yes +# include a newer version of this ath12k firmware until the fixed version is released +# see also ath12k.patch +skip_extraction="amss-${version}.bin" + build_options="compressed" desc_option_compressed="compress firmware with zstd" @@ -25,6 +32,11 @@ do_install() { make install dedup FIRMWAREDIR=/usr/lib/firmware DESTDIR="$DESTDIR" fi + # XXX: "patching" the new, fixed version of this firmware + vsrccopy "amss-${version}.bin" . + rm "${DESTDIR}"/usr/lib/firmware/ath12k/WCN7850/hw2.0/amss.bin + vinstall "amss-${version}.bin" 644 usr/lib/firmware/ath12k/WCN7850/hw2.0 amss.bin + for _l in LICEN* WHENCE do vlicense "$_l" @@ -34,7 +46,7 @@ do_install() { linux-firmware-amd_package() { short_desc+=" - AMD CPU/GPU microcode" nostrip=yes - reverts="20250509_1" + reverts="20250613_1" pkg_install() { vmove usr/lib/firmware/amd* vmove usr/lib/firmware/radeon @@ -49,7 +61,7 @@ linux-firmware-amd_package() { linux-firmware-broadcom_package() { short_desc+=" - Broadcom network blobs" nostrip=yes - reverts="20250509_1" + reverts="20250613_1" pkg_install() { vmove usr/lib/firmware/brcm vmove usr/share/licenses/linux-firmware/LICENCE.broadcom_bcm43xx @@ -64,7 +76,7 @@ linux-firmware-broadcom_package() { linux-firmware-intel_package() { short_desc+=" - Intel GPU microcode" nostrip=yes - reverts="20250509_1" + reverts="20250613_1" pkg_install() { for d in i915 xe; do vmove "usr/lib/firmware/$d" @@ -76,7 +88,7 @@ linux-firmware-intel_package() { linux-firmware-nvidia_package() { short_desc+=" NVIDIA GPU microcode" nostrip=yes - reverts="20250509_1" + reverts="20250613_1" pkg_install() { vmove usr/lib/firmware/nvidia vmove usr/share/licenses/linux-firmware/LICENCE.nvidia* @@ -92,7 +104,7 @@ linux-firmware-network_package() { ;; esac nostrip=yes - reverts="20250509_1" + reverts="20250613_1" pkg_install() { _pats=( # Airoha Ethernet PHY @@ -183,7 +195,7 @@ linux-firmware-network_package() { linux-firmware-qualcomm_package() { short_desc+=" - Qualcomm SoC blobs" nostrip=yes - reverts="20250509_1" + reverts="20250613_1" pkg_install() { vmove usr/lib/firmware/qcom }