Files
claudetools/.claude/skills/unifi-wifi/references/methodology.md
Mike Swanson 236604924a sync: auto-sync from GURU-5070 at 2026-06-15 17:58:51
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-15 17:58:51
2026-06-15 17:59:06 -07:00

4.8 KiB
Raw Blame History

High-density UniFi RF tuning — methodology

Synthesized from a multi-model pass (Grok 4.3 + Gemini 3.1 Pro, which converged strongly) plus live recon of Cascades. The governing principle in a congested environment: conserve airtime and shrink 2.4GHz participation — you cannot out-tune ambient interference (Cascades sees ~33k neighbor BSSIDs on 2.4 ch6), so the win is moving capable clients onto smaller 5/6GHz cells and using 2.4 for legacy coverage only. Applies to any UOS site; thresholds below are starting points to tune from each site's data.

Fix order (do in this sequence — earlier steps de-risk later ones)

  1. Prune 2.4GHz radios. Disable the 2.4 radio on ~4060% of APs in dense clusters; keep 2.4 only where needed for coverage/legacy (perimeter, stairwells, elevators, rooms with 2.4-only medical pendants/tablets). 77 APs all on 2.4 in this density is catastrophic self-interference. Target ≤1525 STAs per active 2.4 radio.
  2. Power + width. 2.4 → Low / custom ~611 dBm (smallest cells so a client hears 23 BSSIDs, not 20). 5GHz → Medium / ~1215 dBm, 40MHz (avoid 80/160 in density — wide channels destroy spatial reuse). 6GHz → 80MHz, higher power ~1820 dBm as a "staircase" that pulls 6E-capable clients up into the clean lane.
  3. Minimum data rates. Disable 111 Mbps; set 2.4 minimum to 12 or 24 Mbps. Kills the management-frame overhead from distant/legacy stations and effectively shrinks cells.
  4. Channel plan (manual). Strict 1/6/11, 20MHz on 2.4; assign per-zone so adjacent APs differ, weighting toward the channel where our APs dominate vs neighbor density. 5GHz: spread across UNII-1 + DFS (UNII-2/2e) for more non-overlapping channels; U7-Pro DFS filtering is good. 6GHz: PSC channels. Do NOT use nightly/auto channel optimization in ultra-dense — it can't model intermittent neighbor interference; pin a manual plan.
  5. min-RSSI + roaming. 2.4 min-RSSI 75/76, 5GHz 70/72 (start 72, tighten only if satisfaction stays high). Enable 802.11r (fast roaming) + 802.11v (BSS transition) — but test legacy medical/IoT devices first; if pendants drop, scope 802.11r to a separate SSID or disable. Senior users pause mid-hallway — don't over-aggress (65 causes drops).
  6. Steering. Band steering prefer 5GHz globally; enable 6GHz for capable clients. Consider a separate legacy SSID for fragile 2.4-only devices so the main SSID can be tuned aggressively.
  7. Monitor + iterate (needs live-stats plane). Re-audit neighbor density monthly — external interference won't go away; the job is to keep shrinking 2.4 participation and packing capable clients onto small 5/6GHz cells.

Metrics → action thresholds (drive every change from data, not vibes)

Signal (source) Threshold Action
cu_total (channel utilization) > 5060% sustained reduce width, disable a 2.4 radio, or move AP off that band
cu_self_rx/cu_self_tx vs cu_total self low but total high neighbors eating airtime → raise min data rates, shrink cell, change channel
tx_retries per radio/client > 1520% co-channel/hidden-node or power too high or sticky client; try a DFS channel
satisfaction (AP/client) < 8090% investigate that AP/zone
num_sta per radio > 40 on a 5GHz radio / > 25 on 2.4 add steering pressure or another AP; prune nearby 2.4
neighbor BSSIDs per channel (rogue) >> 500 on a channel don't site critical 2.4 there; consider disabling 2.4 in that wing
roam quality edge RSSI 68..72, SNR ≥ 20 dB healthy handoff target

Plane 1 (Mongo) gives: config audit, the neighbor-density (rogue) map, channel plan, num_sta (last-reported), min_rssi state. Plane 2 (live Network API, not yet wired) gives: live cu_total, tx_retries, satisfaction, per-client RSSI/SNR. See data-access.md.

30-day success criteria

Median client satisfaction > 90%; 2.4 cu_total < 40% on active radios; 5/6GHz carrying > 75% of associations; tx-retry < 10% on the primary SSID.

Cascades-specific (the hard case)

77 U7-Pro APs / ~550 clients / 6 of 77 APs currently have 2.4 min-RSSI OFF. 2.4 is saturated on 1/6/11 (16k33k neighbors each) → aggressive pruning is mandatory, not optional. 6GHz is nearly empty (ch69: 86 neighbors) → the biggest untapped win is steering 6E-capable clients to 6GHz. 5GHz upper (149/157) is busier than UNII-1/DFS lower → bias the 5GHz plan toward 3648 + DFS.

Caveat: these are independent-model recommendations + config-plane recon. Validate against live cu_total/satisfaction before/after each change (Plane 2), and roll out per-zone, not site-wide at once, so a bad assumption is contained.