[PATCH 19.07 7/8] ath10k-ct-firmware: add htt-mgt variants
Ben Greear
greearb at candelatech.com
Thu Sep 3 13:31:38 EDT 2020
On 9/3/20 10:14 AM, Baptiste Jonglez wrote:
> Adrian pointed out a possible issue with these backpots: combining patches
> 5/8 and 7/8 basically mean that a different firmware variant will be
> distributed in "ath10k-firmware-*-ct-htt" packages.
>
> Currently in 19.07 the ath10k-firmware-*-ct-htt packages bundle this
> firmware variant: firmware-{2,5}-ct-full-htt-mgt-community
>
> With patch 5/8 and 7/8, the same ath10k-firmware-*-ct-htt packages would
> instead bundle this firmware variant: firmware-{2,5}-ct-htt-mgt-community
>
> The description of this new firmware variant is copied below:
>
> 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.
>
> These HTT firmwares are not used in default openwrt images, but they could
> be used downstream: it does not seem wise to distribute a different
> firmware variant under the same package name.
Those compiled out features are not used by any ath10k driver as far as I know.
If the driver doesn't use it, I don't see how anything else could...
Its still worth testing, but I think that diet variant is probably the best choice.
Thanks,
Ben
>
> I will send a v2 fixing this.
>
> On 25-08-20, Baptiste Jonglez wrote:
>> From: Álvaro Fernández Rojas <noltari at gmail.com>
>>
>> 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 <noltari at gmail.com>
>> (cherry picked from commit a882bfce052e78bd344dcbd36efb32acf1340d7a)
>> ---
>> 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 6a35e9c75c..18370b7d85 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))
>>
>> _______________________________________________
>> openwrt-devel mailing list
>> openwrt-devel at lists.openwrt.org
>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
--
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc http://www.candelatech.com
More information about the openwrt-devel
mailing list