mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-14 11:13:29 +00:00
59 lines
1.8 KiB
Diff
59 lines
1.8 KiB
Diff
From 37528a5205cb0b9e2238b7d97fb2ff5457448f1c Mon Sep 17 00:00:00 2001
|
|
From: David Bauer <mail@david-bauer.net>
|
|
Date: Thu, 8 Sep 2022 01:45:41 +0200
|
|
Subject: [PATCH] acs: don't select indoor channel on outdoor operation
|
|
|
|
Don't select channels designated for exclusive-indoor use when the
|
|
country3 element is set on outdoor operation.
|
|
|
|
Signed-off-by: David Bauer <mail@david-bauer.net>
|
|
---
|
|
src/ap/acs.c | 9 +++++++++
|
|
src/ap/dfs.c | 3 +++
|
|
2 files changed, 12 insertions(+)
|
|
|
|
--- a/src/ap/acs.c
|
|
+++ b/src/ap/acs.c
|
|
@@ -552,6 +552,9 @@ static void acs_survey_mode_interference
|
|
if (chan->max_tx_power < iface->conf->min_tx_power)
|
|
continue;
|
|
|
|
+ if (chan->flag & HOSTAPD_CHAN_INDOOR_ONLY && iface->conf->country[2] == 0x4f)
|
|
+ continue;
|
|
+
|
|
wpa_printf(MSG_DEBUG, "ACS: Survey analysis for channel %d (%d MHz)",
|
|
chan->chan, chan->freq);
|
|
|
|
@@ -686,6 +689,9 @@ acs_find_ideal_chan_mode(struct hostapd_
|
|
if (chan->max_tx_power < iface->conf->min_tx_power)
|
|
continue;
|
|
|
|
+ if (chan->flag & HOSTAPD_CHAN_INDOOR_ONLY && iface->conf->country[2] == 0x4f)
|
|
+ continue;
|
|
+
|
|
if (!chan_bw_allowed(chan, bw, 1, 1)) {
|
|
wpa_printf(MSG_DEBUG,
|
|
"ACS: Channel %d: BW %u is not supported",
|
|
@@ -1067,6 +1073,9 @@ static int * acs_request_scan_add_freqs(
|
|
if (chan->max_tx_power < iface->conf->min_tx_power)
|
|
continue;
|
|
|
|
+ if (chan->flag & HOSTAPD_CHAN_INDOOR_ONLY && iface->conf->country[2] == 0x4f)
|
|
+ continue;
|
|
+
|
|
*freq++ = chan->freq;
|
|
}
|
|
|
|
--- a/src/ap/dfs.c
|
|
+++ b/src/ap/dfs.c
|
|
@@ -282,6 +282,9 @@ static int dfs_find_channel(struct hosta
|
|
if (chan->max_tx_power < iface->conf->min_tx_power)
|
|
continue;
|
|
|
|
+ if (chan->flag & HOSTAPD_CHAN_INDOOR_ONLY && iface->conf->country[2] == 0x4f)
|
|
+ continue;
|
|
+
|
|
if (ret_chan && idx == channel_idx) {
|
|
wpa_printf(MSG_DEBUG, "Selected channel %d (%d)",
|
|
chan->freq, chan->chan);
|