hostapd: add support for auto-channel selection
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 25 Nov 2013 15:43:30 +0000 (15:43 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 25 Nov 2013 15:43:30 +0000 (15:43 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38915 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/kernel/mac80211/files/lib/wifi/mac80211.sh
package/network/services/hostapd/files/hostapd-full.config
package/network/services/hostapd/files/hostapd-mini.config

index 13afa81..1994ca3 100644 (file)
@@ -19,11 +19,8 @@ mac80211_hostapd_setup_base() {
 
        [ -n "$channel" -a -z "$hwmode" ] && wifi_fixup_hwmode "$device"
 
 
        [ -n "$channel" -a -z "$hwmode" ] && wifi_fixup_hwmode "$device"
 
-       [ "$channel" = auto ] && {
-               channel=$(iw phy "$phy" info | \
-                       sed -ne '/MHz/ { /disabled\|passive\|radar/d; s/.*\[//; s/\].*//; p; q }')
-               config_set "$device" channel "$channel"
-       }
+       hostapd_channel=$channel
+       [ "$channel" = auto -o "$channel" = 0 ] && hostapd_channel=acs_survey
 
        [ -n "$hwmode" ] && {
                config_get hwmode_11n "$device" hwmode_11n
 
        [ -n "$hwmode" ] && {
                config_get hwmode_11n "$device" hwmode_11n
@@ -97,7 +94,7 @@ tx_queue_data0_cwmin=3
 tx_queue_data0_cwmax=7
 tx_queue_data0_burst=1.5
 ${hwmode:+hw_mode=$hwmode}
 tx_queue_data0_cwmax=7
 tx_queue_data0_burst=1.5
 ${hwmode:+hw_mode=$hwmode}
-${channel:+channel=$channel}
+${hostapd_channel:+channel=$hostapd_channel}
 ${beacon_int:+beacon_int=$beacon_int}
 ${country:+country_code=$country}
 ${noscan:+noscan=$noscan}
 ${beacon_int:+beacon_int=$beacon_int}
 ${country:+country_code=$country}
 ${noscan:+noscan=$noscan}
index 2b71781..bc999c0 100644 (file)
@@ -164,4 +164,6 @@ CONFIG_NO_DUMP_STATE=y
 CONFIG_WPS=y
 CONFIG_FULL_DYNAMIC_VLAN=y
 
 CONFIG_WPS=y
 CONFIG_FULL_DYNAMIC_VLAN=y
 
+CONFIG_ACS=y
+
 CONFIG_UBUS=y
 CONFIG_UBUS=y
index 0f0284b..01a04cb 100644 (file)
@@ -157,4 +157,6 @@ CONFIG_TLS=internal
 CONFIG_NO_RANDOM_POOL=y
 CONFIG_NO_DUMP_STATE=y
 
 CONFIG_NO_RANDOM_POOL=y
 CONFIG_NO_DUMP_STATE=y
 
+CONFIG_ACS=y
+
 CONFIG_UBUS=y
 CONFIG_UBUS=y