From 392e45ef0938058ebce18be9bb9d1b7d2156212e Mon Sep 17 00:00:00 2001
From: Jo-Philipp Wich <jow@openwrt.org>
Date: Tue, 22 Sep 2009 16:17:05 +0000
Subject: [PATCH] implement doth (802.11h) and wmm (802.11e) options for
 broadcom as well; update docs

SVN-Revision: 17676
---
 docs/wireless.tex                              | 10 ++++++++++
 package/broadcom-wl/files/lib/wifi/broadcom.sh | 12 +++++++++---
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/docs/wireless.tex b/docs/wireless.tex
index d92fa76cd9..16dcd689fe 100644
--- a/docs/wireless.tex
+++ b/docs/wireless.tex
@@ -121,6 +121,8 @@ config wifi-iface
     option port     port
     option hidden   0,1
     option isolate  0,1	(broadcom)
+    option doth     0,1	(atheros, broadcom)
+    option wmm      0,1	(atheros, broadcom)
 \end{Verbatim}
 
 \paragraph{Options for the \texttt{wifi-device}:}
@@ -230,6 +232,14 @@ config wifi-iface
         Optional: Isolation is a mode usually set on hotspots that limits the clients to communicate only with the AP and not with other wireless clients.
         0 disables ap isolation (default); 1 enables ap isolation.
 
+    \item \texttt{doth} \\
+        Optional: Toggle 802.11h mode.
+        0 disables 802.11h (default); 1 enables it.
+
+    \item \texttt{wmm} \\
+        Optional: Toggle 802.11e mode.
+        0 disables 802.11e (default); 1 enables it.
+
 \end{itemize}
 
 \paragraph{Mesh Point}
diff --git a/package/broadcom-wl/files/lib/wifi/broadcom.sh b/package/broadcom-wl/files/lib/wifi/broadcom.sh
index 7d56c10e00..985100f6f6 100644
--- a/package/broadcom-wl/files/lib/wifi/broadcom.sh
+++ b/package/broadcom-wl/files/lib/wifi/broadcom.sh
@@ -125,6 +125,8 @@ enable_broadcom() {
 	config_get macaddr "$device" macaddr
 	config_get txpower "$device" txpower
 	local vif_pre_up vif_post_up vif_do_up vif_txpower
+	local doth=0
+	local wmm=0
 
 	_c=0
 	nas="$(which nas)"
@@ -139,7 +141,7 @@ enable_broadcom() {
 	} || {
 		slottime="${slottime:--1}"
 	}
-	
+
 	case "$macfilter" in
 		allow|2)
 			macfilter=2;
@@ -159,7 +161,10 @@ enable_broadcom() {
 		append vif_pre_up "vif $_c" "$N"
 		append vif_post_up "vif $_c" "$N"
 		append vif_do_up "vif $_c" "$N"
-		
+
+		config_get_bool wmm "$vif" wmm "$wmm"
+		config_get_bool doth "$vif" doth "$doth"
+
 		[ "$mode" = "sta" ] || {
 			config_get_bool hidden "$vif" hidden 0
 			append vif_pre_up "closed $hidden" "$N"
@@ -282,7 +287,8 @@ ${mssid:+mssid $mssid}
 infra $infra
 ${wet:+wet 1}
 802.11d 0
-802.11h 0
+802.11h ${doth:-0}
+wme ${wmm:-0}
 rxant ${rxantenna:-3}
 txant ${txantenna:-3}
 monitor ${monitor:-0}
-- 
GitLab