v24 - WLAN client mode
Same kernel as v23. What is new is the userland that makes the WLAN stick
useful: the device can now join an existing network as a client, not only run
an access point.
Client mode. wlan-menu.py scans, joins, switches back, and changes the
hostname and the AP credentials. Plain curses, so it works over SSH and over
the serial console.
A watchdog, because switching can cut your own link. Going to client mode
from a session over the access point kills that session mid-switch, so
wlan-apply.sh runs detached and finishes regardless. No association within 45
seconds or no DHCP lease within 15, and it brings the access point back by
itself.
A static wpa_supplicant. The rootfs has none. This release carries one,
and scripts/build-wpa-supplicant.sh builds the same thing from source, so
nobody has to take the binary on trust.
install.sh now installs the helper alongside the kernel. That step is
additive -- your hostapd.conf is never touched, an ap-start.sh that is not
one of ours is left alone, and a failure there cannot affect the boot
partition. --no-wlan skips it.
Also corrected: the earlier warning that nginx would fail to start in client
mode because of the 192.192.193.1 server block. Measured on the device, it
does not. See docs/wlan-ap.md for what was tested and when it would matter.
sha256 Image-6.1.141-v24 d96cd811f8cf3888a5185b9c69f5e379f36888527584842a0135092a850581fd
sha256 wpa_supplicant 09833d551d8c1d71f5ed8e05d2ce7a7729836d7c42800e981623f873a8da1ad7
sha256 wpa_cli 764a8114098b6b23a80f00fce17f421307309a9a786d318d22a4820eeef6df00
The kernel image is byte-identical to the one in v23; it is re-uploaded under
the v24 name so each release is self-contained and install.sh can pin a
single tag.