diff --git a/clients/cascades-tucson/reports/2026-06-16-unifi-full-audit.md b/clients/cascades-tucson/reports/2026-06-16-unifi-full-audit.md new file mode 100644 index 0000000..f2c28eb --- /dev/null +++ b/clients/cascades-tucson/reports/2026-06-16-unifi-full-audit.md @@ -0,0 +1,49 @@ +# Cascades of Tucson — UniFi Full Audit (2026-06-16) + +Generated by the `unifi-wifi` skill (read-only). Fleet: **77 U7-Pro APs, 12 switches, ~587 clients**, +no UniFi gateway (pfSense firewall). All collectors ran clean. + +## Issues — prioritized + +| # | Sev | Issue | Detail / fix | +|---|---|---|---| +| 1 | **HIGH** | 2.4 GHz saturation (the "bad for some users") | 75 radios at auto/full power, ch6/1/11 at 16k–33k neighbor BSSIDs; 123 clients on 2.4 at ~10% retry. Fix: power-down 65 radios to Low, then disable 9 redundant (plan below). | +| 2 | **HIGH** | ~25 switch ports linked at 100 M but gig-capable | FastEthernet/cabling-or-NIC issue capping those APs/devices at 100 Mbps (1st/2nd/3rd-floor switches). Physical: re-terminate/replace cable or check NIC. | +| 3 | **MED** | 6 GHz essentially unused — **1 client** of 587 | 75 6E radios live, nearly empty. Enable band-steering (`bandsteer`/`bands`) to offload 5 GHz onto the clean band. | +| 4 | **MED** | 5 GHz on 80 MHz (76/77) + 55 on DFS | 80 MHz kills spatial reuse in density → 40 MHz. DFS empirically low-risk here (0 radar events) but move to non-DFS for resilience (near Davis-Monthan). | +| 5 | **MED** | 6 APs with 2.4 min-RSSI OFF; 4 APs off the 1/6/11 plan | min-RSSI OFF: 615, 608, 505, 517, 622, salon. Off-plan (auto): 128, 108, 108U7-Pro, salon. | +| 6 | **LOW** | 3 offline switches + 2 disconnected APs + 1 firmware update | Offline: Switch 2nd Floor #2, Switch 4th Floor #2, USW Pro Max 16. APs: 108 ×2 (cable run pending, known). 1 device upgradable. | +| 7 | **LOW** | p38 (1st Floor USW) 4.0% tx-drop rate | Correlates with the underspeed/heavy-traffic ports; investigate after #2. | + +## WiFi detail +- **2.4 GHz:** 77 radios, all 20 MHz (good); power auto×75 (want Low); channels 1:20 / 6:28 / 11:25 / auto:4. + min-RSSI OFF on 6. Neighbor density: ch6 33,376 · ch1 19,355 · ch11 16,598 BSSIDs. Live retry avg **10.2%**. +- **5 GHz:** 77 radios, 80 MHz ×76 / 40 MHz ×1; rogue density biased to ch149/157 (busy upper). 463 clients. retry avg **8.0%**. +- **6 GHz:** 75 radios active, **1 client**. Wide open. +- **AP satisfaction (live):** min 90 / median 98 / max 100 → healthy in aggregate; the pain is the 2.4 GHz client tail. + +## Data-backed radio plan (optimize-radios + /proc/ui_neighbor SNR matrix) +- **Phase A — power-down 65** 2.4 radios to Low (smaller cells cut mutual interference; coverage-safe). +- **Phase C — disable 9** redundant 2.4 radios after re-measure (each heard by ≥2 strong neighbors): + 127→128, 229→128, 248→348, 330→128, 445→347/348/247, 428→128, 622→505/615/608, Kitchen→Memcare TV room, + Dining Room→memcare piano. Est. interference-airtime removed: ~619. +- **Channel plan available:** 2.4 GHz 1/6/11 graph-color (co-channel pairs **92→35**); 5 GHz non-DFS + (**20→0** and all off DFS). + +## Switch / PoE (12 switches, 29 flags) +- ~25 ports at 100 M but gig-capable (see #2). PoE budgets healthy (e.g. 1st-floor 160/600 W). +- 3 offline switches (above). + +## Gateway / WAN +- No UniFi gateway (pfSense) → WAN/internet not measurable via UniFi. Adoption: APs 77 (2 disc), switches + 12 (3 disc), 587 clients. + +## Recommended sequence +1. Physical: fix the ~25 underspeed ports (#2) + chase the 3 offline switches / AP 108 cable. +2. WiFi Phase A: power-down 2.4 to Low per zone, validate with watch-ap (live before/after). +3. Enable 6 GHz band-steering + 5 GHz 80→40 MHz non-DFS channel plan. +4. Set 2.4 min-RSSI on the 6 OFF APs; pin the 4 off-plan APs to 1/6/11. +5. Phase C: disable the 9 redundant 2.4 radios after re-measure. + +(All changes via the gated `apply-radio`/`apply-wlan`/`channel-plan` scripts — per zone, with rollback + +live validation. Nothing applied in this audit.)