Document the host network prerequisites for updates #50

Merged
Claude merged 4 commits from docs/update-host-prereqs into feat/firmware-updates 2026-09-19 07:29:03 +00:00
Collaborator

The updater will drive wlan0 over D-Bus to raise an access point for nodes to pull firmware from, so the host has to have NetworkManager owning the radio. systemd-networkd is already enabled on this machine for can*, which makes that worth checking rather than assuming.

Also says updates are meant to be finalised over Ethernet, and that running one over WiFi costs the Home Assistant connection from elsewhere on the network until it finishes.

First commit is the existing untracked rpi-setup.md draft as-is, so the second commit reads as the change. Documentation only — nothing here configures the host, and there is no code to test.

Closes CCS-UHA-9.

The updater will drive `wlan0` over D-Bus to raise an access point for nodes to pull firmware from, so the host has to have NetworkManager owning the radio. `systemd-networkd` is already enabled on this machine for `can*`, which makes that worth checking rather than assuming. Also says updates are meant to be finalised over Ethernet, and that running one over WiFi costs the Home Assistant connection from elsewhere on the network until it finishes. First commit is the existing untracked `rpi-setup.md` draft as-is, so the second commit reads as the change. Documentation only — nothing here configures the host, and there is no code to test. Closes CCS-UHA-9.
Document the host network prerequisites for updates
All checks were successful
Lint, type check and test / hassfest (pull_request) Successful in 38s
Lint, type check and test / quality (pull_request) Successful in 2m5s
Lint, type check and test / release (pull_request) Has been skipped
d1d39da365
Claude left a comment

Two points inline, neither blocking.

Two points inline, neither blocking.
rpi-setup.md Outdated
@ -0,0 +28,4 @@
RestartSec=100ms
```
Firmware updates need NetworkManager to own `wlan0`: the updater drives it over
Author
Collaborator

Nine lines of prose where the rest of the file is one short line per command block. The Ethernet and WiFi paragraphs need no commands so some prose is unavoidable, but this reads a register looser than the file. Roughly half the words would carry the same facts, e.g. "Firmware updates need NetworkManager to own wlan0; the updater drives it over D-Bus to raise the access point nodes pull firmware from. Bookworm does that by default, but systemd-networkd is enabled above, so confirm:"

Nine lines of prose where the rest of the file is one short line per command block. The Ethernet and WiFi paragraphs need no commands so some prose is unavoidable, but this reads a register looser than the file. Roughly half the words would carry the same facts, e.g. "Firmware updates need NetworkManager to own `wlan0`; the updater drives it over D-Bus to raise the access point nodes pull firmware from. Bookworm does that by default, but `systemd-networkd` is enabled above, so confirm:"
@ -0,0 +35,4 @@
```
nmcli general status
nmcli device status
Author
Collaborator

The check has no pass criterion, so you can run it and still not know. Add what a good answer looks like — nmcli device status should show wlan0 as connected/disconnected rather than unmanaged — and ideally a word on what to do if it isn't.

The check has no pass criterion, so you can run it and still not know. Add what a good answer looks like — `nmcli device status` should show `wlan0` as `connected`/`disconnected` rather than `unmanaged` — and ideally a word on what to do if it isn't.
Take the review: say what the check should show, and cut it back
Some checks failed
Lint, type check and test / hassfest (pull_request) Successful in 19s
Lint, type check and test / release (pull_request) Has been cancelled
Lint, type check and test / quality (pull_request) Has been cancelled
1d32cd160d
Claude left a comment

Round 2: the two earlier points are taken. Two smaller ones from the new wording.

Round 2: the two earlier points are taken. Two smaller ones from the new wording.
rpi-setup.md Outdated
@ -0,0 +28,4 @@
RestartSec=100ms
```
Firmware updates drive `wlan0` over D-Bus to raise the access point nodes pull
Author
Collaborator

Two nicks from the tightening: "the access point nodes pull from" garden-paths on "access point nodes" (the earlier "the access point the nodes pull firmware from" didn't), and "Bookworm does by default" is missing its object — "does so by default".

Two nicks from the tightening: "the access point nodes pull from" garden-paths on "access point nodes" (the earlier "the access point the nodes pull firmware from" didn't), and "Bookworm does by default" is missing its object — "does so by default".
rpi-setup.md Outdated
@ -0,0 +37,4 @@
nmcli device status
```
`wlan0` must read `connected` or `disconnected`, not `unmanaged`. Unmanaged
Author
Collaborator

unavailable is the third managed state and it's a likely one on a fresh Pi — NetworkManager owns the radio but rfkill has it soft-blocked because no wireless country is set. The criterion as written sends you hunting for a /etc/systemd/network/ unit that isn't there. Only unmanaged means something else claims it, so: "wlan0 must not read unmanaged."

`unavailable` is the third managed state and it's a likely one on a fresh Pi — NetworkManager owns the radio but rfkill has it soft-blocked because no wireless country is set. The criterion as written sends you hunting for a `/etc/systemd/network/` unit that isn't there. Only `unmanaged` means something else claims it, so: "`wlan0` must not read `unmanaged`."
Narrow the check to unmanaged, and fix two nicks
All checks were successful
Lint, type check and test / hassfest (pull_request) Successful in 10s
Lint, type check and test / quality (pull_request) Successful in 1m23s
Lint, type check and test / release (pull_request) Has been skipped
a8ac5d2610
Claude left a comment

All three taken, nothing further from me.

All three taken, nothing further from me.
Claude merged commit 150e413208 into feat/firmware-updates 2026-09-19 07:29:03 +00:00
Claude deleted branch docs/update-host-prereqs 2026-09-19 07:29:03 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rob/CampervanHomeAssistant!50
No description provided.