X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/3344f8e40c4ab416fc3bee4a8f6221cbd87a5da2..57b73bf423b68390a7ca428306ec0e30348e3401:/package/mac80211/files/lib/wifi/mac80211.sh diff --git a/package/mac80211/files/lib/wifi/mac80211.sh b/package/mac80211/files/lib/wifi/mac80211.sh index ac1562fb2..ff5470b5e 100644 --- a/package/mac80211/files/lib/wifi/mac80211.sh +++ b/package/mac80211/files/lib/wifi/mac80211.sh @@ -13,9 +13,21 @@ mac80211_hostapd_setup_base() { config_get country "$device" country config_get hwmode "$device" hwmode config_get channel "$device" channel + config_get beacon_int "$device" beacon_int + config_get basic_rate_list "$device" basic_rate config_get_bool noscan "$device" noscan + config_get_bool short_preamble "$device" short_preamble "0" + + hostapd_set_log_options base_cfg "$device" + [ -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" ] && { @@ -34,6 +46,11 @@ mac80211_hostapd_setup_base() { } } + local country_ie=0 + [ -n "$country" ] && country_ie=1 + config_get_bool country_ie "$device" country_ie "$country_ie" + [ "$country_ie" -gt 0 ] && append base_cfg "ieee80211d=1" "$N" + config_get macfilter "$vif" macfilter case "$macfilter" in allow) @@ -51,6 +68,18 @@ mac80211_hostapd_setup_base() { echo "$mac" >> $macfile done } + + local br brval brstr + [ -n "$basic_rate_list" ] && { + for br in $basic_rate_list; do + brval="$(($br / 100))" + [ -n "$brstr" ] && brstr="$brstr " + brstr="$brstr$brval" + done + } + + append base_cfg "preamble=$short_preamble" "$N" + cat >> "$cfgfile" <