Files
bf-infra/docs/firmware-flash-runbook.md

4.9 KiB
Raw Blame History

Firmware-Flash ALL-SG8316M (1.0 → 2.2.1) + Plan-B-Recovery

⚠️ Erst ausführen, wenn ALLE Pre-Flight-Punkte erfüllt sind. Flash = Werks-Reset der Config. Quelle Defaults: ALLNET QIG. Annahme: Flash setzt Switch auf Werk → 192.168.1.1 / admin / admin.

Werks-Defaults (Recovery-Anker)

Default-IP nach Flash 192.168.1.1 /24
Default-Login admin / admin
FW-Image switch/firmware/2.2.1/all-sg8316m-version_2.2.1_vmlinux.bix (5,1 MB)
Aktuell (PRE) IP 10.40.41.239, FW 1.0, nur VLAN1, Ports Hybrid/PVID1

Warum „du bist dann auch offline"

Claude erreicht den Switch über 10.40.41.239. Nach dem Flash lebt er auf 192.168.1.1 in einem anderen Subnetz → für Claude nicht mehr erreichbar, bis jemand physisch eine Verbindung ins 192.168.1.x-Netz herstellt. Recovery ist daher bewusst menschen-ausführbar (GUI), Skript optional danach.

Pre-Flight-Checkliste (HARTE Voraussetzungen)

  • Physisch am Switch (Reset-Knopf erreichbar, Konsole-Zugang am Standort).
  • Direkt angestöpselter Laptop an einem Switch-Port (nicht über WLAN/Remote).
  • Laptop kann Zweit-IP 192.168.1.2/24 setzen (macOS: sudo ifconfig en0 alias 192.168.1.2 255.255.255.0).
  • Stabile Stromversorgung des Switches (idealerweise USV) — Stromausfall während des Flashs = Brick-Risiko #1.
  • FW-Image lokal vorhanden ✅ + Hash notiert (s.u.).
  • PRE-Scrape vorhanden ✅ (switch/state-PRE/) → Soll-Config bekannt.
  • Recovery-Skript bereit: sg8316m.sh kann Mgmt-IP zurücksetzen + VLANs/Ports anlegen (set_ip/add_vlans/…).
  • Zeitfenster angekündigt: BF-LAN droppt ~1–2 Min beim Reboot; Re-Config danach wenige Min.
  • Mentaler Worst-Case akzeptiert: €~96-Switch, im äußersten Notfall Ersatz.

Flash-Durchführung (GUI empfohlen — sichtbarer Fortschritt)

  1. Browser auf http://10.40.41.239 → Maintenance → Upgrade Manager (cmd=4363).
  2. Upgrade Method = HTTP, Upgrade Type = Image, Datei = …2.2.1_vmlinux.bix → Upgrade.
  3. NICHT Strom/Netz trennen, bis der Switch von selbst neu startet. Geduld (mehrere Minuten).
    • Scripted-Alternative (nur wenn bewusst gewählt): curl -F "type=0" -F "http_file=@switch/firmware/2.2.1/all-sg8316m-version_2.2.1_vmlinux.bix" -F "cmd=4364" http://10.40.41.239/cgi-bin/httpupload.cgi

Post-Flash — erwarteter Zustand

  • Switch auf 192.168.1.1, Login admin/admin, leere Config (nur VLAN1, Ports default).
  • 10.40.41.239 weg (erwartet, kein Fehler).

Recovery-Szenarien

A) Normalfall: Flash OK, Switch auf 192.168.1.1 (= erwartet) — RECOVERY ÜBER MAC MINI

Voraussetzung: Mac mini trägt Zweit-IP 192.168.1.2/24 auf en0 (L2-benachbart, verifiziert). Siehe switch/recovery/README.md. Claude führt vom Mac mini aus (per SSH-Tunnel) aus — kein manuelles IP-Suchen, kein Laptop:

ssh 10.40.41.167 "curl -sS -X POST \
  --data mode=0 --data ip=10.40.41.239 --data netmask=255.255.255.0 \
  --data gateway=10.40.41.254 --data cmd=518 \
  http://192.168.1.1/cgi-bin/dispatcher.cgi"

Danach Switch wieder auf .239 → Claude fährt VLANs/Ports/Mgmt-VLAN auf + save. (Repo muss dafür NICHT auf dem Mac mini liegen — der curl-Einzeiler reicht via SSH.)

B) Switch reagiert NICHT auf 192.168.1.1 (Loader/Recovery)

  1. 30 Sek warten, erneut pingen (Boot dauert).
  2. Factory-Reset-Knopf ~10 Sek halten → erneut 192.168.1.1 prüfen.
  3. Manche Realtek-Loader haben TFTP-Recovery: PC auf feste IP, TFTP-Server mit dem Image bereithalten, Switch beim Boot ziehen lassen. (Für SG8316M nicht dokumentiert → nur als letzter Versuch; Setup s.u.)
  4. Wenn weiterhin tot → Hardware-Defekt, Ersatz.

C) Flash bricht mit Fehler ab, Switch noch auf 10.40.41.239 / FW 1.0

  • Kein Reboot passiert → alte FW läuft weiter. Image-Datei/Hash prüfen, ggf. erneut versuchen oder abbrechen.

TFTP-Recovery vorbereiten (optional, für Szenario B)

  • macOS hat launchctl-tftpd, oder dnsmasq --enable-tftp. Image in TFTP-Root legen.
  • Nur relevant, wenn der Loader es unterstützt — vorher recherchieren, nicht blind versuchen.

Image-Integrität

  • SHA256 (verifiziert 2026-06-05): e3f160983e8b17962dc70a52360b7f560c92da8197928d702f5266027a0fc7fc
  • Vor Flash erneut prüfen: shasum -a 256 switch/firmware/2.2.1/all-sg8316m-version_2.2.1_vmlinux.bix

Recovery-Skript (Felder verifiziert)

  • IP setzen (cmd=518): POST mode=0 ip=<ip> netmask=<mask> gateway=<gw> cmd=518 → in sg8316m.sh set-ip.
  • Schnell-Recovery nach Flash: SW_HOST=192.168.1.1 SW_USER=admin SW_PASS=admin ./sg8316m.sh set-ip 10.40.41.239 danach .secrets zurück auf .239, dann add-vlans 10,20,30,40,100 + Port-Config + save.

Abbruch-Kriterien (lieber nicht flashen)

  • Kein physischer Zugang ODER kein direkt-gekabelter Laptop → verschieben.
  • Switch an instabilem Strom (kein USV, Gewitter, Bauarbeiten) → verschieben.
  • Kein Zeitpuffer für ~15–30 Min Bastel-Risiko → verschieben.