[PATCH 19.07 7/8] ath10k-ct-firmware: add htt-mgt variants

Baptiste Jonglez baptiste at bitsofnetworks.org
Thu Sep 3 13:14:18 EDT 2020


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.

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))
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.openwrt.org/pipermail/openwrt-devel/attachments/20200903/5b29c51a/attachment.sig>


More information about the openwrt-devel mailing list