TP25/TP28: Walk-Harness auf N Geräte, Analyzer generalisiert, AP-Map-Fix
- tp25-walk-messung.sh: halber Refactor geschlossen — Rumpf schleift ueber die PH_*-Arrays (pro Geraet ein Sampler + ein Core-Ping, sampler-<name>.csv / walk-ping-<name>.csv), PID-Arrays im Cleanup, Archiv-/Echo-Block generisch. Lief vorher unter set -u gar nicht (unbound $PHONE_MAC). - tp25-gehweg-auswertung.py: liest N benannte Geraete per glob; altes 2-Rollen- Schema (sampler.csv/walk-ping.csv/walk-ping-iphone.csv/beide-telefone.csv) bleibt als Legacy-Fallback erhalten. Beide Pfade getestet. - tp25-pin-s22.sh: karte() repariert — channel.frequency ist seit dem DFS-Kanalplan (2026-09-03, Frequenz-Listen) ein Array; der alte Skalar-Vergleich blankte map, wodurch ap-map.txt leer blieb. Fix nimmt bei :typeof=array das erste Element. Live-Smoke (4 Geraete) gruen: alle erreichbar, sauberes Cleanup, korrekte AP-Map. Naechster Schritt: In-situ-Walk (nur Zahlen, Commit/Rollback des Kanalplans separat). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -56,8 +56,14 @@ ros() {
|
||||
}
|
||||
|
||||
# cap-wifiN -> "apX Band" -- live, ohne Cache. Ausgabe je Zeile: cap-wifi3=ap1/5GHz
|
||||
# 🔴 channel.frequency ist seit dem DFS-Kanalplan (2026-09-03, Frequenz-Listen 5260,5280 /
|
||||
# 5300,5320) fuer die 5G-Radios ein ARRAY, kein Skalar. Die alte Zeile verglich das Array
|
||||
# direkt mit 3000 und lieferte fuer die betroffenen Radios Muell -- den `grep '^cap-wifi'`
|
||||
# samt pipefail dann verschluckte, sodass `map` LEER zurueckkam und ap-map.txt leer blieb.
|
||||
# Fix: bei :typeof=array das erste Element nehmen. Beleg-Kommando dieses Fundes am Manager:
|
||||
# `:foreach ... :put (name . " freq=" . channel.frequency)` -> "5260;5280" fuer cap-wifi1.
|
||||
karte() {
|
||||
ros ':foreach i in=[/interface wifi find where !master-interface] do={:local c [/interface wifi get $i cap]; :local f [/interface wifi get $i channel.frequency]; :local b "2,4GHz"; :if ($f > 3000) do={:set b "5GHz"}; :put ([/interface wifi get $i name] . "=" . [:pick $c 0 [:find $c "@"]] . "/" . $b)}' \
|
||||
ros ':foreach i in=[/interface wifi find where !master-interface] do={:local c [/interface wifi get $i cap]; :local fl [/interface wifi get $i channel.frequency]; :local f 0; :if ([:typeof $fl]="array") do={:set f [:tonum [:pick $fl 0]]} else={:set f [:tonum $fl]}; :local b "2,4GHz"; :if ($f > 3000) do={:set b "5GHz"}; :put ([/interface wifi get $i name] . "=" . [:pick $c 0 [:find $c "@"]] . "/" . $b)}' \
|
||||
| tr -d '\r' | grep '^cap-wifi[0-9]*='
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user