a3a55d6461
This backports two fixes related to operation on DFS-required channels. When a DFS-required channel was selected as the regular (non-outdoor-mode) 5 GHz channel, hostapd would switch to a non-DFS channel as OpenWrt did not pass a chanlist of allowed ACS channels. When hostapd is given a single channel for the chanlist or there's no available channel left (all allowed channels are in the no-occupancy period), hostapd prints "no DFS channels left, waiting for NOP to finish" to the syslog but never stopped transmitting on this channel, still sending out beacon frames and allowing client data transfer.
29 lines
1.2 KiB
Diff
29 lines
1.2 KiB
Diff
From: David Bauer <mail@david-bauer.net>
|
|
Date: Sat, 4 Jul 2020 13:20:02 +0200
|
|
Subject: mac80211: create channel list for fixed channel operation
|
|
|
|
Currently a device which has a DFS channel selected using the UCI
|
|
channel setting might switch to a non-DFS channel in case no chanlist is
|
|
provided (UCI setting "channels") when the radio detects a DFS event.
|
|
|
|
Automatically add a chanlist consisting of the configured channel when
|
|
the device does not operate in auto-channel mode and no chanlist set to
|
|
circumvent this issue.
|
|
|
|
Signed-off-by: David Bauer <mail@david-bauer.net>
|
|
|
|
diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
|
|
index 634aadcee949bd1c3ad9963d01d9eb444250aa0b..49e51618ab71e197f27ec0581470e81056f1e8b7 100644
|
|
--- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
|
|
+++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
|
|
@@ -100,6 +100,9 @@ mac80211_hostapd_setup_base() {
|
|
json_get_vars noscan ht_coex
|
|
json_get_values ht_capab_list ht_capab tx_burst
|
|
|
|
+ [ "$auto_channel" = 0 ] && [ -z "$channel_list" ] && \
|
|
+ channel_list="$channel"
|
|
+
|
|
set_default noscan 0
|
|
|
|
[ "$noscan" -gt 0 ] && hostapd_noscan=1
|