aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2017-05-13 16:17:44 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2017-05-13 17:12:54 +0200
commit1a16cb9c67f0d2c530914aec31c721b75f03a908 (patch)
tree7bb379b72b5d34cfdf950c98a312ec56d62f95e4 /package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
parent5e481881d7abd814abbf40a046be90cbaf835e72 (diff)
downloadupstream-1a16cb9c67f0d2c530914aec31c721b75f03a908.tar.gz
upstream-1a16cb9c67f0d2c530914aec31c721b75f03a908.tar.bz2
upstream-1a16cb9c67f0d2c530914aec31c721b75f03a908.zip
mac80211, hostapd: always explicitly set beacon interval
One of the latest mac80211 updates added sanity checks, requiring the beacon intervals of all VIFs of the same radio to match. This often broke AP+11s setups, as these modes use different default intervals, at least in some configurations (observed on ath9k). Instead of relying on driver or hostapd defaults, change the scripts to always explicitly set the beacon interval, defaulting to 100. This also applies the beacon interval to 11s interfaces, which had been forgotten before. VIF-specific beacon_int setting is removed from hostapd.sh. Fixes FS#619. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Diffstat (limited to 'package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh')
-rw-r--r--package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh10
1 files changed, 6 insertions, 4 deletions
diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
index 9ebd76be49..cda6f9f438 100644
--- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
+++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
@@ -268,7 +268,7 @@ mac80211_hostapd_setup_base() {
vht_max_mpdu_hw=11454
[ "$vht_max_mpdu_hw" != 3895 ] && \
vht_capab="$vht_capab[MAX-MPDU-$vht_max_mpdu_hw]"
-
+
# maximum A-MPDU length exponent
vht_max_a_mpdu_len_exp_hw=0
[ "$(($vht_cap & 58720256))" -ge 8388608 -a 1 -le "$vht_max_a_mpdu_len_exp" ] && \
@@ -588,7 +588,7 @@ mac80211_setup_adhoc() {
[ -n "$mcast_rate" ] && wpa_supplicant_add_rate mcval "$mcast_rate"
iw dev "$ifname" ibss join "$ssid" $freq $ibss_htmode fixed-freq $bssid \
- ${beacon_int:+beacon-interval $beacon_int} \
+ beacon-interval $beacon_int \
${brstr:+basic-rates $brstr} \
${mcval:+mcast-rate $mcval} \
${keyspec:+keys $keyspec}
@@ -668,7 +668,9 @@ mac80211_setup_vif() {
esac
freq="$(get_freq "$phy" "$channel")"
- iw dev "$ifname" mesh join "$mesh_id" freq $freq $mesh_htmode ${mcval:+mcast-rate $mcval}
+ iw dev "$ifname" mesh join "$mesh_id" freq $freq $mesh_htmode \
+ ${mcval:+mcast-rate $mcval} \
+ beacon-interval $beacon_int
fi
for var in $MP_CONFIG_INT $MP_CONFIG_BOOL $MP_CONFIG_STRING; do
@@ -720,7 +722,7 @@ drv_mac80211_setup() {
country chanbw distance \
txpower antenna_gain \
rxantenna txantenna \
- frag rts beacon_int htmode
+ frag rts beacon_int:100 htmode
json_get_values basic_rate_list basic_rate
json_select ..