6.5 KiB
created, modified, title, summary, type, client, project, status, priority
| created | modified | title | summary | type | client | project | status | priority |
|---|---|---|---|---|---|---|---|---|
| 2026-09-06 | 2026-09-06 | Error Tracking | Log of network/system errors encountered and their fixes | subject | sam | devops | active | 5 |
Error Tracking
A running log of errors encountered across the network, with root causes and fixes. Append new entries as they occur.
2026-09-06 — Router: "Another management entity is configuring the Broadband Router"
Symptom
While in the router admin (192.168.20.1), saw:
Broadband Router Error — Another management entity is currently configuring the Broadband Router. Please close the Broadband Router Configuration window, and try again in a few minutes.
Error appeared repeatedly; also coincided with .13 losing all network connectivity (wired + Wi-Fi + Tailscale unreachable from .27).
Root cause
Not a second admin session and not a rogue device — .13's own flapping Wi-Fi adapter (wlp4s0) was seen by the router as a "management entity":
.13has two MACs / two IPs on the router table (root of the confusion):- Wired
enp42s0= MAC34:5a:60:a4:cc:8c→192.168.20.13(LAN) - Wi-Fi
wlp4s0= MACa0:f3:c1:d0:e3:2b→192.168.20.46(2.4G)
- Wired
- Wi-Fi kept going DORMANT / re-registering and the default route flipped onto it → router interpreted the churn as a second configuring device.
sudo rebooton.13cleared it. Error has not returned since.
Verification / non-causes
- Router login log showed no login except
.27→ no foreign admin session. - Client table showed only known devices (ESP32s, Pis,
.27/.35/.51/.13, etc.). - Not caused by Langfuse/Clickhouse removal (unrelated; those never touch networking).
Potential fix — pin the Wi-Fi MAC address
If the error (or Wi-Fi flakiness on .13) recurs, the likely fix is to stop the Wi-Fi adapter's MAC churn:
- On
.13, disable MAC address randomization in NetworkManager forwlp4s0, forcing a stable MAC so the router sees one consistent identity per interface:# /etc/NetworkManager/conf.d/ (or via home-manager) [connection] wifi.cloned-mac-address=permanent # or "stable" # per-interface: wifi.mac-randomization-disabled - On NixOS this is done in
hardware-configuration.nix/networkingoptions (e.g.networking.wirelessor NetworkManagerconnectionsettings in home-manager), or simply disable the Wi-Fi interface entirely if wired is preferred:sudo nmcli radio wifi off.
Related notes
.13network layout:enp42s0= wired.13,wlp4s0= Wi-Fi.46(2.4G). Default route prefers Wi-Fi (lower metric) — worth reviewing if flakiness returns.192.168.80.0/20bridge on.13is normal Docker (wherewoof-db_defaultsubnet) — not an issue.
2026-09-06 — Voice agent: "feed the fish" did nothing, LED red
Symptom
The voice command "feed the fish" returned no action. The ESP32 LED went red.
Root cause
Two failures blocked the request path.
- OmniRoute combo
voice-fastused old model IDs. The new IDs areopenai/*. The combo returned 503 "all accounts inactive". - The agent MQTT intake connected once. A network flap broke that connection. The agent did not retry, so it lost the ESP32 text feed.
Fix
- Recreated the
voice-fastcombo with three healthy OpenRouter models. - Changed
app.pyMQTT intake to retry and reconnect. Backup:app.py.bak-mqtt-20260906. - Run
sudo systemctl restart voice-agentto load the change. - DeepSeek key is valid but the account balance is zero. Add credit at platform.deepseek.com.
2026-09-09 — Garage S3 web returns 404/403 for site images (anonymous hosting)
Symptom
A Go + htmx site (being built for kontra.day) tried to serve uploaded images through Garage S3 web (:3902) and got 404 on the bucket root and 403 Forbidden: Garage does not support anonymous access yet in docker logs family-home-lab-garage-1.
Root cause
Two things misled the diagnosis:
- Wrong claim (from an earlier AI): it said
[s3_web]was absent and the web server wasn't running. False —[s3_web]IS ingarage.toml(bind_addr = "[::]:3902",root_domain = ".web.lab.audasmedia.com.au",index = "index.html") and the log showsWeb server listening on http://[::]:3902. Verified:ss -tlnshows 3902 bound (Garage web server), 3903 admin, 3909 garage-webui. - Real issue: Garage S3 Web is not anonymous static hosting. It requires per-bucket web access + a read-scoped access key. Without it, every request gets
403 Forbidden: Garage does not support anonymous access yet, and the bucket root 404s with no index/perm.
Fix / correct pattern
- Do NOT point site/app code at
:3902for anonymous browsing. - Use the S3 API (
:3900, regiongarage) with a read-scoped key for uploads/reads. - Serve images through the app or Caddy (reverse-proxy to Garage with the read key, or a Caddy
file_serverstatic dir) — not via:3902directly. - If web-serving a bucket is truly needed, enable per-bucket web access + a guest/read key in Garage (not a global switch).
Verification / non-causes
[s3_web]present; web server confirmed running (log line + port 3902 bound) → the earlier "no s3_web / not running" diagnosis was wrong.- Port map: 3900 S3 API · 3902 S3 web · 3903 admin API · 3909 garage-webui. No port conflict.
- Documented in the Garage section of Backup System — Borg, Kopia & Restic and the kontra.day site handoff.
2026-09-14 — Voice: ESP32 green, never blue; then no response
Symptom
The ESP32 LED turned green but never blue. The bridge, whisper, and broker were up.
Root cause
Three failures in one chain.
- The voice_bridge OpenWakeWord process was wedged. It used 0.01% CPU and ignored audio.
- The ESP32 MQTT client was in a stale state. The broker dropped it for keepalive timeouts. It published no audio.
- The voice-agent process ran for 7 days without the MQTT reconnect patch. Journald restarted and lost the agent stdout socket, so the agent logs vanished. The agent never re-subscribed to the .30 topic.
Fix
- Restart the bridge container:
docker restart voice_bridge - Power-cycle the ESP32
- Restart the agent service:
sudo systemctl restart voice-agent - Verify: journal shows
[mqtt] listening on 192.168.20.30:1883 homeassistant/voice/text
Note
The agent MQTT intake now retries and reconnects. A future broker flap heals itself. Report the LED state to exercise the chain end to end. Keepalive timeouts on ESP32 suggest a weak WiFi link; consider a stable keepalive or fixed install if it recurs.