From e3b1ebf363f2eaa64c28eef8de52d4c490b698f6 Mon Sep 17 00:00:00 2001 From: Janusz Dziedzic Date: Tue, 3 Dec 2024 15:35:20 +0000 Subject: [PATCH] map-agent: wait ap-autoconfig when MLO Don't generate APs early - just wait ap-autoconfig. --- map-agent/files/lib/multiap/map_genconfig | 36 +++++++++++++---------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/map-agent/files/lib/multiap/map_genconfig b/map-agent/files/lib/multiap/map_genconfig index 30fa17f78..fded1c940 100644 --- a/map-agent/files/lib/multiap/map_genconfig +++ b/map-agent/files/lib/multiap/map_genconfig @@ -4,6 +4,7 @@ generate_mapagent_config=0 generate_wireless_sta_config=0 +generate_aps_config=1 network_mode="$(fw_printenv -n netmode)" # default is layer3 multiap_mode="$(fw_printenv -n multiap_mode)" # default is full @@ -121,6 +122,9 @@ generate_multiap_config() { # Disable for MLD/MLO uci set mapagent.agent.island_prevention="0" uci commit mapagent + + # wait ap-autoconfiguration + generate_aps_config=0 } else ifprefix="wlan%-" @@ -171,22 +175,24 @@ generate_multiap_config() { \"match\":{\"mode\":\"sta\", \"ifname\":\"$ifname\", \"device\":\"$device\"},\"values\":{\"multi_ap\":\"1\"}}" 2>/dev/null fi else - uci add mapagent ap - uci set mapagent.@ap[-1].type="fronthaul" - uci set mapagent.@ap[-1].device="$device" - uci set mapagent.@ap[-1].ifname="$ifname" - uci set mapagent.@ap[-1].band="$mode_band" - uci add mapagent ap - uci set mapagent.@ap[-1].type="backhaul" - uci set mapagent.@ap[-1].device="$device" - uci set mapagent.@ap[-1].ifname="$ifname_bh" - uci set mapagent.@ap[-1].band="$mode_band" + if [ $generate_aps_config -eq 1 ]; then + uci add mapagent ap + uci set mapagent.@ap[-1].type="fronthaul" + uci set mapagent.@ap[-1].device="$device" + uci set mapagent.@ap[-1].ifname="$ifname" + uci set mapagent.@ap[-1].band="$mode_band" + uci add mapagent ap + uci set mapagent.@ap[-1].type="backhaul" + uci set mapagent.@ap[-1].device="$device" + uci set mapagent.@ap[-1].ifname="$ifname_bh" + uci set mapagent.@ap[-1].band="$mode_band" - if [ "$multiap_mode" != "none" ]; then - ubus call uci set "{\"config\":\"wireless\",\"type\":\"wifi-iface\", \ - \"match\":{\"ifname\":\"$ifname\", \"device\":\"$device\"},\"values\":{\"multi_ap\":\"2\"}}" 2>/dev/null - ubus call uci set "{\"config\":\"wireless\",\"type\":\"wifi-iface\", \ - \"match\":{\"ifname\":\"$ifname_bh\", \"device\":\"$device\"},\"values\":{\"multi_ap\":\"1\"}}" 2>/dev/null + if [ "$multiap_mode" != "none" ]; then + ubus call uci set "{\"config\":\"wireless\",\"type\":\"wifi-iface\", \ + \"match\":{\"ifname\":\"$ifname\", \"device\":\"$device\"},\"values\":{\"multi_ap\":\"2\"}}" 2>/dev/null + ubus call uci set "{\"config\":\"wireless\",\"type\":\"wifi-iface\", \ + \"match\":{\"ifname\":\"$ifname_bh\", \"device\":\"$device\"},\"values\":{\"multi_ap\":\"1\"}}" 2>/dev/null + fi fi fi fi