Two fixes to on-screen Wi-Fi provisioning, both confirmed on device.
DHCP: association happens long after boot here, so systemd-networkd —
idle since it saw no carrier at boot — did not lease inside the app's
window, and the screen reported failure even though the credentials had
been saved (a reboot then came up connected). The app now kicks
networkd with `networkctl reconfigure` once association completes,
waits 45 s instead of 30 s, and reads the lease from the kernel
(SIOCGIFADDR, link-local excluded) instead of relying on wpa_supplicant
exposing ip_address. On failure the hint carries networkd's own link
state ("carrier/configuring" vs "routable/configured") — on a release
image with no SSH, that hint is the only debugger there is.
Regulatory domain: country=DE was hardcoded into every written config
and the first-boot seed, which hides channels that are legal elsewhere
(5 GHz 149-165 in the UK/US) and is wrong for any user outside Germany.
No country= line is written now: the radio runs the world domain and
adopts what the router advertises (802.11d). The optional
`wifi_country` config key pins it explicitly for anyone who needs it.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>