aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjoern A. Zeeb <bz@FreeBSD.org>2024-04-25 13:46:04 +0000
committerBjoern A. Zeeb <bz@FreeBSD.org>2024-05-23 22:19:37 +0000
commit80f50c9eb66d88b6e69cd5159d1ff318dcb60b33 (patch)
treeafe935dffa184f66bce092c3a50f89f5b3951ee0
parent3dc4928b6c995e22f199f7b9a1bdb5247d8d7a10 (diff)
downloadports-80f50c9eb66d88b6e69cd5159d1ff318dcb60b33.tar.gz
ports-80f50c9eb66d88b6e69cd5159d1ff318dcb60b33.zip
net/wifi-firmware-*kmod: improve build logic, add flavors, update fw version
- update framework to no longer depend on local distfiles for firmware(9) but generate the Makefile hierarchy in post-extract. Keep a Makefile.inc.in in files for simplicity. - update extracting WHENCE parts using a local WHENCE.awk.in in files and a pattern to match the section(s). - use the already prepared FWSUBS sections for flavors and add the FWDRV as "default". Generate the CONFLICTS_INSTALL conflict and PKGNAMESUFFIX entries. Adjust paths and logic for flavors. Depend on the flavors rather the combined ("default flavor") packages by default if someone installs wifi-firmware-kmod. The wifi-firmware-${name}-kmod packages are still built for older versions of fwget shipping in releases. - add support for iwlwifi and ath12k firmware - update firmware to linux-firmware.git tag: 20240513 for all drivers. Sponsored by: The FreeBSD Foundation Reviewed by: jrm Differential Revision: https://reviews.freebsd.org/D44945
-rw-r--r--net/wifi-firmware-ath10k-kmod/Makefile126
-rw-r--r--net/wifi-firmware-ath10k-kmod/distinfo150
-rw-r--r--net/wifi-firmware-ath11k-kmod/Makefile119
-rw-r--r--net/wifi-firmware-ath11k-kmod/distinfo54
-rw-r--r--net/wifi-firmware-ath12k-kmod/Makefile35
-rw-r--r--net/wifi-firmware-ath12k-kmod/distinfo13
-rw-r--r--net/wifi-firmware-ath12k-kmod/pkg-descr3
-rw-r--r--net/wifi-firmware-iwlwifi-kmod/Makefile68
-rw-r--r--net/wifi-firmware-iwlwifi-kmod/distinfo49
-rw-r--r--net/wifi-firmware-iwlwifi-kmod/pkg-descr1
-rw-r--r--net/wifi-firmware-kmod/Makefile43
-rw-r--r--net/wifi-firmware-kmod/Makefile.inc96
-rw-r--r--net/wifi-firmware-kmod/files/Makefile.inc.in26
-rw-r--r--net/wifi-firmware-kmod/files/WHENCE.awk.in24
-rw-r--r--net/wifi-firmware-mt76-kmod/Makefile57
-rw-r--r--net/wifi-firmware-mt76-kmod/distinfo96
-rw-r--r--net/wifi-firmware-mt76-kmod/pkg-descr2
-rw-r--r--net/wifi-firmware-rtw88-kmod/Makefile28
-rw-r--r--net/wifi-firmware-rtw88-kmod/distinfo36
-rw-r--r--net/wifi-firmware-rtw89-kmod/Makefile31
-rw-r--r--net/wifi-firmware-rtw89-kmod/distinfo28
-rw-r--r--net/wifi-firmware-rtw89-kmod/pkg-descr12
22 files changed, 728 insertions, 369 deletions
diff --git a/net/wifi-firmware-ath10k-kmod/Makefile b/net/wifi-firmware-ath10k-kmod/Makefile
index 20003c3ce348..e91f1cddc821 100644
--- a/net/wifi-firmware-ath10k-kmod/Makefile
+++ b/net/wifi-firmware-ath10k-kmod/Makefile
@@ -2,87 +2,97 @@ BASEDIR= ${.CURDIR}/../wifi-firmware-kmod
FWDRV= ath10k
FWSUBDIR= ath10k
-FWDRV_VERSION= 20230310
+FWDRV_VERSION= 20240513
LICENSE= LICENSE.QualcommAtheros_ath10k
LICENSE_NAME= QCA firmware license (${FWDRV})
-FWSUBS= \
- QCA6174_hw21 \
- QCA6174_hw30 \
- QCA9377_hw10 \
- QCA9887_hw10 \
- QCA9888_hw20 \
- QCA988X_hw20 \
- QCA9984_hw10 \
- QCA99X0_hw20
+WHENCE_REGEX= ath10k -.*
-DISTFILES_QCA6174_hw21= \
- ${FWSUBDIR}/QCA6174/hw2.1/board.bin${DISTURL_SUFFIX} \
+# The flavor/firmware lists below are generated by a script
+# also helping to generate the fwget(8) definitions.
+# { sys/contrib/dev/athk/ath10k/zzz_fw_ports_fwget.sh }
+### >>>
+
+FWSUBS= \
+ qca988x_hw20 \
+ qca6174_hw21 \
+ qca6174_hw30 \
+ qca99x0_hw20 \
+ qca9377_hw10 \
+ qca9984_hw10 \
+ qca9887_hw10 \
+ qca9888_hw20
+
+DISTFILES_qca988x_hw20= \
+ ${FWSUBDIR}/QCA988X/hw2.0/board.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/QCA988X/hw2.0/firmware-4.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/QCA988X/hw2.0/firmware-5.bin${DISTURL_SUFFIX}
+DISTFILES_qca988x_hw20_lic= \
+ ${FWSUBDIR}/QCA988X/hw2.0/notice_ath10k_firmware-4.txt${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/QCA988X/hw2.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX}
+DISTFILES_qca6174_hw21= \
${FWSUBDIR}/QCA6174/hw2.1/board-2.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/QCA6174/hw2.1/board.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA6174/hw2.1/firmware-5.bin${DISTURL_SUFFIX}
-DISTFILES_QCA6174_hw21_lic= \
+DISTFILES_qca6174_hw21_lic= \
${FWSUBDIR}/QCA6174/hw2.1/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX}
-DISTFILES_QCA6174_hw30= \
- ${FWSUBDIR}/QCA6174/hw3.0/board.bin${DISTURL_SUFFIX} \
+DISTFILES_qca6174_hw30= \
${FWSUBDIR}/QCA6174/hw3.0/board-2.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/QCA6174/hw3.0/board.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA6174/hw3.0/firmware-4.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA6174/hw3.0/firmware-6.bin${DISTURL_SUFFIX}
-DISTFILES_QCA6174_hw30_lic= \
+DISTFILES_qca6174_hw30_lic= \
${FWSUBDIR}/QCA6174/hw3.0/notice_ath10k_firmware-4.txt${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA6174/hw3.0/notice_ath10k_firmware-6.txt${DISTURL_SUFFIX}
-DISTFILES_QCA9377_hw10= \
- ${FWSUBDIR}/QCA9377/hw1.0/board.bin${DISTURL_SUFFIX} \
+DISTFILES_qca99x0_hw20= \
+ ${FWSUBDIR}/QCA99X0/hw2.0/board-2.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/QCA99X0/hw2.0/firmware-5.bin${DISTURL_SUFFIX}
+DISTFILES_qca99x0_hw20_lic= \
+ ${FWSUBDIR}/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX}
+DISTFILES_qca9377_hw10= \
${FWSUBDIR}/QCA9377/hw1.0/board-2.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/QCA9377/hw1.0/board.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA9377/hw1.0/firmware-5.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA9377/hw1.0/firmware-6.bin${DISTURL_SUFFIX}
-DISTFILES_QCA9377_hw10_lic= \
+DISTFILES_qca9377_hw10_lic= \
${FWSUBDIR}/QCA9377/hw1.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA9377/hw1.0/notice_ath10k_firmware-6.txt${DISTURL_SUFFIX}
-DISTFILES_QCA9887_hw10= \
+DISTFILES_qca9984_hw10= \
+ ${FWSUBDIR}/QCA9984/hw1.0/board-2.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/QCA9984/hw1.0/firmware-5.bin${DISTURL_SUFFIX}
+DISTFILES_qca9984_hw10_lic= \
+ ${FWSUBDIR}/QCA9984/hw1.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX}
+DISTFILES_qca9887_hw10= \
${FWSUBDIR}/QCA9887/hw1.0/board.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA9887/hw1.0/firmware-5.bin${DISTURL_SUFFIX}
-DISTFILES_QCA9887_hw10_lic= \
+DISTFILES_qca9887_hw10_lic= \
${FWSUBDIR}/QCA9887/hw1.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX}
-DISTFILES_QCA9888_hw20= \
+DISTFILES_qca9888_hw20= \
${FWSUBDIR}/QCA9888/hw2.0/board-2.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA9888/hw2.0/firmware-5.bin${DISTURL_SUFFIX}
-DISTFILES_QCA9888_hw20_lic= \
+DISTFILES_qca9888_hw20_lic= \
${FWSUBDIR}/QCA9888/hw2.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX}
-DISTFILES_QCA988X_hw20= \
- ${FWSUBDIR}/QCA988X/hw2.0/board.bin${DISTURL_SUFFIX} \
- ${FWSUBDIR}/QCA988X/hw2.0/firmware-4.bin${DISTURL_SUFFIX} \
- ${FWSUBDIR}/QCA988X/hw2.0/firmware-5.bin${DISTURL_SUFFIX}
-DISTFILES_QCA988X_hw20_lic= \
- ${FWSUBDIR}/QCA988X/hw2.0/notice_ath10k_firmware-4.txt${DISTURL_SUFFIX} \
- ${FWSUBDIR}/QCA988X/hw2.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX}
-DISTFILES_QCA9984_hw10= \
- ${FWSUBDIR}/QCA9984/hw1.0/board-2.bin${DISTURL_SUFFIX} \
- ${FWSUBDIR}/QCA9984/hw1.0/firmware-5.bin${DISTURL_SUFFIX}
-DISTFILES_QCA9984_hw10_lic= \
- ${FWSUBDIR}/QCA9984/hw1.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX}
-DISTFILES_QCA99X0_hw20= \
- ${FWSUBDIR}/QCA99X0/hw2.0/board-2.bin${DISTURL_SUFFIX} \
- ${FWSUBDIR}/QCA99X0/hw2.0/firmware-5.bin${DISTURL_SUFFIX}
-DISTFILES_QCA99X0_hw20_lic= \
- ${FWSUBDIR}/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX}
-DISTFILES_fw= \
- ${DISTFILES_QCA6174_hw21} \
- ${DISTFILES_QCA6174_hw30} \
- ${DISTFILES_QCA9377_hw10} \
- ${DISTFILES_QCA9887_hw10} \
- ${DISTFILES_QCA9888_hw20} \
- ${DISTFILES_QCA988X_hw20} \
- ${DISTFILES_QCA9984_hw10} \
- ${DISTFILES_QCA99X0_hw20}
-DISTFILES_lic= \
- ${DISTFILES_QCA6174_hw21_lic} \
- ${DISTFILES_QCA6174_hw30_lic} \
- ${DISTFILES_QCA9377_hw10_lic} \
- ${DISTFILES_QCA9887_hw10_lic} \
- ${DISTFILES_QCA9888_hw20_lic} \
- ${DISTFILES_QCA988X_hw20_lic} \
- ${DISTFILES_QCA9984_hw10_lic} \
- ${DISTFILES_QCA99X0_hw20_lic}
+
+DISTFILES_${FWDRV}= \
+ ${DISTFILES_qca988x_hw20} \
+ ${DISTFILES_qca6174_hw21} \
+ ${DISTFILES_qca6174_hw30} \
+ ${DISTFILES_qca99x0_hw20} \
+ ${DISTFILES_qca9377_hw10} \
+ ${DISTFILES_qca9984_hw10} \
+ ${DISTFILES_qca9887_hw10} \
+ ${DISTFILES_qca9888_hw20}
+DISTFILES_${FWDRV}_lic= \
+ ${DISTFILES_qca988x_hw20_lic} \
+ ${DISTFILES_qca6174_hw21_lic} \
+ ${DISTFILES_qca6174_hw30_lic} \
+ ${DISTFILES_qca99x0_hw20_lic} \
+ ${DISTFILES_qca9377_hw10_lic} \
+ ${DISTFILES_qca9984_hw10_lic} \
+ ${DISTFILES_qca9887_hw10_lic} \
+ ${DISTFILES_qca9888_hw20_lic}
+
+### <<<
.include "${BASEDIR}/Makefile.inc"
diff --git a/net/wifi-firmware-ath10k-kmod/distinfo b/net/wifi-firmware-ath10k-kmod/distinfo
index 8754538f31e3..743dfdd3a1a3 100644
--- a/net/wifi-firmware-ath10k-kmod/distinfo
+++ b/net/wifi-firmware-ath10k-kmod/distinfo
@@ -1,79 +1,71 @@
-TIMESTAMP = 1680555734
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA4019/hw1.0/board-2.bin?h=20230310) = 32efd23848e3b29873f00b599732925436d45e0ba45a9ce8e41243eb7c3a8a2c
-SIZE (linux-firmware/ath10kfw/ath10k/QCA4019/hw1.0/board-2.bin?h=20230310) = 1154076
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA4019/hw1.0/firmware-5.bin?h=20230310) = ce5ff248312aef77c620eb93d5bc290ddf68447c5ac9c91c845abab7163a9e70
-SIZE (linux-firmware/ath10kfw/ath10k/QCA4019/hw1.0/firmware-5.bin?h=20230310) = 583344
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/board.bin?h=20230310) = 23c51bdaf0ec685d9ce2ecf08fa91d05dc8c6506f82f0811cd365b55a92cbad1
-SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/board.bin?h=20230310) = 8124
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/board-2.bin?h=20230310) = fd5cab002d3533b674dfda6ec92d1d705c267c46d0e2e4dc8c917360e9e4913e
-SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/board-2.bin?h=20230310) = 263188
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/firmware-5.bin?h=20230310) = cc77874b709e26ffcc1cd548a4813e4be8cd523329c1b3ba34e341417d2935c5
-SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/firmware-5.bin?h=20230310) = 498172
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/board.bin?h=20230310) = 1a8d225818b46986fc4f615594fbe448fa820618590d6902c8f844bb37cda667
-SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/board.bin?h=20230310) = 8124
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/board-2.bin?h=20230310) = dd0665955febea4cc34edf890fa79c38632719d05a0d85ce232e27850b08c62d
-SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/board-2.bin?h=20230310) = 731852
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/firmware-4.bin?h=20230310) = dc74ba148cf88f1f99a62854112ec574d8c265d88417a4d969461448b0ab60c5
-SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/firmware-4.bin?h=20230310) = 733784
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/firmware-6.bin?h=20230310) = 05b5e488b75b1e21fbd38a8cfdd44abd2e5e0b4204f4a8f6cfbd70feef220603
-SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/firmware-6.bin?h=20230310) = 706004
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/board.bin?h=20230310) = 127d35d82edb46278f30c448cbca664d755ff0d5fed57b649959cdbc4208c768
-SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/board.bin?h=20230310) = 8124
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/board-2.bin?h=20230310) = 0fdcc7838f478da81704de88f7b33e28862110c6d5decf7818543f8e37e6cd98
-SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/board-2.bin?h=20230310) = 304308
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/firmware-5.bin?h=20230310) = 95ed94c24795c31dbdf8c97ab7278dd3a107673ea7330dfe4d01b1c65965f7a8
-SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/firmware-5.bin?h=20230310) = 783336
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/firmware-6.bin?h=20230310) = 8f8b002fccfe81d42238f27dd1f56d189604f180bd4772c7c8e75ae1fef16f01
-SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/firmware-6.bin?h=20230310) = 751436
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/board.bin?h=20230310) = cf4df099f6ee05c181f55ce17297a1d32c61d725eb96246fd315ad5587c42426
-SIZE (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/board.bin?h=20230310) = 1024
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/firmware-5.bin?h=20230310) = 18c3d42a22c584383000131d423d7473d44d654f88c3fccca9a950802db8b07e
-SIZE (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/firmware-5.bin?h=20230310) = 238548
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/board-2.bin?h=20230310) = d3da3e6dba71f6db76f06ef81af91aa58b5f3f2912ad241a1ac509a764f1db02
-SIZE (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/board-2.bin?h=20230310) = 145684
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/firmware-5.bin?h=20230310) = 89d4488053035c645559e3160e71321807f439b3ac9a2268a2a227147f67ddf4
-SIZE (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/firmware-5.bin?h=20230310) = 693700
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/board.bin?h=20230310) = 5b5b380333c2dd3b6ce67f30e2f7008f4020bf594970d3b464fd8d4a80fcd880
-SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/board.bin?h=20230310) = 2116
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/firmware-4.bin?h=20230310) = 208f91dd40b7db5feb645104125338491ca932028c2dd858bb12f07ac6c90cc1
-SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/firmware-4.bin?h=20230310) = 241892
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/firmware-5.bin?h=20230310) = 15867031c87f1d7408c1b25fb6419077a1b97de208f2aa58c3266b60e1f8daa2
-SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/firmware-5.bin?h=20230310) = 249044
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/board-2.bin?h=20230310) = 94936eb428664a47c049e3a7da997ab390cd5e2f51d5af417e3c1f7ca3d41898
-SIZE (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/board-2.bin?h=20230310) = 220528
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/firmware-5.bin?h=20230310) = 4a11cbb3f2838f6c003b85f3b6c7c5043f1efd2858f2ca52346523ec938460c3
-SIZE (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/firmware-5.bin?h=20230310) = 681672
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/board-2.bin?h=20230310) = f91975dca2435fa6f8570146e6b255c2a70b9ffbdf5ef16a29d67bec7374c11a
-SIZE (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/board-2.bin?h=20230310) = 157680
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/firmware-5.bin?h=20230310) = 5fbc2e717327e9482bce212497b2a34fe7f7c82607c94d49e39f95a46ca1b2a3
-SIZE (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/firmware-5.bin?h=20230310) = 479332
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt?h=20230310) = 29b3bfc290b553a44616f00ddd7a85b26893cdf215597252c65674dc7e9ea2da
-SIZE (linux-firmware/ath10kfw/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt?h=20230310) = 30479
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt?h=20230310) = 631065703055d11b099477c508508f20a80b202aad548a7726564bfa59a96c91
-SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt?h=20230310) = 46087
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt?h=20230310) = 3b5eb392b2d9d8c46d6aae26d06c187e5ea3029b12d13bc2b8deb8b3ce6bfa53
-SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt?h=20230310) = 79689
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt?h=20230310) = 8ce5c6ea0542bf4aac31fc3ae16a39792ad22d0eae4543063fac56fb3380f021
-SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt?h=20230310) = 53425
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt?h=20230310) = 7fef27f33c95ed680c21809edacdd90736ed3c903e6c224eb72f947c35e9856c
-SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt?h=20230310) = 46143
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt?h=20230310) = 8ce5c6ea0542bf4aac31fc3ae16a39792ad22d0eae4543063fac56fb3380f021
-SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt?h=20230310) = 53425
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt?h=20230310) = 98c0dc5559c1bf5934a29683fdc032e0df834c7197c38bcadd58aafb1a3ee443
-SIZE (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt?h=20230310) = 15441
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt?h=20230310) = 29b3bfc290b553a44616f00ddd7a85b26893cdf215597252c65674dc7e9ea2da
-SIZE (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt?h=20230310) = 30479
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt?h=20230310) = 5186f5fdda2cf0348dffecd04e97c1f0364d04b189bc72ae7c76ba2417e098a8
-SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt?h=20230310) = 13890
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt?h=20230310) = 98c0dc5559c1bf5934a29683fdc032e0df834c7197c38bcadd58aafb1a3ee443
-SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt?h=20230310) = 15441
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt?h=20230310) = 29b3bfc290b553a44616f00ddd7a85b26893cdf215597252c65674dc7e9ea2da
-SIZE (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt?h=20230310) = 30479
-SHA256 (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt?h=20230310) = 874195144a7f1114fee287ad1112a4fc9c785e0bf16279bf2673644b8b440f4e
-SIZE (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt?h=20230310) = 29133
-SHA256 (linux-firmware/ath10kfw/LICENSE.QualcommAtheros_ath10k?h=20230310) = 337a55102138d7baa143ee4a4c6c91693e0113fece35d380b2a12109e8c23b3f
-SIZE (linux-firmware/ath10kfw/LICENSE.QualcommAtheros_ath10k?h=20230310) = 2713
-SHA256 (linux-firmware/ath10kfw/WHENCE?h=20230310) = 866f14018cd82a4465cd13a278bec2f0750ca3e5b03c34082a16458ebd464d64
-SIZE (linux-firmware/ath10kfw/WHENCE?h=20230310) = 203894
-SHA256 (linux-firmware/ath10kfw/modules_ath10kfw_20230310.tar.gz) = ad7882c16060ff69d369c55f10c8dc2f4185a0b4b14286fe285d4446c5d6d3d6
-SIZE (linux-firmware/ath10kfw/modules_ath10kfw_20230310.tar.gz) = 45056
+TIMESTAMP = 1715895491
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/board.bin?h=20240513) = 5b5b380333c2dd3b6ce67f30e2f7008f4020bf594970d3b464fd8d4a80fcd880
+SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/board.bin?h=20240513) = 2116
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/firmware-4.bin?h=20240513) = 208f91dd40b7db5feb645104125338491ca932028c2dd858bb12f07ac6c90cc1
+SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/firmware-4.bin?h=20240513) = 241892
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/firmware-5.bin?h=20240513) = 15867031c87f1d7408c1b25fb6419077a1b97de208f2aa58c3266b60e1f8daa2
+SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/firmware-5.bin?h=20240513) = 249044
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/board-2.bin?h=20240513) = fd5cab002d3533b674dfda6ec92d1d705c267c46d0e2e4dc8c917360e9e4913e
+SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/board-2.bin?h=20240513) = 263188
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/board.bin?h=20240513) = 23c51bdaf0ec685d9ce2ecf08fa91d05dc8c6506f82f0811cd365b55a92cbad1
+SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/board.bin?h=20240513) = 8124
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/firmware-5.bin?h=20240513) = cc77874b709e26ffcc1cd548a4813e4be8cd523329c1b3ba34e341417d2935c5
+SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/firmware-5.bin?h=20240513) = 498172
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/board-2.bin?h=20240513) = 66e83dde1c9af535df1fcd17c72971a96a263357300e921b358d35a353227d60
+SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/board-2.bin?h=20240513) = 740076
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/board.bin?h=20240513) = 1a8d225818b46986fc4f615594fbe448fa820618590d6902c8f844bb37cda667
+SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/board.bin?h=20240513) = 8124
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/firmware-4.bin?h=20240513) = dc74ba148cf88f1f99a62854112ec574d8c265d88417a4d969461448b0ab60c5
+SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/firmware-4.bin?h=20240513) = 733784
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/firmware-6.bin?h=20240513) = 04d3bad5efa3f9fbe3ba53fd3e25fa9b0585ed227eea8111303b4e08861f979d
+SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/firmware-6.bin?h=20240513) = 706360
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/board-2.bin?h=20240513) = 24148daa956ef4bebb903dbc77cbe458796f9db70adc0433023a0a0254c7d8e5
+SIZE (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/board-2.bin?h=20240513) = 169824
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/firmware-5.bin?h=20240513) = 5fbc2e717327e9482bce212497b2a34fe7f7c82607c94d49e39f95a46ca1b2a3
+SIZE (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/firmware-5.bin?h=20240513) = 479332
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/board-2.bin?h=20240513) = 0fdcc7838f478da81704de88f7b33e28862110c6d5decf7818543f8e37e6cd98
+SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/board-2.bin?h=20240513) = 304308
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/board.bin?h=20240513) = 127d35d82edb46278f30c448cbca664d755ff0d5fed57b649959cdbc4208c768
+SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/board.bin?h=20240513) = 8124
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/firmware-5.bin?h=20240513) = 95ed94c24795c31dbdf8c97ab7278dd3a107673ea7330dfe4d01b1c65965f7a8
+SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/firmware-5.bin?h=20240513) = 783336
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/firmware-6.bin?h=20240513) = 8f8b002fccfe81d42238f27dd1f56d189604f180bd4772c7c8e75ae1fef16f01
+SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/firmware-6.bin?h=20240513) = 751436
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/board-2.bin?h=20240513) = 9a04d0c801c69db16399c47e5e65ef6311da2785918b26fa83b9392e83b81e64
+SIZE (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/board-2.bin?h=20240513) = 281312
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/firmware-5.bin?h=20240513) = 4a11cbb3f2838f6c003b85f3b6c7c5043f1efd2858f2ca52346523ec938460c3
+SIZE (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/firmware-5.bin?h=20240513) = 681672
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/board.bin?h=20240513) = cf4df099f6ee05c181f55ce17297a1d32c61d725eb96246fd315ad5587c42426
+SIZE (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/board.bin?h=20240513) = 1024
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/firmware-5.bin?h=20240513) = 18c3d42a22c584383000131d423d7473d44d654f88c3fccca9a950802db8b07e
+SIZE (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/firmware-5.bin?h=20240513) = 238548
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/board-2.bin?h=20240513) = e2d2b04873844e304066d1c95032b96fda314eea5a497c6134f29f2f9676188e
+SIZE (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/board-2.bin?h=20240513) = 218596
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/firmware-5.bin?h=20240513) = 89d4488053035c645559e3160e71321807f439b3ac9a2268a2a227147f67ddf4
+SIZE (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/firmware-5.bin?h=20240513) = 693700
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt?h=20240513) = 5186f5fdda2cf0348dffecd04e97c1f0364d04b189bc72ae7c76ba2417e098a8
+SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt?h=20240513) = 13890
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt?h=20240513) = 98c0dc5559c1bf5934a29683fdc032e0df834c7197c38bcadd58aafb1a3ee443
+SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt?h=20240513) = 15441
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt?h=20240513) = 631065703055d11b099477c508508f20a80b202aad548a7726564bfa59a96c91
+SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt?h=20240513) = 46087
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt?h=20240513) = 3b5eb392b2d9d8c46d6aae26d06c187e5ea3029b12d13bc2b8deb8b3ce6bfa53
+SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt?h=20240513) = 79689
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt?h=20240513) = 8ce5c6ea0542bf4aac31fc3ae16a39792ad22d0eae4543063fac56fb3380f021
+SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt?h=20240513) = 53425
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt?h=20240513) = 874195144a7f1114fee287ad1112a4fc9c785e0bf16279bf2673644b8b440f4e
+SIZE (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt?h=20240513) = 29133
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt?h=20240513) = 7fef27f33c95ed680c21809edacdd90736ed3c903e6c224eb72f947c35e9856c
+SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt?h=20240513) = 46143
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt?h=20240513) = 8ce5c6ea0542bf4aac31fc3ae16a39792ad22d0eae4543063fac56fb3380f021
+SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt?h=20240513) = 53425
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt?h=20240513) = 29b3bfc290b553a44616f00ddd7a85b26893cdf215597252c65674dc7e9ea2da
+SIZE (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt?h=20240513) = 30479
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt?h=20240513) = 98c0dc5559c1bf5934a29683fdc032e0df834c7197c38bcadd58aafb1a3ee443
+SIZE (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt?h=20240513) = 15441
+SHA256 (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt?h=20240513) = 29b3bfc290b553a44616f00ddd7a85b26893cdf215597252c65674dc7e9ea2da
+SIZE (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt?h=20240513) = 30479
+SHA256 (linux-firmware/ath10kfw/LICENSE.QualcommAtheros_ath10k?h=20240513) = 337a55102138d7baa143ee4a4c6c91693e0113fece35d380b2a12109e8c23b3f
+SIZE (linux-firmware/ath10kfw/LICENSE.QualcommAtheros_ath10k?h=20240513) = 2713
+SHA256 (linux-firmware/ath10kfw/WHENCE?h=20240513) = 09453d13d522ce48c11fd37a04bc4a46b88792bc6e51c3b73cdcc5acb364e763
+SIZE (linux-firmware/ath10kfw/WHENCE?h=20240513) = 274394
diff --git a/net/wifi-firmware-ath11k-kmod/Makefile b/net/wifi-firmware-ath11k-kmod/Makefile
index 4f4e1566a73d..941cf0efa13a 100644
--- a/net/wifi-firmware-ath11k-kmod/Makefile
+++ b/net/wifi-firmware-ath11k-kmod/Makefile
@@ -2,104 +2,53 @@ BASEDIR= ${.CURDIR}/../wifi-firmware-kmod
FWDRV= ath11k
FWSUBDIR= ath11k
-FWDRV_VERSION= 20230310
+FWDRV_VERSION= 20240513
# Yes, the license is the ath10k one; see WHENCE.
LICENSE= LICENSE.QualcommAtheros_ath10k
LICENSE_NAME= QCA firmware license (${FWDRV})
-FWSUBS= \
- QCA6390_hw20 \
- QCN9074_hw10
-# IPQ6018_hw10 \
-# IPQ8074_hw20 \
-# WCN6855_hw20 \
-# WCN6750_hw10
+WHENCE_REGEX= ath11k -.*
-DISTFILES_QCA6390_hw20= \
- ${FWSUBDIR}/QCA6390/hw2.0/board-2.bin${DISTURL_SUFFIX} \
+# The flavor/firmware lists below are generated by a script
+# also helping to generate the fwget(8) definitions.
+# { sys/contrib/dev/athk/ath11k/zzz_fw_ports_fwget.sh }
+### >>>
+
+FWSUBS= \
+ qca6390_hw20 \
+ qcn9074_hw10 \
+ wcn6855_hw20
+
+DISTFILES_qca6390_hw20= \
${FWSUBDIR}/QCA6390/hw2.0/amss.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/QCA6390/hw2.0/board-2.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCA6390/hw2.0/m3.bin${DISTURL_SUFFIX}
-DISTFILES_QCA6390_hw20_lic= \
+DISTFILES_qca6390_hw20_lic= \
${FWSUBDIR}/QCA6390/hw2.0/Notice.txt${DISTURL_SUFFIX}
-DISTFILES_QCN9074_hw10= \
- ${FWSUBDIR}/QCN9074/hw1.0/board-2.bin${DISTURL_SUFFIX} \
+DISTFILES_qcn9074_hw10= \
${FWSUBDIR}/QCN9074/hw1.0/amss.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/QCN9074/hw1.0/board-2.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/QCN9074/hw1.0/m3.bin${DISTURL_SUFFIX}
-DISTFILES_QCN9074_hw10_lic= \
+DISTFILES_qcn9074_hw10_lic= \
${FWSUBDIR}/QCN9074/hw1.0/Notice.txt${DISTURL_SUFFIX}
-DISTFILES_IPQ6018_hw10= \
- ${FWSUBDIR}/IPQ6018/hw1.0/board-2.bin${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ6018/hw1.0/m3_fw.b00${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ6018/hw1.0/m3_fw.b01${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ6018/hw1.0/m3_fw.b02${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ6018/hw1.0/m3_fw.flist${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ6018/hw1.0/m3_fw.mdt${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.b00${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.b01${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.b02${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.b03${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.b04${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.b05${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.b07${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.b08${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.flist${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.mdt${DISTURL_SUFFIX}
-DISTFILES_IPQ6018_hw10_lic= \
- ${FWSUBDIR}/IPQ6018/hw1.0/Notice.txt${DISTURL_SUFFIX}
-DISTFILES_IPQ8074_hw20= \
- ${FWSUBDIR}/IPQ8074/hw2.0/board-2.bin${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ8074/hw2.0/m3_fw.b00${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ8074/hw2.0/m3_fw.b01${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ8074/hw2.0/m3_fw.b02${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ8074/hw2.0/m3_fw.flist${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ8074/hw2.0/m3_fw.mdt${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.b00${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.b01${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.b02${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.b03${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.b04${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.b05${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.b07${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.b08${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.flist${DISTURL_SUFFIX} \
- ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.mdt${DISTURL_SUFFIX}
-DISTFILES_IPQ8074_hw20_lic= \
- ${FWSUBDIR}/IPQ8074/hw2.0/Notice.txt${DISTURL_SUFFIX}
-DISTFILES_WCN6855_hw20= \
- ${FWSUBDIR}/WCN6855/hw2.0/regdb.bin${DISTURL_SUFFIX} \
- ${FWSUBDIR}/WCN6855/hw2.0/board-2.bin${DISTURL_SUFFIX} \
+DISTFILES_wcn6855_hw20= \
${FWSUBDIR}/WCN6855/hw2.0/amss.bin${DISTURL_SUFFIX} \
- ${FWSUBDIR}/WCN6855/hw2.0/m3.bin${DISTURL_SUFFIX}
-DISTFILES_WCN6855_hw20_lic= \
+ ${FWSUBDIR}/WCN6855/hw2.0/board-2.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/WCN6855/hw2.0/m3.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/WCN6855/hw2.0/regdb.bin${DISTURL_SUFFIX}
+DISTFILES_wcn6855_hw20_lic= \
${FWSUBDIR}/WCN6855/hw2.0/Notice.txt${DISTURL_SUFFIX}
-DISTFILES_WCN6750_hw10= \
- ${FWSUBDIR}/WCN6750/hw1.0/board-2.bin${DISTURL_SUFFIX} \
- ${FWSUBDIR}/WCN6750/hw1.0/wpss.b00${DISTURL_SUFFIX} \
- ${FWSUBDIR}/WCN6750/hw1.0/wpss.b01${DISTURL_SUFFIX} \
- ${FWSUBDIR}/WCN6750/hw1.0/wpss.b02${DISTURL_SUFFIX} \
- ${FWSUBDIR}/WCN6750/hw1.0/wpss.b03${DISTURL_SUFFIX} \
- ${FWSUBDIR}/WCN6750/hw1.0/wpss.b04${DISTURL_SUFFIX} \
- ${FWSUBDIR}/WCN6750/hw1.0/wpss.b05${DISTURL_SUFFIX} \
- ${FWSUBDIR}/WCN6750/hw1.0/wpss.b06${DISTURL_SUFFIX} \
- ${FWSUBDIR}/WCN6750/hw1.0/wpss.b07${DISTURL_SUFFIX} \
- ${FWSUBDIR}/WCN6750/hw1.0/wpss.b08${DISTURL_SUFFIX} \
- ${FWSUBDIR}/WCN6750/hw1.0/wpss.mdt${DISTURL_SUFFIX}
-DISTFILES_WCN6750_hw10_lic= \
- ${FWSUBDIR}/WCN6750/hw1.0/Notice.txt${DISTURL_SUFFIX}
-DISTFILES_fw= \
- ${DISTFILES_QCA6390_hw20} \
- ${DISTFILES_QCN9074_hw10}
-# ${DISTFILES_IPQ6018_hw10} \
-# ${DISTFILES_IPQ8074_hw20} \
-# ${DISTFILES_WCN6855_hw20} \
-# ${DISTFILES_WCN6750_hw10}
-DISTFILES_lic= \
- ${DISTFILES_QCA6390_hw20_lic} \
- ${DISTFILES_QCN9074_hw10_lic}
-# ${DISTFILES_IPQ6018_hw10_lic} \
-# ${DISTFILES_IPQ8074_hw20_lic} \
-# ${DISTFILES_WCN6855_hw20_lic} \
-# ${DISTFILES_WCN6750_hw10_lic}
+
+DISTFILES_${FWDRV}= \
+ ${DISTFILES_qca6390_hw20} \
+ ${DISTFILES_qcn9074_hw10} \
+ ${DISTFILES_wcn6855_hw20}
+DISTFILES_${FWDRV}_lic= \
+ ${DISTFILES_qca6390_hw20_lic} \
+ ${DISTFILES_qcn9074_hw10_lic} \
+ ${DISTFILES_wcn6855_hw20_lic}
+
+### <<<
.include "${BASEDIR}/Makefile.inc"
diff --git a/net/wifi-firmware-ath11k-kmod/distinfo b/net/wifi-firmware-ath11k-kmod/distinfo
index 2cb520db6f6e..d965320664cf 100644
--- a/net/wifi-firmware-ath11k-kmod/distinfo
+++ b/net/wifi-firmware-ath11k-kmod/distinfo
@@ -1,23 +1,31 @@
-TIMESTAMP = 1680646554
-SHA256 (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/board-2.bin?h=20230310) = ffae36a14450ea9dc0317db04fba84344812037b0de4f89bee90b05eae6ecb00
-SIZE (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/board-2.bin?h=20230310) = 115984
-SHA256 (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/amss.bin?h=20230310) = 8ab2a06422e3989012df423bb6a156fde2c3feb4cd5db4c5d3588f674dc872ff
-SIZE (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/amss.bin?h=20230310) = 3628672
-SHA256 (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/m3.bin?h=20230310) = 1921d25edb52f90a7a0acc7275861e14399f904d579aae9f7ab1c4d28533fad6
-SIZE (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/m3.bin?h=20230310) = 266684
-SHA256 (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/board-2.bin?h=20230310) = dbf0ca14aa1229eccd48f26f1026901b9718b143bd30b51b8ea67c84ba6207f1
-SIZE (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/board-2.bin?h=20230310) = 786836
-SHA256 (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/amss.bin?h=20230310) = 4b03e776e3392e249a9f5d9753be980cab287168f059861618618d65df016513
-SIZE (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/amss.bin?h=20230310) = 11905872
-SHA256 (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/m3.bin?h=20230310) = 6bad938141e5ef3931eb84747935a3fb4cf954ee1720e66bc517f8a2f262b8ae
-SIZE (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/m3.bin?h=20230310) = 340108
-SHA256 (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/Notice.txt?h=20230310) = 2facd28901420b9b58248ec3c17d4ea4693165b72f36106d5537ea4bb9380f1b
-SIZE (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/Notice.txt?h=20230310) = 189707
-SHA256 (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/Notice.txt?h=20230310) = 0768d1c28b6886f159703ef929fd3c92ab6bec1cbc9dcae449b17722a824ebcf
-SIZE (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/Notice.txt?h=20230310) = 161358
-SHA256 (linux-firmware/ath11kfw/LICENSE.QualcommAtheros_ath10k?h=20230310) = 337a55102138d7baa143ee4a4c6c91693e0113fece35d380b2a12109e8c23b3f
-SIZE (linux-firmware/ath11kfw/LICENSE.QualcommAtheros_ath10k?h=20230310) = 2713
-SHA256 (linux-firmware/ath11kfw/WHENCE?h=20230310) = 866f14018cd82a4465cd13a278bec2f0750ca3e5b03c34082a16458ebd464d64
-SIZE (linux-firmware/ath11kfw/WHENCE?h=20230310) = 203894
-SHA256 (linux-firmware/ath11kfw/modules_ath11kfw_20230310.tar.gz) = 7ad7d9775db417759e88b20b349aa2aaf448ab907a3dc4a70dfbaf3f46ff506b
-SIZE (linux-firmware/ath11kfw/modules_ath11kfw_20230310.tar.gz) = 27648
+TIMESTAMP = 1715895520
+SHA256 (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/amss.bin?h=20240513) = 8ab2a06422e3989012df423bb6a156fde2c3feb4cd5db4c5d3588f674dc872ff
+SIZE (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/amss.bin?h=20240513) = 3628672
+SHA256 (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/board-2.bin?h=20240513) = ffae36a14450ea9dc0317db04fba84344812037b0de4f89bee90b05eae6ecb00
+SIZE (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/board-2.bin?h=20240513) = 115984
+SHA256 (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/m3.bin?h=20240513) = 1921d25edb52f90a7a0acc7275861e14399f904d579aae9f7ab1c4d28533fad6
+SIZE (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/m3.bin?h=20240513) = 266684
+SHA256 (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/amss.bin?h=20240513) = 5ee1b7b204541b5f99984f21d694ececaec08fbce1b520ffe6fe740b02a4afd7
+SIZE (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/amss.bin?h=20240513) = 3963336
+SHA256 (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/board-2.bin?h=20240513) = dbf0ca14aa1229eccd48f26f1026901b9718b143bd30b51b8ea67c84ba6207f1
+SIZE (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/board-2.bin?h=20240513) = 786836
+SHA256 (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/m3.bin?h=20240513) = b6d957f335073a15a8de809398e1506f0200a08747eaf7189c843cf519ffc1de
+SIZE (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/m3.bin?h=20240513) = 340108
+SHA256 (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/amss.bin?h=20240513) = 8f10357b53b40238333f0b055b4829fc8dd87994aa2476ae3fa92234d8f31065
+SIZE (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/amss.bin?h=20240513) = 4988928
+SHA256 (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/board-2.bin?h=20240513) = b2612c3a270a2e795270c8567cb8435aaf4f4acc9897cd593cf3c9a9a07f3ef3
+SIZE (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/board-2.bin?h=20240513) = 6308684
+SHA256 (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/m3.bin?h=20240513) = 9b9b226abf8ce0e005209e53c0c9a4443abaf7b3def7fefe7e5c5676255c7bdc
+SIZE (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/m3.bin?h=20240513) = 266684
+SHA256 (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/regdb.bin?h=20240513) = e1b774b1feda4cab01f5a26089124059539fc31544ac34129dce45c8ff26d645
+SIZE (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/regdb.bin?h=20240513) = 24310
+SHA256 (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/Notice.txt?h=20240513) = 2facd28901420b9b58248ec3c17d4ea4693165b72f36106d5537ea4bb9380f1b
+SIZE (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/Notice.txt?h=20240513) = 189707
+SHA256 (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/Notice.txt?h=20240513) = 0768d1c28b6886f159703ef929fd3c92ab6bec1cbc9dcae449b17722a824ebcf
+SIZE (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/Notice.txt?h=20240513) = 161358
+SHA256 (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/Notice.txt?h=20240513) = 770720d03de70ff503c6d9bb6f6932fc7833d078647fe8352c6d5d49d44bbc5f
+SIZE (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/Notice.txt?h=20240513) = 152394
+SHA256 (linux-firmware/ath11kfw/LICENSE.QualcommAtheros_ath10k?h=20240513) = 337a55102138d7baa143ee4a4c6c91693e0113fece35d380b2a12109e8c23b3f
+SIZE (linux-firmware/ath11kfw/LICENSE.QualcommAtheros_ath10k?h=20240513) = 2713
+SHA256 (linux-firmware/ath11kfw/WHENCE?h=20240513) = 09453d13d522ce48c11fd37a04bc4a46b88792bc6e51c3b73cdcc5acb364e763
+SIZE (linux-firmware/ath11kfw/WHENCE?h=20240513) = 274394
diff --git a/net/wifi-firmware-ath12k-kmod/Makefile b/net/wifi-firmware-ath12k-kmod/Makefile
new file mode 100644
index 000000000000..9f1c7ea7f9b9
--- /dev/null
+++ b/net/wifi-firmware-ath12k-kmod/Makefile
@@ -0,0 +1,35 @@
+BASEDIR= ${.CURDIR}/../wifi-firmware-kmod
+
+FWDRV= ath12k
+FWSUBDIR= ath12k
+FWDRV_VERSION= 20240513
+
+# Yes, the license is the ath10k one; see WHENCE.
+LICENSE= LICENSE.QualcommAtheros_ath10k
+LICENSE_NAME= QCA firmware license (${FWDRV})
+
+WHENCE_REGEX= ath12k -.*
+
+# The flavor/firmware lists below are generated by a script
+# also helping to generate the fwget(8) definitions.
+# { sys/contrib/dev/athk/ath12k/zzz_fw_ports_fwget.sh }
+### >>>
+
+FWSUBS= \
+ wcn7850_hw20
+
+DISTFILES_wcn7850_hw20= \
+ ${FWSUBDIR}/WCN7850/hw2.0/amss.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/WCN7850/hw2.0/board-2.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/WCN7850/hw2.0/m3.bin${DISTURL_SUFFIX}
+DISTFILES_wcn7850_hw20_lic= \
+ ${FWSUBDIR}/WCN7850/hw2.0/Notice.txt${DISTURL_SUFFIX}
+
+DISTFILES_${FWDRV}= \
+ ${DISTFILES_wcn7850_hw20}
+DISTFILES_${FWDRV}_lic= \
+ ${DISTFILES_wcn7850_hw20_lic}
+
+### <<<
+
+.include "${BASEDIR}/Makefile.inc"
diff --git a/net/wifi-firmware-ath12k-kmod/distinfo b/net/wifi-firmware-ath12k-kmod/distinfo
new file mode 100644
index 000000000000..9500eba13632
--- /dev/null
+++ b/net/wifi-firmware-ath12k-kmod/distinfo
@@ -0,0 +1,13 @@
+TIMESTAMP = 1715895537
+SHA256 (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/amss.bin?h=20240513) = b15b21fd99baafd5dad81b6d6fa054df023363029821eb67dd674a438b9fd78d
+SIZE (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/amss.bin?h=20240513) = 6000704
+SHA256 (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/board-2.bin?h=20240513) = 92357946083541fc3370a152df57cb5a74cd28adcdc78339e57d8c98e42526cd
+SIZE (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/board-2.bin?h=20240513) = 382856
+SHA256 (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/m3.bin?h=20240513) = 97eca0829a1da06bfcb000863f585e2c64ee7febae29f4822097dea1986d919b
+SIZE (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/m3.bin?h=20240513) = 299660
+SHA256 (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/Notice.txt?h=20240513) = 515bf4c9d620a87458e4447fe01a0e9bc384d1c3e0037cc4c3d2037b1ff25525
+SIZE (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/Notice.txt?h=20240513) = 142991
+SHA256 (linux-firmware/ath12kfw/LICENSE.QualcommAtheros_ath10k?h=20240513) = 337a55102138d7baa143ee4a4c6c91693e0113fece35d380b2a12109e8c23b3f
+SIZE (linux-firmware/ath12kfw/LICENSE.QualcommAtheros_ath10k?h=20240513) = 2713
+SHA256 (linux-firmware/ath12kfw/WHENCE?h=20240513) = 09453d13d522ce48c11fd37a04bc4a46b88792bc6e51c3b73cdcc5acb364e763
+SIZE (linux-firmware/ath12kfw/WHENCE?h=20240513) = 274394
diff --git a/net/wifi-firmware-ath12k-kmod/pkg-descr b/net/wifi-firmware-ath12k-kmod/pkg-descr
new file mode 100644
index 000000000000..332b717a5809
--- /dev/null
+++ b/net/wifi-firmware-ath12k-kmod/pkg-descr
@@ -0,0 +1,3 @@
+Firmware files for QCA WiFi NICs supported by the ath12k driver.
+
+Currently only provides firmware for the PCI chipsets.
diff --git a/net/wifi-firmware-iwlwifi-kmod/Makefile b/net/wifi-firmware-iwlwifi-kmod/Makefile
new file mode 100644
index 000000000000..3cff195b89a7
--- /dev/null
+++ b/net/wifi-firmware-iwlwifi-kmod/Makefile
@@ -0,0 +1,68 @@
+BASEDIR= ${.CURDIR}/../wifi-firmware-kmod
+
+FWDRV= iwlwifi
+FWSUBDIR=
+FWDRV_VERSION= 20240513
+
+LICENSE= LICENCE.iwlwifi_firmware
+LICENSE_NAME= Intel firmware license (${FWDRV})
+
+WHENCE_REGEX= iwlwifi -.*
+
+# Run iwlwifi-generate-fw-list.sh according to description.
+
+# The flavor/firmware lists below are generated by a script
+# also helping to generate the fwget(8) definitions.
+# { sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh }
+### >>>
+
+FWSUBS= \
+ 7000 \
+ 8000 \
+ 9000 \
+ 22000 \
+ ax210 \
+ bz
+
+# Do not prefix with empty ${FWSUBDIR}/!
+DISTFILES_7000= \
+ iwlwifi-3160-17.ucode${DISTURL_SUFFIX} \
+ iwlwifi-3168-29.ucode${DISTURL_SUFFIX} \
+ iwlwifi-7260-17.ucode${DISTURL_SUFFIX} \
+ iwlwifi-7265D-29.ucode${DISTURL_SUFFIX} \
+ iwlwifi-7265-17.ucode${DISTURL_SUFFIX}
+DISTFILES_8000= \
+ iwlwifi-8000C-36.ucode${DISTURL_SUFFIX} \
+ iwlwifi-8265-36.ucode${DISTURL_SUFFIX}
+DISTFILES_9000= \
+ iwlwifi-9000-pu-b0-jf-b0-46.ucode${DISTURL_SUFFIX} \
+ iwlwifi-9260-th-b0-jf-b0-46.ucode${DISTURL_SUFFIX}
+DISTFILES_22000= \
+ iwlwifi-QuZ-a0-hr-b0-77.ucode${DISTURL_SUFFIX} \
+ iwlwifi-QuZ-a0-jf-b0-77.ucode${DISTURL_SUFFIX} \
+ iwlwifi-Qu-b0-hr-b0-77.ucode${DISTURL_SUFFIX} \
+ iwlwifi-Qu-b0-jf-b0-77.ucode${DISTURL_SUFFIX} \
+ iwlwifi-Qu-c0-hr-b0-77.ucode${DISTURL_SUFFIX} \
+ iwlwifi-cc-a0-77.ucode${DISTURL_SUFFIX}
+DISTFILES_ax210= \
+ iwlwifi-ma-b0-gf4-a0.pnvm${DISTURL_SUFFIX} \
+ iwlwifi-ma-b0-gf4-a0-89.ucode${DISTURL_SUFFIX} \
+ iwlwifi-ma-b0-gf-a0.pnvm${DISTURL_SUFFIX} \
+ iwlwifi-ma-b0-gf-a0-89.ucode${DISTURL_SUFFIX} \
+ iwlwifi-ma-b0-hr-b0-83.ucode${DISTURL_SUFFIX}
+DISTFILES_bz= \
+ iwlwifi-gl-c0-fm-c0.pnvm${DISTURL_SUFFIX} \
+ iwlwifi-gl-c0-fm-c0-83.ucode${DISTURL_SUFFIX}
+
+DISTFILES_${FWDRV}= \
+ ${DISTFILES_7000} \
+ ${DISTFILES_8000} \
+ ${DISTFILES_9000} \
+ ${DISTFILES_22000} \
+ ${DISTFILES_ax210} \
+ ${DISTFILES_bz}
+DISTFILES_${FWDRV}_lic=
+
+### <<<
+
+.include "${BASEDIR}/Makefile.inc"
diff --git a/net/wifi-firmware-iwlwifi-kmod/distinfo b/net/wifi-firmware-iwlwifi-kmod/distinfo
new file mode 100644
index 000000000000..4163191ef9d3
--- /dev/null
+++ b/net/wifi-firmware-iwlwifi-kmod/distinfo
@@ -0,0 +1,49 @@
+TIMESTAMP = 1715893861
+SHA256 (linux-firmware/iwlwififw/iwlwifi-3160-17.ucode?h=20240513) = 0e893c1ed74c3186047508e93442b2d71a07dd5fac00d9dbdb68f34407d7be14
+SIZE (linux-firmware/iwlwififw/iwlwifi-3160-17.ucode?h=20240513) = 918268
+SHA256 (linux-firmware/iwlwififw/iwlwifi-3168-29.ucode?h=20240513) = 3afae7bf4bb5fbb83a895ec7ad097b9fd20b7d8794f405c2823cbea5284e65c3
+SIZE (linux-firmware/iwlwififw/iwlwifi-3168-29.ucode?h=20240513) = 1036288
+SHA256 (linux-firmware/iwlwififw/iwlwifi-7260-17.ucode?h=20240513) = 5d81a6003df0228a497ad27f916ba2c979614b4c439b0f45a5f2873dc0607fe8
+SIZE (linux-firmware/iwlwififw/iwlwifi-7260-17.ucode?h=20240513) = 1049340
+SHA256 (linux-firmware/iwlwififw/iwlwifi-7265D-29.ucode?h=20240513) = f6776a50107cba4f68362b5cf8455f5a0db6a4e8d1e34f4ede6f26803458e25e
+SIZE (linux-firmware/iwlwififw/iwlwifi-7265D-29.ucode?h=20240513) = 1036772
+SHA256 (linux-firmware/iwlwififw/iwlwifi-7265-17.ucode?h=20240513) = 91f699308f102a9ed90217d813bfdb355464ece958a4f8ac96bba5e9d77fe870
+SIZE (linux-firmware/iwlwififw/iwlwifi-7265-17.ucode?h=20240513) = 1180412
+SHA256 (linux-firmware/iwlwififw/iwlwifi-8000C-36.ucode?h=20240513) = a830767818a47b5c51ae3a763fa7a65b03703ce38d3ef5918d8cd7ba82859c64
+SIZE (linux-firmware/iwlwififw/iwlwifi-8000C-36.ucode?h=20240513) = 2428004
+SHA256 (linux-firmware/iwlwififw/iwlwifi-8265-36.ucode?h=20240513) = d7d84c9b6a3b1976acb97a2bec7102e24a6b5d794110c0dcbd107ab5d9877e5f
+SIZE (linux-firmware/iwlwififw/iwlwifi-8265-36.ucode?h=20240513) = 2436632
+SHA256 (linux-firmware/iwlwififw/iwlwifi-9000-pu-b0-jf-b0-46.ucode?h=20240513) = 9a0c5d938646942f9798e6212579c25771e4bb44301cd409b82abe361ca2c3e0
+SIZE (linux-firmware/iwlwififw/iwlwifi-9000-pu-b0-jf-b0-46.ucode?h=20240513) = 1519568
+SHA256 (linux-firmware/iwlwififw/iwlwifi-9260-th-b0-jf-b0-46.ucode?h=20240513) = 05f4c12514fddfd56fea660b3d2eb6b6e6f4a87a324d5d40464050312ddca911
+SIZE (linux-firmware/iwlwififw/iwlwifi-9260-th-b0-jf-b0-46.ucode?h=20240513) = 1490508
+SHA256 (linux-firmware/iwlwififw/iwlwifi-QuZ-a0-hr-b0-77.ucode?h=20240513) = 3c2014b78872e04e204e5e8981a1aaf13942ccf198d384ab31f8ebe678ea0121
+SIZE (linux-firmware/iwlwififw/iwlwifi-QuZ-a0-hr-b0-77.ucode?h=20240513) = 1406116
+SHA256 (linux-firmware/iwlwififw/iwlwifi-QuZ-a0-jf-b0-77.ucode?h=20240513) = 82c5488dc3e52cb6573e989ad478eae70a76240234677265196a35fcbe2f098c
+SIZE (linux-firmware/iwlwififw/iwlwifi-QuZ-a0-jf-b0-77.ucode?h=20240513) = 1321956
+SHA256 (linux-firmware/iwlwififw/iwlwifi-Qu-b0-hr-b0-77.ucode?h=20240513) = 1421aa6cec40ac11acc24a76625176b861361e707f93c525d259eeaf0fa808c6
+SIZE (linux-firmware/iwlwififw/iwlwifi-Qu-b0-hr-b0-77.ucode?h=20240513) = 1405980
+SHA256 (linux-firmware/iwlwififw/iwlwifi-Qu-b0-jf-b0-77.ucode?h=20240513) = 5272de5667059f7c4b3f99c77f8c61a0dfd71b4f26954d42cad3df870b5af235
+SIZE (linux-firmware/iwlwififw/iwlwifi-Qu-b0-jf-b0-77.ucode?h=20240513) = 1322684
+SHA256 (linux-firmware/iwlwififw/iwlwifi-Qu-c0-hr-b0-77.ucode?h=20240513) = 95636939981d2d4edf7a40bde3b50a9d887cafc807603d8161ec5e1fdcc55ff8
+SIZE (linux-firmware/iwlwififw/iwlwifi-Qu-c0-hr-b0-77.ucode?h=20240513) = 1405996
+SHA256 (linux-firmware/iwlwififw/iwlwifi-cc-a0-77.ucode?h=20240513) = ce9c6e3bda22003f9a9b97cbca94b8215911b7a146c0f4f017963dbb1a233351
+SIZE (linux-firmware/iwlwififw/iwlwifi-cc-a0-77.ucode?h=20240513) = 1367432
+SHA256 (linux-firmware/iwlwififw/iwlwifi-ma-b0-gf4-a0.pnvm?h=20240513) = 9600ce77fbb9112a35c5876f5bd21831c431bb5b424c8aaa4d0bf3bd7149610f
+SIZE (linux-firmware/iwlwififw/iwlwifi-ma-b0-gf4-a0.pnvm?h=20240513) = 27820
+SHA256 (linux-firmware/iwlwififw/iwlwifi-ma-b0-gf4-a0-89.ucode?h=20240513) = be29b81db02dc627e0e9591f5ae7c828eab8b39852d6966f46a16b6ecfa7640f
+SIZE (linux-firmware/iwlwififw/iwlwifi-ma-b0-gf4-a0-89.ucode?h=20240513) = 1598424
+SHA256 (linux-firmware/iwlwififw/iwlwifi-ma-b0-gf-a0.pnvm?h=20240513) = 10be27ffbb1d7cee9ad7f8fe1cd8d08bc6b8e6fd8bf9913e46dc88f0291c13d8
+SIZE (linux-firmware/iwlwififw/iwlwifi-ma-b0-gf-a0.pnvm?h=20240513) = 55096
+SHA256 (linux-firmware/iwlwififw/iwlwifi-ma-b0-gf-a0-89.ucode?h=20240513) = 92d150a13910e8b741f6cafd3b7caf30c32efea33bb61946fd96bfafe80842ce
+SIZE (linux-firmware/iwlwififw/iwlwifi-ma-b0-gf-a0-89.ucode?h=20240513) = 1721440
+SHA256 (linux-firmware/iwlwififw/iwlwifi-ma-b0-hr-b0-83.ucode?h=20240513) = 03b67d28b4916634c544e057abdc46b15b636a85064df993ca431fd92fe4a835
+SIZE (linux-firmware/iwlwififw/iwlwifi-ma-b0-hr-b0-83.ucode?h=20240513) = 1572104
+SHA256 (linux-firmware/iwlwififw/iwlwifi-gl-c0-fm-c0.pnvm?h=20240513) = f486587db1edde8791665dc27d263d907890fcdf16cc8f8fb254cacd360d4a6e
+SIZE (linux-firmware/iwlwififw/iwlwifi-gl-c0-fm-c0.pnvm?h=20240513) = 267272
+SHA256 (linux-firmware/iwlwififw/iwlwifi-gl-c0-fm-c0-83.ucode?h=20240513) = 1129761b5597077655996ec8590f100766e9d61ec9c331474b4febc6967f0e70
+SIZE (linux-firmware/iwlwififw/iwlwifi-gl-c0-fm-c0-83.ucode?h=20240513) = 1797996
+SHA256 (linux-firmware/iwlwififw/LICENCE.iwlwifi_firmware?h=20240513) = 16d5040c7cf851fc693b7542e20870935b99802533ea1bfd231c377a2305e5c5
+SIZE (linux-firmware/iwlwififw/LICENCE.iwlwifi_firmware?h=20240513) = 2046
+SHA256 (linux-firmware/iwlwififw/WHENCE?h=20240513) = 09453d13d522ce48c11fd37a04bc4a46b88792bc6e51c3b73cdcc5acb364e763
+SIZE (linux-firmware/iwlwififw/WHENCE?h=20240513) = 274394
diff --git a/net/wifi-firmware-iwlwifi-kmod/pkg-descr b/net/wifi-firmware-iwlwifi-kmod/pkg-descr
new file mode 100644
index 000000000000..c024286659a0
--- /dev/null
+++ b/net/wifi-firmware-iwlwifi-kmod/pkg-descr
@@ -0,0 +1 @@
+Firmware files for Intel WiFi NICs supported by the iwlwifi mvm driver.
diff --git a/net/wifi-firmware-kmod/Makefile b/net/wifi-firmware-kmod/Makefile
index 53a4ff214678..22249ab82c6f 100644
--- a/net/wifi-firmware-kmod/Makefile
+++ b/net/wifi-firmware-kmod/Makefile
@@ -1,5 +1,5 @@
PORTNAME= wifi-firmware-kmod
-PORTVERSION= 20230508
+PORTVERSION= 20240513
CATEGORIES= net
MAINTAINER= bz@FreeBSD.org
@@ -7,11 +7,42 @@ COMMENT= Firmware modules for WiFi NIC drivers
WWW= https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/
RUN_DEPENDS= \
- wifi-firmware-ath10k-kmod>0:net/wifi-firmware-ath10k-kmod \
- wifi-firmware-ath11k-kmod>0:net/wifi-firmware-ath11k-kmod \
- wifi-firmware-mt76-kmod>0:net/wifi-firmware-mt76-kmod \
- wifi-firmware-rtw88-kmod>0:net/wifi-firmware-rtw88-kmod \
- wifi-firmware-rtw89-kmod>0:net/wifi-firmware-rtw89-kmod
+ wifi-firmware-ath10k-kmod-qca988x_hw20>0:net/wifi-firmware-ath10k-kmod@qca988x_hw20 \
+ wifi-firmware-ath10k-kmod-qca6174_hw21>0:net/wifi-firmware-ath10k-kmod@qca6174_hw21 \
+ wifi-firmware-ath10k-kmod-qca6174_hw30>0:net/wifi-firmware-ath10k-kmod@qca6174_hw30 \
+ wifi-firmware-ath10k-kmod-qca99x0_hw20>0:net/wifi-firmware-ath10k-kmod@qca99x0_hw20 \
+ wifi-firmware-ath10k-kmod-qca9377_hw10>0:net/wifi-firmware-ath10k-kmod@qca9377_hw10 \
+ wifi-firmware-ath10k-kmod-qca9984_hw10>0:net/wifi-firmware-ath10k-kmod@qca9984_hw10 \
+ wifi-firmware-ath10k-kmod-qca9887_hw10>0:net/wifi-firmware-ath10k-kmod@qca9887_hw10 \
+ wifi-firmware-ath10k-kmod-qca9888_hw20>0:net/wifi-firmware-ath10k-kmod@qca9888_hw20 \
+ \
+ wifi-firmware-ath11k-kmod-qca6390_hw20>0:net/wifi-firmware-ath11k-kmod@qca6390_hw20 \
+ wifi-firmware-ath11k-kmod-qcn9074_hw10>0:net/wifi-firmware-ath11k-kmod@qcn9074_hw10 \
+ wifi-firmware-ath11k-kmod-wcn6855_hw20>0:net/wifi-firmware-ath11k-kmod@wcn6855_hw20 \
+ \
+ wifi-firmware-ath12k-kmod-wcn7850_hw20>0:net/wifi-firmware-ath12k-kmod@wcn7850_hw20 \
+ \
+ wifi-firmware-iwlwifi-kmod-7000>0:net/wifi-firmware-iwlwifi-kmod@7000 \
+ wifi-firmware-iwlwifi-kmod-8000>0:net/wifi-firmware-iwlwifi-kmod@8000 \
+ wifi-firmware-iwlwifi-kmod-9000>0:net/wifi-firmware-iwlwifi-kmod@9000 \
+ wifi-firmware-iwlwifi-kmod-22000>0:net/wifi-firmware-iwlwifi-kmod@22000 \
+ wifi-firmware-iwlwifi-kmod-ax210>0:net/wifi-firmware-iwlwifi-kmod@ax210 \
+ wifi-firmware-iwlwifi-kmod-bz>0:net/wifi-firmware-iwlwifi-kmod@bz \
+ \
+ wifi-firmware-mt76-kmod-mt7915>0:net/wifi-firmware-mt76-kmod@mt7915 \
+ wifi-firmware-mt76-kmod-mt792x>0:net/wifi-firmware-mt76-kmod@mt792x \
+ wifi-firmware-mt76-kmod-mt7996>0:net/wifi-firmware-mt76-kmod@mt7996 \
+ \
+ wifi-firmware-rtw88-kmod-rtw8723d>0:net/wifi-firmware-rtw88-kmod@rtw8723d \
+ wifi-firmware-rtw88-kmod-rtw8821c>0:net/wifi-firmware-rtw88-kmod@rtw8821c \
+ wifi-firmware-rtw88-kmod-rtw8822b>0:net/wifi-firmware-rtw88-kmod@rtw8822b \
+ wifi-firmware-rtw88-kmod-rtw8822c>0:net/wifi-firmware-rtw88-kmod@rtw8822c \
+ \
+ wifi-firmware-rtw89-kmod-rtw8851b>0:net/wifi-firmware-rtw89-kmod@rtw8851b \
+ wifi-firmware-rtw89-kmod-rtw8852a>0:net/wifi-firmware-rtw89-kmod@rtw8852a \
+ wifi-firmware-rtw89-kmod-rtw8852b>0:net/wifi-firmware-rtw89-kmod@rtw8852b \
+ wifi-firmware-rtw89-kmod-rtw8852c>0:net/wifi-firmware-rtw89-kmod@rtw8852c \
+ wifi-firmware-rtw89-kmod-rtw8922a>0:net/wifi-firmware-rtw89-kmod@rtw8922a
USES= metaport
diff --git a/net/wifi-firmware-kmod/Makefile.inc b/net/wifi-firmware-kmod/Makefile.inc
index 8177bd045e51..e6d57564f4f2 100644
--- a/net/wifi-firmware-kmod/Makefile.inc
+++ b/net/wifi-firmware-kmod/Makefile.inc
@@ -2,39 +2,56 @@ PORTNAME= wifi-firmware-${FWDRV}-kmod
PORTVERSION= ${FWDRV_VERSION}
CATEGORIES= net
MASTER_SITES= https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/
-MASTER_SITES+= LOCAL/bz:mkbuild
MAINTAINER= bz@FreeBSD.org
-COMMENT= Firmware modules for ${FWDRV} ${FLAVOR} WiFi NIC
+COMMENT= Firmware modules for the ${FWDRV} (${FLAVOR}) WiFi NIC driver
WWW?= https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/${FWSUBDIR}
FWDRV_VERSION?= 0
FWDRV?= base
LICENSE_NAME?= firmware license (${FWDRV})
-LICENSE_FILE?= ${WRKSRC}/${LICENSE}
+LICENSE_FILE?= ${WRKSRC}/${FLAVOR}/${LICENSE}
LICENSE_PERMS?= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept
EXTRACT_SUFX=
-DISTURL_SUFFIX= ?h=${PORTVERSION}
+DISTURL_SUFFIX?= ?h=${PORTVERSION}
# Sanity checks
.if !defined(FWDRV) || !defined(FWSUBDIR) || !defined(FWSUBS) || \
!defined(FWDRV_VERSION) || !defined(LICENSE) || \
- !defined(DISTFILES_fw) || !defined(DISTFILES_lic)
+ !defined(DISTFILES_${FWDRV}) || !defined(DISTFILES_${FWDRV}_lic) || \
+ !defined(BASEDIR) || !defined(WHENCE_REGEX)
IGNORE= is a metaport or misconfigured child port; there is nothing to build
.endif
-# Split things up in case we decide to make this flavors once we add support for more drivers.
+FILESDIR= ${BASEDIR}/files
+
+# Split things into the full package (driver name) and more specific flavors.
+FLAVORS= ${FWDRV} \
+ ${FWSUBS}
+
+# What a kludge.... thanks https://docs.freebsd.org/en/books/porters-handbook/flavors/ !
+FLAVOR?= ${FLAVORS:[1]}
+
+# Generate the conflicts list.
+.for f in ${FWSUBS}
+${FWDRV}_CONFLICTS_INSTALL+= ${PORTNAME}-${f}
+${f}_PKGNAMESUFFIX= -${f}
+${f}_CONFLICTS_INSTALL= ${PORTNAME}
+.endfor
+
+DISTFILES_FLAVOR:= ${DISTFILES_${FLAVOR}}
+DISTFILES_FLAVOR_lic:= ${DISTFILES_${FLAVOR}_lic}
+
DISTFILES= \
- ${DISTFILES_fw} \
- ${DISTFILES_lic} \
+ ${DISTFILES_FLAVOR} \
+ ${DISTFILES_FLAVOR_lic} \
${LICENSE}${DISTURL_SUFFIX} \
- WHENCE${DISTURL_SUFFIX} \
- modules_${FWDRV}fw_${PORTVERSION}.tar.gz:mkbuild
+ WHENCE${DISTURL_SUFFIX}
DIST_SUBDIR= linux-firmware/${FWDRV}fw
-EXTRACT_ONLY= modules_${FWDRV}fw_${PORTVERSION}.tar.gz
+EXTRACT_ONLY=
ONLY_FOR_ARCHS= aarch64 amd64 i386
ONLY_FOR_ARCHS_REASON= LinuxKPI driver only available for these architectures
@@ -42,41 +59,62 @@ ONLY_FOR_ARCHS_REASON= LinuxKPI driver only available for these architectures
USES= kmod uidfix
post-extract:
- @${MV} ${WRKDIR}/${FWDRV}fw ${WRKSRC}
- @${CP} ${DISTDIR}/${DIST_SUBDIR}/${LICENSE}${DISTURL_SUFFIX} ${WRKSRC}/${LICENSE}
- @${CP} ${DISTDIR}/${DIST_SUBDIR}/WHENCE${DISTURL_SUFFIX} ${WRKSRC}/WHENCE.in
- @${AWK} -f ${WRKSRC}/WHENCE.awk ${WRKSRC}/WHENCE.in > ${WRKSRC}/WHENCE
- @${MKDIR} ${WRKSRC}/fw
-.for _f in ${DISTFILES_fw}
- @${MKDIR} ${WRKSRC}/fw/${_f:H}
- ${CP} ${DISTDIR}/${DIST_SUBDIR}/${_f} ${WRKSRC}/fw/${_f:C@(^[^?]*)${DISTURL_SUFFIX:Q}@\1@}
+ @${MKDIR} ${WRKSRC}/${FLAVOR}/fw
+ # Deal with supplementary licenses files.
+ @${CP} ${DISTDIR}/${DIST_SUBDIR}/${LICENSE}${DISTURL_SUFFIX} ${WRKSRC}/${FLAVOR}/${LICENSE}
+ @${CP} ${DISTDIR}/${DIST_SUBDIR}/WHENCE${DISTURL_SUFFIX} ${WRKSRC}/${FLAVOR}/WHENCE.in
+ @${SED} -e "s@%%XXX%%@${WHENCE_REGEX:Q}@g" ${FILESDIR}/WHENCE.awk.in > ${WRKSRC}/${FLAVOR}/WHENCE.awk
+ @${AWK} -f ${WRKSRC}/${FLAVOR}/WHENCE.awk ${WRKSRC}/${FLAVOR}/WHENCE.in > ${WRKSRC}/${FLAVOR}/WHENCE
+ # Prepare toplevel Makefile and Makefile.inc.
+ @${ECHO_CMD} "SUBDIR=" > ${WRKSRC}/${FLAVOR}/Makefile
+ @${SED} -e "s@%%FWDRV%%@${FWDRV}@g" \
+ -e "s@%%FWSUBDIR%%@${FWSUBDIR}@g" \
+ ${FILESDIR}/Makefile.inc.in > ${WRKSRC}/${FLAVOR}/Makefile.inc
+.for _f in ${DISTFILES_FLAVOR}
+ # We remove '.' and '-' as well as '/' as they don't work well in loader.conf.
+ @${MKDIR} ${WRKSRC}/${FLAVOR}/${_f:C@(^[^?]*)${DISTURL_SUFFIX:Q}@\1@:S,.,_,g:S,-,_,g:S,/,_,g}
+ # Create subdir (firmware file) Makefile.
+ @${ECHO_CMD} "FWNAME=${_f:C@(^[^?]*)${DISTURL_SUFFIX:Q}@\1@:T}" > ${WRKSRC}/${FLAVOR}/${_f:C@(^[^?]*)${DISTURL_SUFFIX:Q}@\1@:S,.,_,g:S,-,_,g:S,/,_,g}/Makefile
+.if (${_f:H:C,^[^/]*,,1:C,^/,,} != "")
+ @${ECHO_CMD} "FWSUBSUBDIR=${_f:H:C,^[^/]*,,1:C,^/,,}" >> ${WRKSRC}/${FLAVOR}/${_f:C@(^[^?]*)${DISTURL_SUFFIX:Q}@\1@:S,.,_,g:S,-,_,g:S,/,_,g}/Makefile
+.endif
+ # XXX-BZ recover firmware versions later again from somewhere? Pain to keep track though, else use 0 or ${FWDRV_VERSION}?
+ @${ECHO_CMD} "VERSION=0" >> ${WRKSRC}/${FLAVOR}/${_f:C@(^[^?]*)${DISTURL_SUFFIX:Q}@\1@:S,.,_,g:S,-,_,g:S,/,_,g}/Makefile
+ @${ECHO_CMD} '.include <bsd.kmod.mk>' >> ${WRKSRC}/${FLAVOR}/${_f:C@(^[^?]*)${DISTURL_SUFFIX:Q}@\1@:S,.,_,g:S,-,_,g:S,/,_,g}/Makefile
+ # Add subdir to top-level Makefile.
+ @${ECHO_CMD} "SUBDIR+=${_f:C@(^[^?]*)${DISTURL_SUFFIX:Q}@\1@:S,.,_,g:S,-,_,g:S,/,_,g}" >> ${WRKSRC}/${FLAVOR}/Makefile
+ # Create firmware source directory and copy in distfile.
+ @${MKDIR} ${WRKSRC}/${FLAVOR}/fw/${_f:H}
+ ${CP} ${DISTDIR}/${DIST_SUBDIR}/${_f} ${WRKSRC}/${FLAVOR}/fw/${_f:C@(^[^?]*)${DISTURL_SUFFIX:Q}@\1@}
.endfor
-.for _f in ${DISTFILES_lic}
- ${CP} ${DISTDIR}/${DIST_SUBDIR}/${_f} ${WRKSRC}/fw/${_f:C@(^[^?]*)${DISTURL_SUFFIX:Q}@\1@:S,/,_,g}
+ @${ECHO_CMD} '.include <bsd.subdir.mk>' >> ${WRKSRC}/${FLAVOR}/Makefile
+ # Copy in additional licenses files.
+.for _f in ${DISTFILES_FLAVOR_lic}
+ ${CP} ${DISTDIR}/${DIST_SUBDIR}/${_f} ${WRKSRC}/${FLAVOR}/fw/${_f:C@(^[^?]*)${DISTURL_SUFFIX:Q}@\1@:S,/,_,g}
.endfor
# Internal hack we should probably upstream.
# Add WHENCE file next to license where it makes sense despite not being a license.
_USES_stage+= 881:post-install-license
post-install-license:
- ${INSTALL_DATA} ${WRKSRC}/WHENCE ${STAGEDIR}${_LICENSE_DIR}/
-.for _f in ${DISTFILES_lic}
- ${INSTALL_DATA} ${WRKSRC}/fw/${_f:C@(^[^?]*)${DISTURL_SUFFIX:Q}@\1@:S,/,_,g} \
+ ${INSTALL_DATA} ${WRKSRC}/${FLAVOR}/WHENCE ${STAGEDIR}${_LICENSE_DIR}/
+.for _f in ${DISTFILES_FLAVOR_lic}
+ ${INSTALL_DATA} ${WRKSRC}/${FLAVOR}/fw/${_f:C@(^[^?]*)${DISTURL_SUFFIX:Q}@\1@:S,/,_,g} \
${STAGEDIR}${_LICENSE_DIR}/${_f:C@(^[^?]*)${DISTURL_SUFFIX:Q}@\1@:S,/,_,g}
.endfor
.include <bsd.port.pre.mk>
-MAKE_ENV+= FWSRCDIR=${WRKSRC}/fw/${FWSUBDIR}
+MAKE_ENV+= FWSRCDIR=${WRKSRC}/${FLAVOR}/fw
MAKE_FLAGS+= -C ${WRKSRC}/${FLAVOR}
-# Add firmware files.
-.for _f in ${DISTFILES_fw}
+# Add firmware files to plist.
+.for _f in ${DISTFILES_FLAVOR}
PLIST_FILES+= ${KMODDIR}/${_f:C@(^[^?]*)${DISTURL_SUFFIX:Q}@\1@:S,.,_,g:S,-,_,g:S,/,_,g}.ko
.endfor
-# Record extra license files.
+# Record extra licenses files in plist.
PLIST_FILES+= ${_LICENSE_DIR}/WHENCE
-.for _f in ${DISTFILES_lic}
+.for _f in ${DISTFILES_FLAVOR_lic}
PLIST_FILES+= ${_LICENSE_DIR}/${_f:C@(^[^?]*)${DISTURL_SUFFIX:Q}@\1@:S,/,_,g}
.endfor
diff --git a/net/wifi-firmware-kmod/files/Makefile.inc.in b/net/wifi-firmware-kmod/files/Makefile.inc.in
new file mode 100644
index 000000000000..4fd8a079583c
--- /dev/null
+++ b/net/wifi-firmware-kmod/files/Makefile.inc.in
@@ -0,0 +1,26 @@
+# $FreeBSD$
+
+# We remove '.' and '-' as well as '/' as they don't work well in laoder.conf.
+# If (counter part) set, prefix name part with '_' separator.
+_KOFWSUBDIR= ${FWSUBSUBDIR:S,.,_,g:S,-,_,g:S,/,_,g}
+KOFWSUBDIR= ${"${_KOFWSUBDIR}" != "":?_${_KOFWSUBDIR}:}
+
+_FWNAME= ${FWNAME:S,.,_,g:S,-,_,g}
+KOFWNAME= ${"%%FWSUBDIR%%" != "":?_${_FWNAME}:${_FWNAME}}
+
+_NAME?= %%FWSUBDIR%%${KOFWSUBDIR}${KOFWNAME}
+
+IMG= ${_NAME}
+KMOD= ${_NAME}
+
+CLEANFILES+= ${IMG}
+
+FIRMWS= ${IMG}:${IMG}:${VERSION}
+
+#FIRMWARE_LICENSE=
+
+# If we build from ports let us overwrite this.
+FWSRCDIR?= ${SRCTOP}/sys/contrib/dev/%%FWDRV%%fw
+
+${IMG}: ${FWSRCDIR}/%%FWSUBDIR%%/${FWSUBSUBDIR}/${FWNAME}
+ cp ${.ALLSRC} ${.TARGET}
diff --git a/net/wifi-firmware-kmod/files/WHENCE.awk.in b/net/wifi-firmware-kmod/files/WHENCE.awk.in
new file mode 100644
index 000000000000..38a7c27a97a2
--- /dev/null
+++ b/net/wifi-firmware-kmod/files/WHENCE.awk.in
@@ -0,0 +1,24 @@
+BEGIN {
+ start=1;
+ block=0;
+}
+{
+ if (start == 1) {
+ print;
+ if (/^----/) {
+ start=0;
+ }
+ }
+ if (block == 0) {
+ if (/^Driver: %%XXX%%/) {
+ block=1;
+ printf "\n";
+ print;
+ }
+ } else {
+ print;
+ if (/^----/) {
+ block=0;
+ }
+ }
+}
diff --git a/net/wifi-firmware-mt76-kmod/Makefile b/net/wifi-firmware-mt76-kmod/Makefile
index 86692cd413a9..55d6e23cfe70 100644
--- a/net/wifi-firmware-mt76-kmod/Makefile
+++ b/net/wifi-firmware-mt76-kmod/Makefile
@@ -2,30 +2,65 @@ BASEDIR= ${.CURDIR}/../wifi-firmware-kmod
FWDRV= mt76
FWSUBDIR= mediatek
-FWDRV_VERSION= 20230310
+FWDRV_VERSION= 20240513
LICENSE= LICENCE.mediatek
LICENSE_NAME= Mediatek firmware license (${FWDRV})
-FWSUBS= \
+WHENCE_REGEX= (mt7915e|mt7921|mt7922|mt7925|mt7996e) -.*ireless
+
+# The flavor/firmware lists below are generated by a script
+# also helping to generate the fwget(8) definitions.
+# { sys/contrib/dev/mediatek/mt76/zzz_fw_ports_fwget.sh }
+### >>>
+
+FWSUBS= \
mt7915 \
- mt7921
+ mt792x \
+ mt7996
DISTFILES_mt7915= \
+ ${FWSUBDIR}/mt7915_eeprom.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7915_eeprom_dbdc.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7915_rom_patch.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/mt7915_wa.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/mt7915_wm.bin${DISTURL_SUFFIX} \
- ${FWSUBDIR}/mt7915_rom_patch.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7916_eeprom.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7916_rom_patch.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/mt7916_wa.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/mt7916_wm.bin${DISTURL_SUFFIX} \
- ${FWSUBDIR}/mt7916_rom_patch.bin${DISTURL_SUFFIX}
-DISTFILES_mt7921= \
- ${FWSUBDIR}/WIFI_RAM_CODE_MT7961_1.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7981_rom_patch.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7981_wa.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7981_wm.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7986_eeprom_mt7975_dual.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7986_eeprom_mt7976.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7986_eeprom_mt7976_dbdc.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7986_eeprom_mt7976_dual.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7986_rom_patch.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7986_rom_patch_mt7975.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7986_wa.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7986_wm.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7986_wm_mt7975.bin${DISTURL_SUFFIX}
+DISTFILES_mt792x= \
+ ${FWSUBDIR}/WIFI_MT7922_patch_mcu_1_1_hdr.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/WIFI_MT7961_patch_mcu_1_2_hdr.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/WIFI_RAM_CODE_MT7922_1.bin${DISTURL_SUFFIX} \
- ${FWSUBDIR}/WIFI_MT7922_patch_mcu_1_1_hdr.bin${DISTURL_SUFFIX}
-DISTFILES_fw= \
+ ${FWSUBDIR}/WIFI_RAM_CODE_MT7961_1.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7925/WIFI_MT7925_PATCH_MCU_1_1_hdr.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7925/WIFI_RAM_CODE_MT7925_1_1.bin${DISTURL_SUFFIX}
+DISTFILES_mt7996= \
+ ${FWSUBDIR}/mt7996/mt7996_dsp.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7996/mt7996_eeprom.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7996/mt7996_rom_patch.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7996/mt7996_wa.bin${DISTURL_SUFFIX} \
+ ${FWSUBDIR}/mt7996/mt7996_wm.bin${DISTURL_SUFFIX}
+
+DISTFILES_${FWDRV}= \
${DISTFILES_mt7915} \
- ${DISTFILES_mt7921}
-DISTFILES_lic=
+ ${DISTFILES_mt792x} \
+ ${DISTFILES_mt7996}
+DISTFILES_${FWDRV}_lic=
+
+### <<<
.include "${BASEDIR}/Makefile.inc"
diff --git a/net/wifi-firmware-mt76-kmod/distinfo b/net/wifi-firmware-mt76-kmod/distinfo
index 6f6b08221e3e..2e8f8aa93b2e 100644
--- a/net/wifi-firmware-mt76-kmod/distinfo
+++ b/net/wifi-firmware-mt76-kmod/distinfo
@@ -1,27 +1,69 @@
-TIMESTAMP = 1680648994
-SHA256 (linux-firmware/mt76fw/mediatek/mt7915_wa.bin?h=20230310) = c28a3279fcdbd22f3ae34fa5c2adef3617015d1142b46ba8fa388beda7d968a0
-SIZE (linux-firmware/mt76fw/mediatek/mt7915_wa.bin?h=20230310) = 116160
-SHA256 (linux-firmware/mt76fw/mediatek/mt7915_wm.bin?h=20230310) = 93ada741ec11b8a8c12dde51dd1c54e05ef860a9d0c79cebea0a8c3089aa550c
-SIZE (linux-firmware/mt76fw/mediatek/mt7915_wm.bin?h=20230310) = 1260960
-SHA256 (linux-firmware/mt76fw/mediatek/mt7915_rom_patch.bin?h=20230310) = 89fae20235b31400abc5558200d66951a119801ff4a5d6e19d3550cadc7a75d8
-SIZE (linux-firmware/mt76fw/mediatek/mt7915_rom_patch.bin?h=20230310) = 144544
-SHA256 (linux-firmware/mt76fw/mediatek/mt7916_wa.bin?h=20230310) = 34c376dd0ed8e56d4a71818a28d6b905e3b6c1bad3fe3ea0f37ad38072d8527a
-SIZE (linux-firmware/mt76fw/mediatek/mt7916_wa.bin?h=20230310) = 507856
-SHA256 (linux-firmware/mt76fw/mediatek/mt7916_wm.bin?h=20230310) = 3af39d1154e5fc2eacff0df7ba28a069d744f1450307bcfd61d7ffcc3a2a72a1
-SIZE (linux-firmware/mt76fw/mediatek/mt7916_wm.bin?h=20230310) = 1710384
-SHA256 (linux-firmware/mt76fw/mediatek/mt7916_rom_patch.bin?h=20230310) = 220e626d775a7d6b09aac3e50ede1da90fdf3b202841ae22ce62d082cc3fbf6b
-SIZE (linux-firmware/mt76fw/mediatek/mt7916_rom_patch.bin?h=20230310) = 8672
-SHA256 (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7961_1.bin?h=20230310) = 385dce8fecaac95d147930e1db4dccb07caed5f5637f4e8b372decd5b7aad95b
-SIZE (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7961_1.bin?h=20230310) = 719732
-SHA256 (linux-firmware/mt76fw/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin?h=20230310) = 66315a851d7c3e16218583b0d6cef3e675f9d93131f038f0da24af2365f0a3b8
-SIZE (linux-firmware/mt76fw/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin?h=20230310) = 92192
-SHA256 (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7922_1.bin?h=20230310) = 57e5e0fab21300b9e4a5aee9569ae802ea5d482ac345d0c9af64e707c9accb31
-SIZE (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7922_1.bin?h=20230310) = 826740
-SHA256 (linux-firmware/mt76fw/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin?h=20230310) = a07cda02d2aec04ec9827c9f899a8d65785ad23a5a7d5d4ce7c2664a0d80fe86
-SIZE (linux-firmware/mt76fw/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin?h=20230310) = 137632
-SHA256 (linux-firmware/mt76fw/LICENCE.mediatek?h=20230310) = a90d3f66704d85889945fec5525ea77622549da83aced1aac99828383f8f1805
-SIZE (linux-firmware/mt76fw/LICENCE.mediatek?h=20230310) = 561
-SHA256 (linux-firmware/mt76fw/WHENCE?h=20230310) = 866f14018cd82a4465cd13a278bec2f0750ca3e5b03c34082a16458ebd464d64
-SIZE (linux-firmware/mt76fw/WHENCE?h=20230310) = 203894
-SHA256 (linux-firmware/mt76fw/modules_mt76fw_20230310.tar.gz) = 6b0f335a85146e79a99d6c02207597b64d3bc1f3487efb03993a621ed081f49e
-SIZE (linux-firmware/mt76fw/modules_mt76fw_20230310.tar.gz) = 23040
+TIMESTAMP = 1715895579
+SHA256 (linux-firmware/mt76fw/mediatek/mt7915_eeprom.bin?h=20240513) = 87af3cbb8890e0fcb955c1504311a7dc8d864c9ccf865fc2d827e45036f44901
+SIZE (linux-firmware/mt76fw/mediatek/mt7915_eeprom.bin?h=20240513) = 3584
+SHA256 (linux-firmware/mt76fw/mediatek/mt7915_eeprom_dbdc.bin?h=20240513) = ac72fd7ba181613fe5696d7bd99dbdf87e15f3e654cc9becf25dcfd9146b7a66
+SIZE (linux-firmware/mt76fw/mediatek/mt7915_eeprom_dbdc.bin?h=20240513) = 3584
+SHA256 (linux-firmware/mt76fw/mediatek/mt7915_rom_patch.bin?h=20240513) = 89fae20235b31400abc5558200d66951a119801ff4a5d6e19d3550cadc7a75d8
+SIZE (linux-firmware/mt76fw/mediatek/mt7915_rom_patch.bin?h=20240513) = 144544
+SHA256 (linux-firmware/mt76fw/mediatek/mt7915_wa.bin?h=20240513) = c28a3279fcdbd22f3ae34fa5c2adef3617015d1142b46ba8fa388beda7d968a0
+SIZE (linux-firmware/mt76fw/mediatek/mt7915_wa.bin?h=20240513) = 116160
+SHA256 (linux-firmware/mt76fw/mediatek/mt7915_wm.bin?h=20240513) = 93ada741ec11b8a8c12dde51dd1c54e05ef860a9d0c79cebea0a8c3089aa550c
+SIZE (linux-firmware/mt76fw/mediatek/mt7915_wm.bin?h=20240513) = 1260960
+SHA256 (linux-firmware/mt76fw/mediatek/mt7916_eeprom.bin?h=20240513) = 3ed7ca6b67ca3ef2e915c71fc7c0fc5e745cb87e441b7c5305b6bdf47fc155d6
+SIZE (linux-firmware/mt76fw/mediatek/mt7916_eeprom.bin?h=20240513) = 4096
+SHA256 (linux-firmware/mt76fw/mediatek/mt7916_rom_patch.bin?h=20240513) = 7643caa31f405a571b8173a78a88f72250b8b26ae41f2db8c7ff902a37047a85
+SIZE (linux-firmware/mt76fw/mediatek/mt7916_rom_patch.bin?h=20240513) = 8672
+SHA256 (linux-firmware/mt76fw/mediatek/mt7916_wa.bin?h=20240513) = fcfd4115e06db6dccfc19c4fed17790b73576a8c8e5e501324898fed3a054782
+SIZE (linux-firmware/mt76fw/mediatek/mt7916_wa.bin?h=20240513) = 507856
+SHA256 (linux-firmware/mt76fw/mediatek/mt7916_wm.bin?h=20240513) = 583dea8fdf341eb92b6fdd362aed04bcb33656f349455e460091b669606bf26f
+SIZE (linux-firmware/mt76fw/mediatek/mt7916_wm.bin?h=20240513) = 1710304
+SHA256 (linux-firmware/mt76fw/mediatek/mt7981_rom_patch.bin?h=20240513) = 00c9319c625185181d1e77f4b9da17d45ee82183c4b2ed96bf82208d1ca813c7
+SIZE (linux-firmware/mt76fw/mediatek/mt7981_rom_patch.bin?h=20240513) = 8736
+SHA256 (linux-firmware/mt76fw/mediatek/mt7981_wa.bin?h=20240513) = 36914ce16927be2a8cb516fe54cbf270c059bad961c93e63387b5aaefb732d0a
+SIZE (linux-firmware/mt76fw/mediatek/mt7981_wa.bin?h=20240513) = 492336
+SHA256 (linux-firmware/mt76fw/mediatek/mt7981_wm.bin?h=20240513) = a31abbf77bab86fe70dc43c59d15d5ab607f0ddc9d0736d15cf6352d7fb70fea
+SIZE (linux-firmware/mt76fw/mediatek/mt7981_wm.bin?h=20240513) = 2052592
+SHA256 (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7975_dual.bin?h=20240513) = 21392c9ee930c22b9ae3c870a26f8eea61fb4b60cd784bb4fae72fa64743d715
+SIZE (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7975_dual.bin?h=20240513) = 4096
+SHA256 (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7976.bin?h=20240513) = 1d33c8af0adfc2d93a86143b5afd05dfa7b4b30b62eda45347ab83df7faa8890
+SIZE (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7976.bin?h=20240513) = 4096
+SHA256 (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7976_dbdc.bin?h=20240513) = 22eefa2204d03c0c4908d818a3461b345e7a8439d2fa422c8ad73e46be3e9f28
+SIZE (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7976_dbdc.bin?h=20240513) = 4096
+SHA256 (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7976_dual.bin?h=20240513) = a70da76d43eb481a768cd02e74f589c77b505935f081c2ea12e55714228ed62d
+SIZE (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7976_dual.bin?h=20240513) = 4096
+SHA256 (linux-firmware/mt76fw/mediatek/mt7986_rom_patch.bin?h=20240513) = 7c55a6966433cb69e5728b49b5404db0b9c295b9298b7e611e02883f32aebc8d
+SIZE (linux-firmware/mt76fw/mediatek/mt7986_rom_patch.bin?h=20240513) = 12768
+SHA256 (linux-firmware/mt76fw/mediatek/mt7986_rom_patch_mt7975.bin?h=20240513) = dd18412ad10d88bf71e8187542bc811bc2074273c25982ff5a50018d50c3961f
+SIZE (linux-firmware/mt76fw/mediatek/mt7986_rom_patch_mt7975.bin?h=20240513) = 12768
+SHA256 (linux-firmware/mt76fw/mediatek/mt7986_wa.bin?h=20240513) = 0bc5520abf3f5f930e697f5ab5247aa6483de9dac6826a651560e9906b936e34
+SIZE (linux-firmware/mt76fw/mediatek/mt7986_wa.bin?h=20240513) = 518784
+SHA256 (linux-firmware/mt76fw/mediatek/mt7986_wm.bin?h=20240513) = 24376dc484977f380f485de3ad32c7de096327cf29cb05bf52901ac63c9e247d
+SIZE (linux-firmware/mt76fw/mediatek/mt7986_wm.bin?h=20240513) = 2226016
+SHA256 (linux-firmware/mt76fw/mediatek/mt7986_wm_mt7975.bin?h=20240513) = 065d0af98d4d4d5c1e3c45df23a54f603d05f72a051ec230abc7041adc3d12e8
+SIZE (linux-firmware/mt76fw/mediatek/mt7986_wm_mt7975.bin?h=20240513) = 2226016
+SHA256 (linux-firmware/mt76fw/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin?h=20240513) = 1b38bb6606a2f589493ec63e3bee44e46059e66115d2a279dd7f90ce4737925d
+SIZE (linux-firmware/mt76fw/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin?h=20240513) = 137632
+SHA256 (linux-firmware/mt76fw/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin?h=20240513) = 47b76646996c63b3f277fc57c6682ddc19912ab1bcdfc06d00aeb8d4b6c79f5c
+SIZE (linux-firmware/mt76fw/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin?h=20240513) = 92192
+SHA256 (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7922_1.bin?h=20240513) = dc6b5a86ef2f204db5adb070980670db5c55247a586f29b72ad4d837d46899d7
+SIZE (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7922_1.bin?h=20240513) = 1018372
+SHA256 (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7961_1.bin?h=20240513) = 6e4beacede7007f8845e6ea9d72a7da7b6fd7120a836dbb0f94a5fb821694b14
+SIZE (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7961_1.bin?h=20240513) = 794676
+SHA256 (linux-firmware/mt76fw/mediatek/mt7925/WIFI_MT7925_PATCH_MCU_1_1_hdr.bin?h=20240513) = f480faff1abe4bbccfd6fa91343338db148e7763cef257a9b8ca66ba367d3457
+SIZE (linux-firmware/mt76fw/mediatek/mt7925/WIFI_MT7925_PATCH_MCU_1_1_hdr.bin?h=20240513) = 210656
+SHA256 (linux-firmware/mt76fw/mediatek/mt7925/WIFI_RAM_CODE_MT7925_1_1.bin?h=20240513) = 19c34a936a87f5ee0ea5c7b059c9f440d73cef6891ca8211f080356c1c058ea6
+SIZE (linux-firmware/mt76fw/mediatek/mt7925/WIFI_RAM_CODE_MT7925_1_1.bin?h=20240513) = 1086064
+SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_dsp.bin?h=20240513) = 847bdb3f9b835f1d60e169cd96c7865a6a1c765b8c36b07adf42df0fc44f3a75
+SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_dsp.bin?h=20240513) = 191640
+SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_eeprom.bin?h=20240513) = 86611acc8560d05a8e18780838cf8400e82ba313cdc9329d0097422d591199d6
+SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_eeprom.bin?h=20240513) = 7680
+SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_rom_patch.bin?h=20240513) = 3b64854514b7fa67a6780897a84a9985efd4356645bc64d39e60bb70eff5b879
+SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_rom_patch.bin?h=20240513) = 22816
+SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_wa.bin?h=20240513) = 9a773d3915f336469ec5320802d1e5fc991ba3ae6e7684335032acf3dd09c2e2
+SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_wa.bin?h=20240513) = 515504
+SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_wm.bin?h=20240513) = d6adce3fd49c8f5bb55f6af4404324eb0a72ce7b9e12f7eac5dae31f97aab8f6
+SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_wm.bin?h=20240513) = 2572400
+SHA256 (linux-firmware/mt76fw/LICENCE.mediatek?h=20240513) = a90d3f66704d85889945fec5525ea77622549da83aced1aac99828383f8f1805
+SIZE (linux-firmware/mt76fw/LICENCE.mediatek?h=20240513) = 561
+SHA256 (linux-firmware/mt76fw/WHENCE?h=20240513) = 09453d13d522ce48c11fd37a04bc4a46b88792bc6e51c3b73cdcc5acb364e763
+SIZE (linux-firmware/mt76fw/WHENCE?h=20240513) = 274394
diff --git a/net/wifi-firmware-mt76-kmod/pkg-descr b/net/wifi-firmware-mt76-kmod/pkg-descr
index 0ffe4b6de313..f5ae9af972f3 100644
--- a/net/wifi-firmware-mt76-kmod/pkg-descr
+++ b/net/wifi-firmware-mt76-kmod/pkg-descr
@@ -3,3 +3,5 @@ Firmware files for Mediatek WiFi NICs supported by the mt76 driver.
Currently provides firmware for the following sub-drivers:
- mt7915
- mt7921
+- mt7925
+- mt7996
diff --git a/net/wifi-firmware-rtw88-kmod/Makefile b/net/wifi-firmware-rtw88-kmod/Makefile
index aa4a8a5b38bc..66324d9549cc 100644
--- a/net/wifi-firmware-rtw88-kmod/Makefile
+++ b/net/wifi-firmware-rtw88-kmod/Makefile
@@ -2,33 +2,45 @@ BASEDIR= ${.CURDIR}/../wifi-firmware-kmod
FWDRV= rtw88
FWSUBDIR= rtw88
-FWDRV_VERSION= 20230310
+#FWDRV_VERSION= 20230515 # rtw8822c is barfing
+#FWDRV_VERSION= 20230117 # rtw8822c is barfing
+#FWDRV_VERSION= 20220209 # Used for a long time
+FWDRV_VERSION= 20240513
LICENSE= LICENCE.rtlwifi_firmware.txt
LICENSE_NAME= Realtek firmware license (${FWDRV})
-FWSUBS= \
+WHENCE_REGEX= rtw88 -.*
+
+# The flavor/firmware lists below are generated by a script
+# also helping to generate the fwget(8) definitions.
+# { sys/contrib/dev/rtw88/zzz_fw_ports_fwget.sh }
+### >>>
+
+FWSUBS= \
rtw8723d \
- rtw8822b \
rtw8821c \
+ rtw8822b \
rtw8822c
DISTFILES_rtw8723d= \
${FWSUBDIR}/rtw8723d_fw.bin${DISTURL_SUFFIX}
-DISTFILES_rtw8822b= \
- ${FWSUBDIR}/rtw8822b_fw.bin${DISTURL_SUFFIX}
DISTFILES_rtw8821c= \
${FWSUBDIR}/rtw8821c_fw.bin${DISTURL_SUFFIX}
+DISTFILES_rtw8822b= \
+ ${FWSUBDIR}/rtw8822b_fw.bin${DISTURL_SUFFIX}
DISTFILES_rtw8822c= \
${FWSUBDIR}/rtw8822c_fw.bin${DISTURL_SUFFIX} \
${FWSUBDIR}/rtw8822c_wow_fw.bin${DISTURL_SUFFIX}
-DISTFILES_fw= \
+
+DISTFILES_${FWDRV}= \
${DISTFILES_rtw8723d} \
- ${DISTFILES_rtw8822b} \
${DISTFILES_rtw8821c} \
+ ${DISTFILES_rtw8822b} \
${DISTFILES_rtw8822c}
-DISTFILES_lic= \
+### <<<
+DISTFILES_${FWDRV}_lic= \
${FWSUBDIR}/README${DISTURL_SUFFIX}
.include "${BASEDIR}/Makefile.inc"
diff --git a/net/wifi-firmware-rtw88-kmod/distinfo b/net/wifi-firmware-rtw88-kmod/distinfo
index 13ea9f13c3d3..ce8e1fb35d3f 100644
--- a/net/wifi-firmware-rtw88-kmod/distinfo
+++ b/net/wifi-firmware-rtw88-kmod/distinfo
@@ -1,19 +1,17 @@
-TIMESTAMP = 1681002726
-SHA256 (linux-firmware/rtw88fw/rtw88/rtw8723d_fw.bin?h=20230310) = 9c64e079815a333a3f7b731be7cc0be65206ebc883891659dc8ff5ed36a5e2f5
-SIZE (linux-firmware/rtw88fw/rtw88/rtw8723d_fw.bin?h=20230310) = 28884
-SHA256 (linux-firmware/rtw88fw/rtw88/rtw8822b_fw.bin?h=20230310) = 378ff7b43ae7da18a0311175abc351a1758d25ce553b44f3c5694758efbea84c
-SIZE (linux-firmware/rtw88fw/rtw88/rtw8822b_fw.bin?h=20230310) = 150984
-SHA256 (linux-firmware/rtw88fw/rtw88/rtw8821c_fw.bin?h=20230310) = 2ef409bc418549fcf294061dd0cae1fc22fd9da79b60524950b25de18732f3f0
-SIZE (linux-firmware/rtw88fw/rtw88/rtw8821c_fw.bin?h=20230310) = 139472
-SHA256 (linux-firmware/rtw88fw/rtw88/rtw8822c_fw.bin?h=20230310) = cde8207b3eeaa7252af929301abf196c565327ecedd387e64459f23c89a7098c
-SIZE (linux-firmware/rtw88fw/rtw88/rtw8822c_fw.bin?h=20230310) = 202552
-SHA256 (linux-firmware/rtw88fw/rtw88/rtw8822c_wow_fw.bin?h=20230310) = 6717fc6ff426a74571ac4f04cd9698fb2f356012c05c58aa64cf21ceb6b958a2
-SIZE (linux-firmware/rtw88fw/rtw88/rtw8822c_wow_fw.bin?h=20230310) = 145224
-SHA256 (linux-firmware/rtw88fw/rtw88/README?h=20230310) = 483fed8b35fadae40a539cdd619797a44dbcf8aa254b7298629771960e90630e
-SIZE (linux-firmware/rtw88fw/rtw88/README?h=20230310) = 1087
-SHA256 (linux-firmware/rtw88fw/LICENCE.rtlwifi_firmware.txt?h=20230310) = a61351665b4f264f6c631364f85b907d8f8f41f8b369533ef4021765f9f3b62e
-SIZE (linux-firmware/rtw88fw/LICENCE.rtlwifi_firmware.txt?h=20230310) = 2115
-SHA256 (linux-firmware/rtw88fw/WHENCE?h=20230310) = 866f14018cd82a4465cd13a278bec2f0750ca3e5b03c34082a16458ebd464d64
-SIZE (linux-firmware/rtw88fw/WHENCE?h=20230310) = 203894
-SHA256 (linux-firmware/rtw88fw/modules_rtw88fw_20230310.tar.gz) = c889a8b439e189fb34825700110ab634e4a283b8f154a3396518c87fdba627ae
-SIZE (linux-firmware/rtw88fw/modules_rtw88fw_20230310.tar.gz) = 12800
+TIMESTAMP = 1715895544
+SHA256 (linux-firmware/rtw88fw/rtw88/rtw8723d_fw.bin?h=20240513) = 9c64e079815a333a3f7b731be7cc0be65206ebc883891659dc8ff5ed36a5e2f5
+SIZE (linux-firmware/rtw88fw/rtw88/rtw8723d_fw.bin?h=20240513) = 28884
+SHA256 (linux-firmware/rtw88fw/rtw88/rtw8821c_fw.bin?h=20240513) = 2ef409bc418549fcf294061dd0cae1fc22fd9da79b60524950b25de18732f3f0
+SIZE (linux-firmware/rtw88fw/rtw88/rtw8821c_fw.bin?h=20240513) = 139472
+SHA256 (linux-firmware/rtw88fw/rtw88/rtw8822b_fw.bin?h=20240513) = 378ff7b43ae7da18a0311175abc351a1758d25ce553b44f3c5694758efbea84c
+SIZE (linux-firmware/rtw88fw/rtw88/rtw8822b_fw.bin?h=20240513) = 150984
+SHA256 (linux-firmware/rtw88fw/rtw88/rtw8822c_fw.bin?h=20240513) = 3deecb31210986d98cdbfb000391e08d602a6eee4ffc883969faa2b907ab03ba
+SIZE (linux-firmware/rtw88fw/rtw88/rtw8822c_fw.bin?h=20240513) = 202600
+SHA256 (linux-firmware/rtw88fw/rtw88/rtw8822c_wow_fw.bin?h=20240513) = 6717fc6ff426a74571ac4f04cd9698fb2f356012c05c58aa64cf21ceb6b958a2
+SIZE (linux-firmware/rtw88fw/rtw88/rtw8822c_wow_fw.bin?h=20240513) = 145224
+SHA256 (linux-firmware/rtw88fw/rtw88/README?h=20240513) = 9718d6d3bc9b1126b826d594f21af2041acb7774a2b4980aa71396b8741f4c48
+SIZE (linux-firmware/rtw88fw/rtw88/README?h=20240513) = 1150
+SHA256 (linux-firmware/rtw88fw/LICENCE.rtlwifi_firmware.txt?h=20240513) = a61351665b4f264f6c631364f85b907d8f8f41f8b369533ef4021765f9f3b62e
+SIZE (linux-firmware/rtw88fw/LICENCE.rtlwifi_firmware.txt?h=20240513) = 2115
+SHA256 (linux-firmware/rtw88fw/WHENCE?h=20240513) = 09453d13d522ce48c11fd37a04bc4a46b88792bc6e51c3b73cdcc5acb364e763
+SIZE (linux-firmware/rtw88fw/WHENCE?h=20240513) = 274394
diff --git a/net/wifi-firmware-rtw89-kmod/Makefile b/net/wifi-firmware-rtw89-kmod/Makefile
index d3b1b197997e..f42fd9359660 100644
--- a/net/wifi-firmware-rtw89-kmod/Makefile
+++ b/net/wifi-firmware-rtw89-kmod/Makefile
@@ -2,27 +2,44 @@ BASEDIR= ${.CURDIR}/../wifi-firmware-kmod
FWDRV= rtw89
FWSUBDIR= rtw89
-FWDRV_VERSION= 20230310
+FWDRV_VERSION= 20240513
LICENSE= LICENCE.rtlwifi_firmware.txt
LICENSE_NAME= Realtek firmware license (${FWDRV})
-FWSUBS= \
+WHENCE_REGEX= rtw89 -.*
+
+# The flavor/firmware lists below are generated by a script
+# also helping to generate the fwget(8) definitions.
+# { sys/contrib/dev/rtw89/zzz_fw_ports_fwget.sh }
+### >>>
+
+FWSUBS= \
+ rtw8851b \
rtw8852a \
rtw8852b \
- rtw8852c
+ rtw8852c \
+ rtw8922a
+DISTFILES_rtw8851b= \
+ ${FWSUBDIR}/rtw8851b_fw.bin${DISTURL_SUFFIX}
DISTFILES_rtw8852a= \
${FWSUBDIR}/rtw8852a_fw.bin${DISTURL_SUFFIX}
DISTFILES_rtw8852b= \
- ${FWSUBDIR}/rtw8852b_fw.bin${DISTURL_SUFFIX}
+ ${FWSUBDIR}/rtw8852b_fw-1.bin${DISTURL_SUFFIX}
DISTFILES_rtw8852c= \
${FWSUBDIR}/rtw8852c_fw.bin${DISTURL_SUFFIX}
-DISTFILES_fw= \
+DISTFILES_rtw8922a= \
+ ${FWSUBDIR}/rtw8922a_fw.bin${DISTURL_SUFFIX}
+
+DISTFILES_${FWDRV}= \
+ ${DISTFILES_rtw8851b} \
${DISTFILES_rtw8852a} \
${DISTFILES_rtw8852b} \
- ${DISTFILES_rtw8852c}
+ ${DISTFILES_rtw8852c} \
+ ${DISTFILES_rtw8922a}
-DISTFILES_lic=
+### <<<<
+DISTFILES_${FWDRV}_lic=
.include "${BASEDIR}/Makefile.inc"
diff --git a/net/wifi-firmware-rtw89-kmod/distinfo b/net/wifi-firmware-rtw89-kmod/distinfo
index 729f79aa45f5..42fbb4bd8a22 100644
--- a/net/wifi-firmware-rtw89-kmod/distinfo
+++ b/net/wifi-firmware-rtw89-kmod/distinfo
@@ -1,13 +1,15 @@
-TIMESTAMP = 1681001995
-SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852a_fw.bin?h=20230310) = c3dc625eefc631280e3e3359514a71ecb99c5c6a3bc768f127e8e00d8f26db85
-SIZE (linux-firmware/rtw89fw/rtw89/rtw8852a_fw.bin?h=20230310) = 1423232
-SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852b_fw.bin?h=20230310) = da3731580a9f9280ea5e4d91e98314381bb6c310c8043d30ee5770b2faa856fe
-SIZE (linux-firmware/rtw89fw/rtw89/rtw8852b_fw.bin?h=20230310) = 1188488
-SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852c_fw.bin?h=20230310) = 256c0a1bab637b22cae529ada70892d10f65a680a240a57d946a4d96980e4b12
-SIZE (linux-firmware/rtw89fw/rtw89/rtw8852c_fw.bin?h=20230310) = 1532656
-SHA256 (linux-firmware/rtw89fw/LICENCE.rtlwifi_firmware.txt?h=20230310) = a61351665b4f264f6c631364f85b907d8f8f41f8b369533ef4021765f9f3b62e
-SIZE (linux-firmware/rtw89fw/LICENCE.rtlwifi_firmware.txt?h=20230310) = 2115
-SHA256 (linux-firmware/rtw89fw/WHENCE?h=20230310) = 866f14018cd82a4465cd13a278bec2f0750ca3e5b03c34082a16458ebd464d64
-SIZE (linux-firmware/rtw89fw/WHENCE?h=20230310) = 203894
-SHA256 (linux-firmware/rtw89fw/modules_rtw89fw_20230310.tar.gz) = 12989358e849dc910ff4a5ec839f02a8c238d68374536e74ae75a97f8de9bee5
-SIZE (linux-firmware/rtw89fw/modules_rtw89fw_20230310.tar.gz) = 9728
+TIMESTAMP = 1715895554
+SHA256 (linux-firmware/rtw89fw/rtw89/rtw8851b_fw.bin?h=20240513) = f0980b436211f08682666777161db844f020c7c01f4d5864792f9ad8ee2ffd0a
+SIZE (linux-firmware/rtw89fw/rtw89/rtw8851b_fw.bin?h=20240513) = 1162024
+SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852a_fw.bin?h=20240513) = c3dc625eefc631280e3e3359514a71ecb99c5c6a3bc768f127e8e00d8f26db85
+SIZE (linux-firmware/rtw89fw/rtw89/rtw8852a_fw.bin?h=20240513) = 1423232
+SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852b_fw-1.bin?h=20240513) = 2dc9f2fb587219ddace6120c4bf0543e4918ee0396b60ee8d0a6dcd690fb4b12
+SIZE (linux-firmware/rtw89fw/rtw89/rtw8852b_fw-1.bin?h=20240513) = 1242808
+SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852c_fw.bin?h=20240513) = e05e704911ec5d6523e2951416290cc2189444d48a0420e637de6acf5bf21228
+SIZE (linux-firmware/rtw89fw/rtw89/rtw8852c_fw.bin?h=20240513) = 1532656
+SHA256 (linux-firmware/rtw89fw/rtw89/rtw8922a_fw.bin?h=20240513) = 84458f2fa7c9a730fae242d858a82814141421d66a1f672a10121982513daf6d
+SIZE (linux-firmware/rtw89fw/rtw89/rtw8922a_fw.bin?h=20240513) = 1537690
+SHA256 (linux-firmware/rtw89fw/LICENCE.rtlwifi_firmware.txt?h=20240513) = a61351665b4f264f6c631364f85b907d8f8f41f8b369533ef4021765f9f3b62e
+SIZE (linux-firmware/rtw89fw/LICENCE.rtlwifi_firmware.txt?h=20240513) = 2115
+SHA256 (linux-firmware/rtw89fw/WHENCE?h=20240513) = 09453d13d522ce48c11fd37a04bc4a46b88792bc6e51c3b73cdcc5acb364e763
+SIZE (linux-firmware/rtw89fw/WHENCE?h=20240513) = 274394
diff --git a/net/wifi-firmware-rtw89-kmod/pkg-descr b/net/wifi-firmware-rtw89-kmod/pkg-descr
index 1e5d12c43e58..f40df29cd1c5 100644
--- a/net/wifi-firmware-rtw89-kmod/pkg-descr
+++ b/net/wifi-firmware-rtw89-kmod/pkg-descr
@@ -1,6 +1,10 @@
Firmware files for Realtek WiFi NICs supported by the rtw89 driver.
-Currently supported chipsets:
-- 8852a
-- 8852b
-- 8852c
+Currently 11ax supported chipsets:
+- RTL8851B
+- RTL8852A
+- RTL8852B
+- RTL8852C
+
+Currently 11be supported chipsets:
+- RTL8922A