A DANTE hold power-cycles a missing Studio B PoE box on its Netgear switch port.

STUDIO-B-SOLO-MON, MON, TB and TB-MON map to ports 0/14-0/17 on the Netgear
M4250 Dante switch 10.66.1.102. netgear.py poe_cycle first checks the port's
MAC table and refuses if a different device is plugged in there, then runs
poe reset. Tested 2026-10-08 13:10 on SOLO-MON: dropped off Dante and was
back about 17 s later. install.sh now copies netgear.py too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-08 13:12:45 -04:00
co-authored by Claude Opus 5.5
parent 9838ce9292
commit c8b9216ea5
6 changed files with 79 additions and 5 deletions
+6
View File
@@ -1176,6 +1176,12 @@ def execute_fix(cfg, fix_id, chk):
log.info("FIX %s -> %s%s", label, "ok" if r.returncode == 0 else "exit %d" % r.returncode,
(": " + detail) if detail else "")
return r.returncode == 0
if kind == "netgear_poe":
# Netgear AV switch on the Dante network: power-cycle one PoE port (netgear.py).
import netgear
netgear.poe_cycle(fix["switch"], fix["port"], fix.get("mac"))
log.info("FIX %s -> switch %s port %s power-cycled", label, fix["switch"], fix["port"])
return True
if kind == "hyperdeck":
port = chk.get("port", 9993)
verdict = hyperdeck_probe(chk["ip"], port=port)