diff --git a/map-agent/files/lib/multiap/map_genconfig b/map-agent/files/lib/multiap/map_genconfig index 4e0d7a3b8..c5807d226 100644 --- a/map-agent/files/lib/multiap/map_genconfig +++ b/map-agent/files/lib/multiap/map_genconfig @@ -7,6 +7,7 @@ generate_wireless_sta_config=0 network_mode="$(fw_printenv -n netmode)" # default is layer3 multiap_mode="$(fw_printenv -n multiap_mode)" # default is full +disable_mlo="$(fw_printenv -n disable_mlo)" is_airoha() { [ -f /proc/device-tree/compatible ] || return @@ -81,8 +82,12 @@ generate_multiap_config() { ifname="wlan${devidx}" ifname_bh="wlan${devidx}-1" ap_follow_sta_dfs="1" - uci set wireless.$dev.mlo="1" - uci set wireless.$dev.mlo_capable="1" + + [ "$disable_mlo" == "1" ] || { + uci set wireless.$dev.mlo="1" + uci set wireless.$dev.mlo_capable="1" + } + uci commit wireless else ifprefix="wlan%-" @@ -191,6 +196,13 @@ map_genconf () { uci set mapcontroller.controller.enabled="0" else uci set mapcontroller.controller.enabled="1" + [ "$disable_mlo" == "1" ] && { + mapcontroller_disable_mld() { + uci set mapcontroller.$1.enabled='0' + } + config_load mapcontroller + config_foreach mapcontroller_disable_mld mld + } fi uci -q commit mapcontroller }