mac80211: make ath10k firmware v2 selectable
authorJohn Crispin <john@openwrt.org>
Tue, 14 Jul 2015 07:35:45 +0000 (07:35 +0000)
committerJohn Crispin <john@openwrt.org>
Tue, 14 Jul 2015 07:35:45 +0000 (07:35 +0000)
Added option for old firmware version (10.1 API v2). It seems that recent
firmware versions are constantly crashing (at least on a QCA9880-BR4A-R) and
this provides the option to select an older version instead.

Signed-off-by: Günther Kelleter <guenther.kelleter@devolo.de>
SVN-Revision: 46340

package/kernel/mac80211/Makefile

index 7f698f039c22d74afee7c0e441b203ec5bee7436..cc98fb7d4885a008479800d2fb6c68a1257d1195 100644 (file)
@@ -620,6 +620,19 @@ Atheros IEEE 802.11ac family of chipsets. For now only
 PCI is supported.
 endef
 
 PCI is supported.
 endef
 
+define KernelPackage/ath10k/config
+  if PACKAGE_kmod-ath10k
+
+       config ATH10K_API2_FW
+               bool "Firmware optimized for AP operation (v10.1 / API v2)"
+               default n
+               help
+                 Use the ath10k firmware from the 10.1 SDK using API v2 optimized
+                 for access point operation if the default firmware keeps crashing.
+
+  endif
+endef
+
 define KernelPackage/carl9170
   $(call KernelPackage/mac80211/Default)
   TITLE:=Driver for Atheros AR9170 USB sticks
 define KernelPackage/carl9170
   $(call KernelPackage/mac80211/Default)
   TITLE:=Driver for Atheros AR9170 USB sticks
@@ -1844,9 +1857,15 @@ define KernelPackage/ath10k/install
        $(INSTALL_DATA) \
                $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/ath10k/QCA988X/hw2.0/board.bin \
                $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
        $(INSTALL_DATA) \
                $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/ath10k/QCA988X/hw2.0/board.bin \
                $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
+ifeq ($(CONFIG_ATH10K_API2_FW),y)
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/10.1/firmware-2.bin_10.1.467.2-1 \
+               $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin
+else
        $(INSTALL_DATA) \
                $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/10.2.4/untested/firmware-5.bin_10.2.4.70-2 \
                $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-5.bin
        $(INSTALL_DATA) \
                $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/10.2.4/untested/firmware-5.bin_10.2.4.70-2 \
                $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-5.bin
+endif
 endef
 
 define KernelPackage/mwl8k/install
 endef
 
 define KernelPackage/mwl8k/install