|
@@ -1,116 +0,0 @@
|
|
|
-From: Matthias Schiffer <mschiffer@universe-factory.net>
|
|
|
-Date: Sat, 13 May 2017 16:17:44 +0200
|
|
|
-Subject: 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>
|
|
|
-
|
|
|
-diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile
|
|
|
-index 7d7065d4ecaa4bd9eec8fedfd8f16f27d826e8aa..a326965016f35d2a7fcc061eb5dc4fd2060a3261 100644
|
|
|
---- a/package/kernel/mac80211/Makefile
|
|
|
-+++ b/package/kernel/mac80211/Makefile
|
|
|
-@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
|
|
|
- PKG_NAME:=mac80211
|
|
|
-
|
|
|
- PKG_VERSION:=2017-01-31
|
|
|
--PKG_RELEASE:=1
|
|
|
-+PKG_RELEASE:=2
|
|
|
- PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
|
|
|
- PKG_BACKPORT_VERSION:=
|
|
|
- PKG_HASH:=75e6d39e34cf156212a2509172a4a62b673b69eb4a1d9aaa565f7fa719fa2317
|
|
|
-diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
|
|
|
-index baa023ecf63ba3515e1458064e1b14bc5c74a8bc..82c374353ec98259e57c2568843ca9ef6b3a4ca2 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" ] && \
|
|
|
-@@ -566,7 +566,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}
|
|
|
-@@ -646,7 +646,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
|
|
|
-@@ -698,7 +700,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 ..
|
|
|
-
|
|
|
-diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile
|
|
|
-index f3aa94b6eaf1d3370f69b21e8e4bd22dfc1f5931..b7cc6b9c34f67685b92c89de310aedbf8462cb62 100644
|
|
|
---- a/package/network/services/hostapd/Makefile
|
|
|
-+++ b/package/network/services/hostapd/Makefile
|
|
|
-@@ -7,7 +7,7 @@
|
|
|
- include $(TOPDIR)/rules.mk
|
|
|
-
|
|
|
- PKG_NAME:=hostapd
|
|
|
--PKG_RELEASE:=2
|
|
|
-+PKG_RELEASE:=3
|
|
|
-
|
|
|
- PKG_SOURCE_URL:=http://w1.fi/hostap.git
|
|
|
- PKG_SOURCE_PROTO:=git
|
|
|
-diff --git a/package/network/services/hostapd/files/hostapd.sh b/package/network/services/hostapd/files/hostapd.sh
|
|
|
-index 195b6ec45ac4def6484b322703be04433b209c7b..a937baa4d8442acc292ced3c1a3c896dba2c813e 100644
|
|
|
---- a/package/network/services/hostapd/files/hostapd.sh
|
|
|
-+++ b/package/network/services/hostapd/files/hostapd.sh
|
|
|
-@@ -75,7 +75,7 @@ hostapd_prepare_device_config() {
|
|
|
- local base="${config%%.conf}"
|
|
|
- local base_cfg=
|
|
|
-
|
|
|
-- json_get_vars country country_ie beacon_int doth require_mode
|
|
|
-+ json_get_vars country country_ie beacon_int:100 doth require_mode
|
|
|
-
|
|
|
- hostapd_set_log_options base_cfg
|
|
|
-
|
|
|
-@@ -109,7 +109,7 @@ hostapd_prepare_device_config() {
|
|
|
-
|
|
|
- [ -n "$rlist" ] && append base_cfg "supported_rates=$rlist" "$N"
|
|
|
- [ -n "$brlist" ] && append base_cfg "basic_rates=$brlist" "$N"
|
|
|
-- [ -n "$beacon_int" ] && append base_cfg "beacon_int=$beacon_int" "$N"
|
|
|
-+ append base_cfg "beacon_int=$beacon_int" "$N"
|
|
|
-
|
|
|
- cat > "$config" <<EOF
|
|
|
- driver=$driver
|
|
|
-@@ -697,7 +697,6 @@ wpa_supplicant_add_network() {
|
|
|
- esac
|
|
|
- }
|
|
|
- [ -n "$bssid" ] && append network_data "bssid=$bssid" "$N$T"
|
|
|
-- [ -n "$beacon_int" ] && append network_data "beacon_int=$beacon_int" "$N$T"
|
|
|
-
|
|
|
- local bssid_blacklist bssid_whitelist
|
|
|
- json_get_values bssid_blacklist bssid_blacklist
|