TP28 ap3 phase2: Selbstabnahme ins Log + Abnahme-Anleitung fuer den Manager

Das Skript endete bisher mit `vlan-filtering=yes` und einer Log-Zeile -- ohne
jede Pruefung, ob der CAP wirklich CAP geworden ist.

Neu, Punkt (6) VOR dem Scharfschalten: das Skript zaehlt seine eigenen
wifi-Objekte und schreibt das Ergebnis per `:log info`. Bewusst nicht `:put`
und bewusst nicht danach -- nach `vlan-filtering=yes` kann die Sitzung
abreissen, eine Konsolenausgabe waere dann verloren. Das Log ueberlebt und
ist ueber `/log print where message~"tp28-ap3"` nachlesbar.

Sollwerte am Geraet gemessen, nicht angenommen (ap3 live, 2026-08-30):
  security=0  configuration=0  channel=0  datapath=1  radios-mit-manager=2
🔴 Erwartet ist ausdruecklich NICHT "alles 0": datapath MUSS 1 sein
(dp-caps-slaves). Ein CAP mit 0 Datapaths ist der 14-Stunden-Ausfall vom
2026-08-18 -- Clients assoziieren und bekommen nie DHCP.

security/configuration/channel=0 ist der harte Beleg, dass die Werks-Inline-
Overrides weg sind: CAPsMAN haelt die Credentials, das Geraet haelt nichts.
Gegenprobe am Bestand: ap2 zeigt dieselben 0/0.

Dazu ein Abnahmeblock am Dateiende mit dem Schritt, der sich nicht im Skript
pruefen laesst: `/interface wifi radio print` AM MANAGER muss zwei Zeilen mit
CAP ap3@... zeigen (live: cap-wifi5 + cap-wifi6). Ohne diesen Schritt ist die
Abnahme wertlos, denn `remote-cap print` meldet state=Ok schon beim blossen
Verbinden -- ap1 steht seit 2026-08-30 genau so da: verbunden, gelistet, und
trotzdem funkstill, weil keine Provisioning-Regel matcht.

Am Geraet gegengeprueft: RouterOS kennt KEINEN ternaeren Operator, `a ? b : c`
ist ein syntax error. Verdikt laeuft deshalb ueber :if/:set. Der komplette
Block wurde am ap3 mit :put durchlaufen und meldet "=> OK".

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-30 20:44:45 +02:00
parent 1006f91e6a
commit 65a61f7fb6

View File

@@ -74,7 +74,50 @@
/interface wifi set [find name=wifi1] configuration.manager=capsman
/interface wifi set [find name=wifi2] configuration.manager=capsman
# --- (6) ZULETZT scharf schalten. Vorher waere der Rest der Datei nicht angekommen. ---
# --- (6) Selbstabnahme INS LOG, nicht auf die Konsole. ---
# Sie steht bewusst VOR dem vlan-filtering: danach kann die Sitzung abreissen, und
# eine `:put`-Ausgabe waere dann verloren. `:log info` ueberlebt und ist spaeter
# ueber `/log print where message~"tp28-ap3"` nachlesbar.
# 🔴 Erwartet ist NICHT "alles 0": `datapath` MUSS 1 sein (dp-caps-slaves, s. Punkt 5).
# Ein CAP, der 0 Datapaths hat, ist der 14-Stunden-Ausfall vom 2026-08-18.
:local sec [:len [/interface wifi security find]]
:local cfg [:len [/interface wifi configuration find]]
:local dpt [:len [/interface wifi datapath find]]
:local chn [:len [/interface wifi channel find]]
:local mgr [:len [/interface wifi find where name~"^wifi[12]\$" and configuration.manager=capsman]]
# ⚠️ RouterOS kennt KEINEN ternaeren Operator (`a ? b : c` = syntax error, am
# 2026-08-30 am Geraet gegengeprueft). Verdikt deshalb ueber :if/:set.
:local verdikt "OK"
:if ($sec!=0 || $cfg!=0 || $chn!=0) do={ :set verdikt "ABWEICHUNG-lokale-wifi-objekte" }
:if ($dpt!=1) do={ :set verdikt "ABWEICHUNG-slaves-datapath" }
:if ($mgr!=2) do={ :set verdikt "ABWEICHUNG-manager-nicht-auf-radios" }
:log info ("tp28-ap3 abnahme: security=$sec/0 configuration=$cfg/0 channel=$chn/0 datapath=$dpt/1 radios-mit-manager=$mgr/2 => $verdikt")
# --- (7) ZULETZT scharf schalten. Vorher waere der Rest der Datei nicht angekommen. ---
/interface bridge set [find name=bridge] vlan-filtering=yes
:log info "tp28-ap3 phase2: CAP aktiv, Manager-Suche auf vlan99, vlan-filtering=yes"
# =====================================================================================
# ABNAHME NACH DEM IMPORT -- zwei Orte, und der zweite ist der eigentliche Beweis.
#
# (a) AM ap3 selbst, das Ergebnis von Punkt (6):
# /log print where message~"tp28-ap3 abnahme"
# Sollwerte: security=0 configuration=0 channel=0 datapath=1 radios-mit-manager=2
# security/configuration/channel = 0 belegt, dass die Werks-Inline-Overrides weg sind
# und der CAP nichts Eigenes haelt -- CAPsMAN haelt die Credentials, nicht das Geraet.
# Gegenprobe am Bestand (2026-08-30 gelesen): ap2 zeigt security=0, configuration=0.
#
# (b) 🔴 AM MANAGER crs326-core -- OHNE DIESEN SCHRITT IST DIE ABNAHME WERTLOS:
# /interface wifi radio print
# Erwartet sind ZWEI Zeilen mit CAP `ap3@...`, z.B. cap-wifi5 + cap-wifi6.
# Grund: `remote-cap print` meldet `state=Ok`, SOBALD der CAP verbunden ist -- auch
# dann, wenn er seine Radios gar nicht anbietet. Genau diese Verwechslung hat am
# 2026-08-30 in die radio-mac statt in `configuration.manager` schauen lassen.
# Und `state=Ok` ohne Provisioning-Regel bedeutet weiterhin Funkstille: so steht ap1
# seit dem 2026-08-30 da -- verbunden, gelistet, und trotzdem sendet er nicht.
#
# (c) Erst danach die WLAN-Abnahme, die wirklich zaehlt: eine frische DHCP-Lease
# PRO SSID -- nicht die Registration-Table. Waehrend des Ausfalls am 2026-08-18
# zeigte die 25 zufriedene IOT-Clients, die keine Adresse hatten.
# =====================================================================================