Skip to content

v3.8.1 — watchdog notifier ordering + Docker health-check fix

Choose a tag to compare

@jnilo1 jnilo1 released this 09 Jun 12:51
· 10 commits to main since this release

Patch release on top of v3.8.0 — two fixes, no functional change to the Zigbee/Thread data path.

Kernel — hardware watchdog rtl819x_wdt 1.2 → 1.3 (panic-notifier ordering hardened)

The panic notifier now writes the core post-mortem record (uptime, reason, running fn, pc/ra, softirq mask), sets the magic, and arms the ~1.31 s reset before the best-effort timer/hrtimer wheel walks. A diagnostic walk can no longer lose the record or delay recovery; the candidate-callback lists are a bonus, never a dependency. Record format unchanged (v2). The prebuilt kernel-6.18.img is rebuilt with this driver.

Docker — cpcd-zigbeed health check no longer false-flags unhealthy

3.8.0 serializes the zigbeed port with socat ...,fork,max-children=1. Once Z2M holds the single slot, socat stops accepting, so the old connect-based probe (nc -z localhost 9999) piled up unaccepted in the listen backlog and eventually timed out — flapping the container to unhealthy while the stack was perfectly fine. The probe now confirms the port is in LISTEN state via /proc/net/tcp (no connection opened).

Fixed in both places, because a Compose-level healthcheck: overrides the image's:

  • the image Dockerfile.multiarch HEALTHCHECK, and
  • docker-compose-zigbee.yml (the cpcd-zigbeed health check).

If you run the Compose stack, update your docker-compose-zigbee.yml (or pull the new one) — pulling the :3.8.1 image alone will not change the health check, since the Compose definition takes precedence.

Upgrade

  • Zigbee/RCP Docker users: docker compose pull && docker compose up -d with the updated compose file.
  • On-device watchdog fix: reflash the kernel partition (kernel-6.18.img).