mac80211: backport from trunk r46760

This commit is contained in:
Matthias Schiffer 2015-09-01 19:55:43 +02:00
parent 280ea8d9ba
commit 91b3c1d371
4 changed files with 20526 additions and 43 deletions

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ not only wpad-mesh. Fix this by applying the same workaround as in
ustream-ssl.
diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile
index 3dff7b4..d86bb43 100644
index c16cb11..c39b6b4 100644
--- a/package/network/services/hostapd/Makefile
+++ b/package/network/services/hostapd/Makefile
@@ -177,7 +177,7 @@ endef

View File

@ -3,10 +3,10 @@ Date: Tue, 10 Mar 2015 13:17:14 +0100
Subject: ath10k: add Candelatech community firmware as an additional choice
diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile
index a1eedce..1c0aebe 100644
index 04dfd3b..5d77ebf 100644
--- a/package/kernel/mac80211/Makefile
+++ b/package/kernel/mac80211/Makefile
@@ -604,6 +604,14 @@ This module adds support for wireless adapters based on
@@ -603,6 +603,14 @@ This module adds support for wireless adapters based on
Atheros USB AR9271 and AR7010 family of chipsets.
endef
@ -21,10 +21,10 @@ index a1eedce..1c0aebe 100644
define KernelPackage/ath10k
$(call KernelPackage/mac80211/Default)
TITLE:=Atheros 802.11ac wireless cards support
@@ -624,21 +632,37 @@ endef
@@ -622,6 +630,17 @@ endef
define KernelPackage/ath10k/config
if PACKAGE_kmod-ath10k
+ choice
+ prompt "ath10k firmware flavour"
+ default ATH10K_AP_FW
@ -36,60 +36,39 @@ index a1eedce..1c0aebe 100644
+ help
+ Use the ath10k firmware optimized for access point operation.
+ Supports only AP mode, will crash in IBSS (ad-hoc) mode.
+
config ATH10K_STA_FW
bool "Firmware optimized for STA operation"
- default n
help
Use the ath10k firmware optimized for wireless client instead
- of access point operation.
+ of access point operation. Might be unstable in AP mode.
+
config ATH10K_API2_FW
bool "Firmware optimized for AP operation (v10.1 / API v2)"
@@ -630,6 +649,13 @@ define KernelPackage/ath10k/config
Use the ath10k firmware from the 10.1 SDK using API v2 optimized
for access point operation if the default firmware keeps crashing.
+ config ATH10K_CT_COMMUNITY_FW
+ bool "Firmware by Candela Technologies (community version)"
+ help
+ Supports both AP and IBSS (ad-hoc) mode. Doesn't support
+ encryption when using multiple VIFs.
config ATH10K_API2_FW
bool "Firmware optimized for AP operation (v10.1 / API v2)"
- default n
- depends on !ATH10K_STA_FW
help
Use the ath10k firmware from the 10.1 SDK using API v2 optimized
for access point operation if the default firmware keeps crashing.
+
+ endchoice
endif
endef
@@ -1866,18 +1890,25 @@ 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/
+ifeq ($(CONFIG_ATH10K_AP_FW),y)
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/10.2.4/firmware-4.bin_10.2.4.45 \
+ $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-4.bin
+endif
ifeq ($(CONFIG_ATH10K_STA_FW),y)
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/main/firmware-2.bin_999.999.0.636 \
$(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin
-else ifeq ($(CONFIG_ATH10K_API2_FW),y)
+endif
+ifeq ($(CONFIG_ATH10K_API2_FW),y)
@@ -1885,11 +1911,17 @@ 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
+endif
+ifeq ($(CONFIG_ATH10K_CT_COMMUNITY_FW),y)
+ifeq ($(CONFIG_ATH10K_AP_FW),y)
$(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/10.2.4/firmware-4.bin_10.2.4.45 \
- $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-4.bin
$(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
+ifeq ($(CONFIG_ATH10K_CT_COMMUNITY_FW),y)
+ $(INSTALL_DATA) \
+ $(DL_DIR)/$(ATH10K_CT_COMMUNITY_FW) \
+ $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin
endif
+endif
endef
define KernelPackage/mt7601u/install