From a882bfce052e78bd344dcbd36efb32acf1340d7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Sun, 26 Apr 2020 21:35:53 +0200 Subject: [PATCH] ath10k-ct-firmware: add htt-mgt variants MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For wave-2, there is now a new variant: htt-mgt-community (vs the old full-htt-mgt-community). The non-full one (hence forth 'diet') compiles out a lot of firmware features that ath10k does not use. This saves a lot of resources and lets one configure more stations/vdevs/etc using fwcfg. Signed-off-by: Álvaro Fernández Rojas --- package/firmware/ath10k-ct-firmware/Makefile | 155 ++++++++++++++++++- 1 file changed, 154 insertions(+), 1 deletion(-) diff --git a/package/firmware/ath10k-ct-firmware/Makefile b/package/firmware/ath10k-ct-firmware/Makefile index 6a35e9c75c8..18370b7d85e 100644 --- a/package/firmware/ath10k-ct-firmware/Makefile +++ b/package/firmware/ath10k-ct-firmware/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ath10k-ct-firmware PKG_VERSION:=2020-04-24 -PKG_RELEASE:=1 +PKG_RELEASE:=2 include $(INCLUDE_DIR)/package.mk @@ -75,6 +75,7 @@ $(eval $(call Download,qca9888-board2)) CT_FIRMWARE_FILE = $(1)-$($(1)_FIRMWARE_FILE_CT) CT_FIRMWARE_FILE_FULL_HTT = $(1)-$($(1)_FIRMWARE_FILE_CT_FULL_HTT) +CT_FIRMWARE_FILE_HTT = $(1)-$($(1)_FIRMWARE_FILE_CT_HTT) define Download/ct-firmware URL:=https://www.candelatech.com/downloads/$(2) @@ -88,6 +89,12 @@ define Download/ct-firmware-full-htt URL_FILE:=$($(1)_FIRMWARE_FILE_CT_FULL_HTT) endef +define Download/ct-firmware-htt + URL:=https://www.candelatech.com/downloads/$(2) + FILE:=$(call CT_FIRMWARE_FILE_HTT,$(1)) + URL_FILE:=$($(1)_FIRMWARE_FILE_CT_HTT) +endef + QCA988X_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-22.bin.lede.018 define Download/ath10k-firmware-qca988x-ct $(call Download/ct-firmware,QCA988X,) @@ -132,6 +139,13 @@ define Download/ath10k-firmware-qca99x0-ct-full-htt endef $(eval $(call Download,ath10k-firmware-qca99x0-ct-full-htt)) +QCA99X0_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-htt-mgt-community-12.bin-lede.018 +define Download/ath10k-firmware-qca99x0-ct-htt + $(call Download/ct-firmware-htt,QCA99X0,ath10k-10-4b) + HASH:=4d4f74afca487d452f244cd48304cf9710d8941eb97a6346a949ed6b6877d657 +endef +$(eval $(call Download,ath10k-firmware-qca99x0-ct-htt)) + QCA9984_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.018 define Download/ath10k-firmware-qca9984-ct @@ -147,6 +161,13 @@ define Download/ath10k-firmware-qca9984-ct-full-htt endef $(eval $(call Download,ath10k-firmware-qca9984-ct-full-htt)) +QCA9984_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-htt-mgt-community-12.bin-lede.018 +define Download/ath10k-firmware-qca9984-ct-htt + $(call Download/ct-firmware-htt,QCA9984,ath10k-9984-10-4b) + HASH:=ee593fb5724d75c372de02ac7894e1630ee9f909fcb2e2bbf17aadef67cb9d43 +endef +$(eval $(call Download,ath10k-firmware-qca9984-ct-htt)) + QCA4019_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.018 define Download/ath10k-firmware-qca4019-ct @@ -162,6 +183,13 @@ define Download/ath10k-firmware-qca4019-ct-full-htt endef $(eval $(call Download,ath10k-firmware-qca4019-ct-full-htt)) +QCA4019_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-htt-mgt-community-12.bin-lede.018 +define Download/ath10k-firmware-qca4019-ct-htt + $(call Download/ct-firmware-htt,QCA4019,ath10k-4019-10-4b) + HASH:=51fe06f66365771647d16039cca8b541de3d642c45271977a4cfd433c2c5d45b +endef +$(eval $(call Download,ath10k-firmware-qca4019-ct-htt)) + QCA9888_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.018 define Download/ath10k-firmware-qca9888-ct @@ -177,6 +205,13 @@ define Download/ath10k-firmware-qca9888-ct-full-htt endef $(eval $(call Download,ath10k-firmware-qca9888-ct-full-htt)) +QCA9888_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-htt-mgt-community-12.bin-lede.018 +define Download/ath10k-firmware-qca9888-ct-htt + $(call Download/ct-firmware-htt,QCA9888,ath10k-9888-10-4b) + HASH:=6c692141155f5bb74c0117553d5d48ff2aaba73bd4d5e90a5044a5e2ec0faab0 +endef +$(eval $(call Download,ath10k-firmware-qca9888-ct-htt)) + define Package/ath10k-ct-firmware-default SECTION:=firmware @@ -232,6 +267,14 @@ $(Package/ath10k-ct-firmware-default) PROVIDES:=ath10k-firmware-qca99x0 DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct endef +define Package/ath10k-firmware-qca99x0-ct-htt +$(Package/ath10k-firmware-default) + TITLE:=ath10k CT 10.4 htt-mgt fw for QCA99x0 + SECTION:=firmware + CATEGORY:=Firmware + PROVIDES:=ath10k-firmware-qca99x0 + DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct +endef define Package/ath10k-firmware-qca9984-ct $(Package/ath10k-ct-firmware-default) @@ -248,6 +291,14 @@ $(Package/ath10k-ct-firmware-default) PROVIDES:=ath10k-firmware-qca9984 DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct endef +define Package/ath10k-firmware-qca9984-ct-htt +$(Package/ath10k-firmware-default) + TITLE:=ath10k CT 10.4 htt-mgt fw for QCA9984 + SECTION:=firmware + CATEGORY:=Firmware + PROVIDES:=ath10k-firmware-qca9984 + DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct +endef define Package/ath10k-firmware-qca4019-ct $(Package/ath10k-ct-firmware-default) @@ -264,6 +315,14 @@ $(Package/ath10k-ct-firmware-default) PROVIDES:=ath10k-firmware-qca4019 DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct endef +define Package/ath10k-firmware-qca4019-ct-htt +$(Package/ath10k-firmware-default) + TITLE:=ath10k CT 10.4 htt-mgt for QCA4018/9 + SECTION:=firmware + CATEGORY:=Firmware + PROVIDES:=ath10k-firmware-qca4019 + DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct +endef define Package/ath10k-firmware-qca9888-ct $(Package/ath10k-ct-firmware-default) @@ -280,6 +339,14 @@ $(Package/ath10k-ct-firmware-default) PROVIDES:=ath10k-firmware-qca9888 DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct endef +define Package/ath10k-firmware-qca9888-ct-htt +$(Package/ath10k-firmware-default) + TITLE:=ath10k CT 10.4 htt-mgt fw for QCA9886/8 + SECTION:=firmware + CATEGORY:=Firmware + PROVIDES:=ath10k-firmware-qca9888 + DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct +endef define Package/ath10k-firmware-qca9887-ct/description @@ -330,6 +397,16 @@ Enables IBSS and other features. See: http://www.candelatech.com/ath10k-10.4.php This firmware selects and requires the ath10k-ct driver. endef +define Package/ath10k-firmware-qca99x0-ct-htt/description +Alternative ath10k firmware for QCA99x0 from Candela Technologies. +Uses normal HTT TX data path for management frames, which improves +stability in busy networks and may be required for .11r authentication. +This firmware lacks a lot of features that ath10k does not use, saving +a lot of resources. +Enables IBSS and other features. See: +http://www.candelatech.com/ath10k-10.4.php +This firmware selects and requires the ath10k-ct driver. +endef define Package/ath10k-firmware-qca9984-ct/description Alternative ath10k firmware for QCA9984 from Candela Technologies. @@ -346,6 +423,16 @@ Enables IBSS and other features. See: http://www.candelatech.com/ath10k-10.4.php This firmware selects and requires the ath10k-ct driver. endef +define Package/ath10k-firmware-qca9984-ct-htt/description +Alternative ath10k firmware for QCA9984 from Candela Technologies. +Uses normal HTT TX data path for management frames, which improves +stability in busy networks and may be required for .11r authentication. +This firmware lacks a lot of features that ath10k does not use, saving +a lot of resources. +Enables IBSS and other features. See: +http://www.candelatech.com/ath10k-10.4.php +This firmware selects and requires the ath10k-ct driver. +endef define Package/ath10k-firmware-qca4019-ct/description Alternative ath10k firmware for IPQ4019 radio from Candela Technologies. @@ -360,6 +447,16 @@ Enables IBSS and other features. See: http://www.candelatech.com/ath10k-10.4.php This firmware selects and requires the ath10k-ct driver. endef +define Package/ath10k-firmware-qca4019-ct-htt/description +Alternative ath10k firmware for IPQ4019 radio from Candela Technologies. +Uses normal HTT TX data path for management frames, which improves +stability in busy networks and may be required for .11r authentication. +This firmware lacks a lot of features that ath10k does not use, saving +a lot of resources. +Enables IBSS and other features. +See: http://www.candelatech.com/ath10k-10.4.php +This firmware selects and requires the ath10k-ct driver. +endef define Package/ath10k-firmware-qca9888-ct/description Alternative ath10k firmware for QCA9886 and QCA9888 from Candela Technologies. @@ -376,6 +473,16 @@ Enables IBSS and other features. See: http://www.candelatech.com/ath10k-10.4.php This firmware selects and requires the ath10k-ct driver. endef +define Package/ath10k-firmware-qca9888-ct-htt/description +Alternative ath10k firmware for QCA9886 and QCA9888 from Candela Technologies. +Uses normal HTT TX data path for management frames, which improves +stability in busy networks and may be required for .11r authentication. +This firmware lacks a lot of features that ath10k does not use, saving +a lot of resources. +Enables IBSS and other features. See: +http://www.candelatech.com/ath10k-10.4.php +This firmware selects and requires the ath10k-ct driver. +endef define Build/Compile @@ -445,6 +552,18 @@ define Package/ath10k-firmware-qca99x0-ct-full-htt/install $(DL_DIR)/$(call CT_FIRMWARE_FILE_FULL_HTT,QCA99X0) \ $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/ct-firmware-5.bin endef +define Package/ath10k-firmware-qca99x0-ct-htt/install + $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0 + $(INSTALL_DATA) \ + $(DL_DIR)/$(QCA99X0_BOARD2_FILE) \ + $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin + $(INSTALL_DATA) \ + $(DL_DIR)/$(QCA99X0_BOARD_FILE) \ + $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin + $(INSTALL_DATA) \ + $(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA99X0) \ + $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/ct-firmware-5.bin +endef define Package/ath10k-firmware-qca9984-ct/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0 @@ -464,6 +583,15 @@ define Package/ath10k-firmware-qca9984-ct-full-htt/install $(DL_DIR)/$(call CT_FIRMWARE_FILE_FULL_HTT,QCA9984) \ $(1)/lib/firmware/ath10k/QCA9984/hw1.0/ct-firmware-5.bin endef +define Package/ath10k-firmware-qca9984-ct-htt/install + $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0 + $(INSTALL_DATA) \ + $(DL_DIR)/$(QCA9984_BOARD2_FILE) \ + $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin + $(INSTALL_DATA) \ + $(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA9984) \ + $(1)/lib/firmware/ath10k/QCA9984/hw1.0/ct-firmware-5.bin +endef define Package/ath10k-firmware-qca4019-ct/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA4019/hw1.0 @@ -483,6 +611,15 @@ define Package/ath10k-firmware-qca4019-ct-full-htt/install $(DL_DIR)/$(call CT_FIRMWARE_FILE_FULL_HTT,QCA4019) \ $(1)/lib/firmware/ath10k/QCA4019/hw1.0/ct-firmware-5.bin endef +define Package/ath10k-firmware-qca4019-ct-htt/install + $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA4019/hw1.0 + $(INSTALL_DATA) \ + $(DL_DIR)/$(QCA4019_BOARD2_FILE) \ + $(1)/lib/firmware/ath10k/QCA4019/hw1.0/board-2.bin + $(INSTALL_DATA) \ + $(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA4019) \ + $(1)/lib/firmware/ath10k/QCA4019/hw1.0/ct-firmware-5.bin +endef define Package/ath10k-firmware-qca9888-ct/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9888/hw2.0 @@ -508,6 +645,18 @@ define Package/ath10k-firmware-qca9888-ct-full-htt/install $(DL_DIR)/$(call CT_FIRMWARE_FILE_FULL_HTT,QCA9888) \ $(1)/lib/firmware/ath10k/QCA9888/hw2.0/ct-firmware-5.bin endef +define Package/ath10k-firmware-qca9888-ct-htt/install + $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9888/hw2.0 + ln -s \ + ../../cal-pci-0000:01:00.0.bin \ + $(1)/lib/firmware/ath10k/QCA9888/hw2.0/board.bin + $(INSTALL_DATA) \ + $(DL_DIR)/$(QCA9888_BOARD2_FILE) \ + $(1)/lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin + $(INSTALL_DATA) \ + $(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA9888) \ + $(1)/lib/firmware/ath10k/QCA9888/hw2.0/ct-firmware-5.bin +endef $(eval $(call BuildPackage,ath10k-firmware-qca9887-ct)) @@ -516,9 +665,13 @@ $(eval $(call BuildPackage,ath10k-firmware-qca988x-ct)) $(eval $(call BuildPackage,ath10k-firmware-qca988x-ct-full-htt)) $(eval $(call BuildPackage,ath10k-firmware-qca99x0-ct)) $(eval $(call BuildPackage,ath10k-firmware-qca99x0-ct-full-htt)) +$(eval $(call BuildPackage,ath10k-firmware-qca99x0-ct-htt)) $(eval $(call BuildPackage,ath10k-firmware-qca9984-ct)) $(eval $(call BuildPackage,ath10k-firmware-qca9984-ct-full-htt)) +$(eval $(call BuildPackage,ath10k-firmware-qca9984-ct-htt)) $(eval $(call BuildPackage,ath10k-firmware-qca4019-ct)) $(eval $(call BuildPackage,ath10k-firmware-qca4019-ct-full-htt)) +$(eval $(call BuildPackage,ath10k-firmware-qca4019-ct-htt)) $(eval $(call BuildPackage,ath10k-firmware-qca9888-ct)) $(eval $(call BuildPackage,ath10k-firmware-qca9888-ct-full-htt)) +$(eval $(call BuildPackage,ath10k-firmware-qca9888-ct-htt))