unifi-wifi: fix apply-wlan wlan_bands 6e->6g; add 5GHz + 6GHz phases to Cascades runbook

- apply-wlan.sh: wlan_bands token was "6e" but this controller stores "6g" (verified live on Cascades
  Guest SSID) -> setting 6 GHz membership would have failed. Fixed band values + option names (5g6g/6g/all).
- Cascades 2.4 runbook: folded in Phase 5 (5 GHz: width 80->40 on 76 radios; channel plan with the
  DFS decision flagged -- DFS empirically clean here, so including clean-DFS gives ~20 channels vs ~5
  non-DFS-only for 77 APs) and Phase 6 (6 GHz: root cause = production SSID CSCNet not on 6 GHz [bands
  2g,5g only]; add 6g + enable bss-transition; band-steering already on). Per Howard.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-16 21:34:18 -07:00
parent e6a0efa57c
commit 16a8dfffd1
2 changed files with 53 additions and 10 deletions

View File

@@ -10,7 +10,7 @@
# minrate <ng|na> auto|off|<Mbps> -> minrate_setting_preference + minrate_<band>_enabled/_data_rate_kbps
# kill 1-11Mbps legacy basic rates: set 2.4 floor to 12 or 24. e.g. minrate ng 12
# bandsteer <on|off> -> no2ghz_oui (keep 5GHz-capable client OUIs off 2.4 = band steering)
# bands <both|5g|5g6e|6e|all> -> wlan_bands (force the SSID onto specific bands; 5g = strongest steer)
# bands <both|5g|5g6g|6g|all> -> wlan_bands (force the SSID onto specific bands; 5g = strongest steer; 6g = this controller's 6GHz token)
# steer <on|off> -> roaming_assistant_na_enabled (5GHz sticky-client kicker)
# bsstm <on|off> -> bss_transition (802.11v; assists band/AP steering + roaming)
# (modern UniFi has no classic 'bandsteering_mode' field; the above are its replacements, confirmed 2026-06-16)
@@ -42,14 +42,15 @@ case "$ACT" in
case "$SVAL" in on) FIELDS="{\"roaming_assistant_na_enabled\":true}";; off) FIELDS="{\"roaming_assistant_na_enabled\":false}";; *) echo "steer: on|off"; exit 1;; esac ;;
bandsteer) SVAL="${1:?bandsteer <on|off>}"; shift # keep 5GHz-capable client OUIs OFF 2.4 (the band-steering toggle)
case "$SVAL" in on) FIELDS="{\"no2ghz_oui\":true}";; off) FIELDS="{\"no2ghz_oui\":false}";; *) echo "bandsteer: on|off"; exit 1;; esac ;;
bands) SVAL="${1:?bands <both|5g|5g6e|all|6e>}"; shift # per-WLAN band membership (force SSID onto bands)
bands) SVAL="${1:?bands <both|5g|5g6g|all|6g>}"; shift # per-WLAN band membership (force SSID onto bands)
# NOTE: this controller stores 6 GHz as "6g" (verified live on Cascades Guest SSID), NOT "6e".
case "$SVAL" in
both) FIELDS="{\"wlan_bands\":[\"2g\",\"5g\"]}";;
5g) FIELDS="{\"wlan_bands\":[\"5g\"]}";;
5g6e) FIELDS="{\"wlan_bands\":[\"5g\",\"6e\"]}";;
6e) FIELDS="{\"wlan_bands\":[\"6e\"]}";;
all) FIELDS="{\"wlan_bands\":[\"2g\",\"5g\",\"6e\"]}";;
*) echo "bands: both|5g|5g6e|6e|all"; exit 1;; esac ;;
5g6g) FIELDS="{\"wlan_bands\":[\"5g\",\"6g\"]}";;
6g) FIELDS="{\"wlan_bands\":[\"6g\"]}";;
all) FIELDS="{\"wlan_bands\":[\"2g\",\"5g\",\"6g\"]}";;
*) echo "bands: both|5g|5g6g|6g|all"; exit 1;; esac ;;
bsstm) SVAL="${1:?bsstm <on|off>}"; shift # 802.11v BSS Transition Management (assists steering/roaming)
case "$SVAL" in on) FIELDS="{\"bss_transition\":true}";; off) FIELDS="{\"bss_transition\":false}";; *) echo "bsstm: on|off"; exit 1;; esac ;;
wlan) SVAL="${1:?wlan <on|off>}"; shift # enable/disable the whole SSID