Hardware: RAK7289V2 Firmware: ChirpStack Gateway OS 4.11.0 (ramips/mt76x8) Role: Field relay gateway (border_gateway: false), Gateway Mesh 4.1.3
Problem:
Gateway reboots cleanly every ~8-10 minutes when powered from 12V DC battery. Identical device on PoE/240V is completely stable. Tried two different fully charged 12V 7Ah SLA batteries — same result.
What we’ve ruled out:
Power quality — Schottky diode removed, direct battery connection, 5A fuse, 12.8V confirmed
OOM — memory consistently ~50MB free at death
CPU/load — healthy (0.2-0.4 load average)
Disk — overlay 6% used
Custom watchdog script — /overlay/watchdog.sh is logging only, never touches /dev/watchdog
Kernel panic/crash — no evidence in any log
Software crash — messages.old shows clean normal operation right up to the moment of death, mid-packet-relay, no final error
Key observation:
Death is completely silent. No log entry, no kernel message, no watchdog trigger message. The device simply stops and reboots. procd feeds /dev/watchdog directly. /sys/class/watchdog/watchdog0/timeout and timeleft are not accessible on this platform.
Question:
Is there a known difference in how the RAK7289V2 handles 12V DC input vs PoE-derived power that could cause the internal hardware watchdog to fire? Or is there a known issue with ChirpStack Gateway OS 4.11.0 on this hardware under battery power?
After extensive debugging we believe the root cause is that ChirpStack Gateway OS is missing the proprietary RAK power management daemon that WisGateOS2 uses to communicate with the hardware power coprocessor on the 12V DC input path.
When running WisGateOS2 the coprocessor is polled regularly by a RAK-specific daemon. When ChirpStack Gateway OS is flashed, that daemon doesn’t exist — ChirpStack OS has no knowledge of it. The coprocessor sits waiting to be polled, times out after ~8-10 minutes, and fires a hard hardware reset. This explains why:
The reboot is completely silent with no log entries
It happens on a fixed timer regardless of load, memory, or traffic
Two different batteries and cables made no difference
The identical device on PoE is completely stable (PoE power path bypasses the DC coprocessor entirely)
Workaround: Power the RAK7289V2 via its PoE port using a DC-DC converter (we used a Tycon TP-DCDC-1248GD — 9-36V DC in, 802.3af 48V out, Gigabit). Connect your 12V battery to the DC input terminals and PoE output to the gateway’s Ethernet port. Completely stable — 20+ hours uptime confirmed.
Would be interested to know if anyone has identified the specific RAK daemon responsible or found a way to port it to ChirpStack OS.