summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-08-13 22:55:59 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-08-13 22:55:59 +0000
commitde43975f39838905396f5578ee5ae1c4e197f879 (patch)
tree9c517bfa140088d08420ddcee25617dffc7b8a7b
parentdb5c8f65cad92980356baab0c8dd383357b6ff36 (diff)
[package] mac80211: use first available channel from current phy if channel is set to "auto"
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27976 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/mac80211/files/lib/wifi/mac80211.sh8
1 files changed, 7 insertions, 1 deletions
diff --git a/package/mac80211/files/lib/wifi/mac80211.sh b/package/mac80211/files/lib/wifi/mac80211.sh
index dbf13b810..86ec75cec 100644
--- a/package/mac80211/files/lib/wifi/mac80211.sh
+++ b/package/mac80211/files/lib/wifi/mac80211.sh
@@ -17,7 +17,13 @@ mac80211_hostapd_setup_base() {
config_get basic_rate_list "$device" basic_rate
config_get_bool noscan "$device" noscan
[ -n "$channel" -a -z "$hwmode" ] && wifi_fixup_hwmode "$device"
- [ "$channel" = auto ] && channel=
+
+ [ "$channel" = auto ] && {
+ channel=$(iw phy "$phy" info | \
+ sed -ne '/MHz/ { /disabled\|passive\|radar/d; s/.*\[//; s/\].*//; p; q }')
+ config_set "$device" channel "$channel"
+ }
+
[ -n "$hwmode" ] && {
config_get hwmode_11n "$device" hwmode_11n
[ -n "$hwmode_11n" ] && {