ath10k-ct-firmware: add htt-mgt variants
authorÁlvaro Fernández Rojas <noltari@gmail.com>
Sun, 26 Apr 2020 19:35:53 +0000 (21:35 +0200)
committerÁlvaro Fernández Rojas <noltari@gmail.com>
Tue, 28 Apr 2020 07:33:09 +0000 (09:33 +0200)
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@gmail.com>
package/firmware/ath10k-ct-firmware/Makefile

index 6a35e9c..18370b7 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ath10k-ct-firmware
 PKG_VERSION:=2020-04-24
 
 PKG_NAME:=ath10k-ct-firmware
 PKG_VERSION:=2020-04-24
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 include $(INCLUDE_DIR)/package.mk
 
 
 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 = $(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)
 
 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
 
   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,)
 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))
 
 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
 
 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))
 
 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
 
 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))
 
 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
 
 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))
 
 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
 
 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
   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)
 
 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
   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)
 
 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
   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)
 
 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
   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
 
 
 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
 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.
 
 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
 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.
 
 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
 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.
 
 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
 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
 
 
 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
                $(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
 
 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
                $(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
 
 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
                $(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
 
 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
                $(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))
 
 
 $(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-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))
 $(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))
 $(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))
 $(eval $(call BuildPackage,ath10k-firmware-qca9888-ct-full-htt))
+$(eval $(call BuildPackage,ath10k-firmware-qca9888-ct-htt))