summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau2025-05-22 08:09:41 +0000
committerFelix Fietkau2025-05-31 14:22:48 +0000
commited26185bf6b2d7e81c58c3a310b78e2c48b052d8 (patch)
tree253dcc2908fc04020fa2071d2320330aeb85ada2
parent71bec727c8dbfd6a036d043743759c5df932639c (diff)
downloadopenwrt-ed26185bf6b2d7e81c58c3a310b78e2c48b052d8.tar.gz
hostapd: tweak ACS retry behavior
When running ACS on multi-radio devices, ACS on one band can block another. Increase the number of retries and prevent bouncing interfaces between AP and STA mode during attempts. Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--package/network/services/hostapd/patches/360-acs_retry.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/package/network/services/hostapd/patches/360-acs_retry.patch b/package/network/services/hostapd/patches/360-acs_retry.patch
new file mode 100644
index 0000000000..e858ac24e7
--- /dev/null
+++ b/package/network/services/hostapd/patches/360-acs_retry.patch
@@ -0,0 +1,23 @@
+--- a/src/ap/acs.h
++++ b/src/ap/acs.h
+@@ -15,7 +15,7 @@
+ enum hostapd_chan_status acs_init(struct hostapd_iface *iface);
+ void acs_cleanup(struct hostapd_iface *iface);
+
+-#define ACS_SCAN_RETRY_MAX_COUNT 15
++#define ACS_SCAN_RETRY_MAX_COUNT 50
+ #define ACS_SCAN_RETRY_INTERVAL 5
+
+ #else /* CONFIG_ACS */
+--- a/src/drivers/driver_nl80211_scan.c
++++ b/src/drivers/driver_nl80211_scan.c
+@@ -455,6 +455,9 @@ int wpa_driver_nl80211_scan(struct i802_
+ }
+ #endif /* CONFIG_IEEE80211BE */
+
++ if (ret == -EBUSY)
++ goto fail;
++
+ /*
+ * mac80211 does not allow scan requests in AP mode, so
+ * try to do this in station mode.