With no network set, the first Wi-Fi scan over BLE ends the phone's Bluetooth connection. The comms module keeps Wi-Fi off until a scan is asked for, because a station that only scans stops BLE advertising (origin89hq/firmware#166). Starting the station for the scan drops any BLE connection already open (esp-rs/esp-hal#6397).
What the firmware does, on board A, 2026-09-25, with origin89hq/firmware#172 and #173:
- The scan completes and the controller keeps the list.
- Once the result is acknowledged and no client is left, the module reboots with Wi-Fi off, about 20 s after the request.
- The phone can reconnect over BLE and read the kept list with a
WifiScan that doesn't refresh. The bench did this with scan --no-refresh, a local change to SetupBench.
Today the flow shows connectionDropped and stops.
Expected: when the connection drops during the first scan, the flow reconnects and reads the kept list without asking for another refresh. A second refresh would start the station again and drop the link again.
Impact: the network form's scan is the normal first-time onboarding (#28).
Next step: in SetupFlow, treat a drop during a refresh scan with no network held as expected; reconnect and read with refresh: false. Add a --no-refresh option to SetupBench's scan so the bench can exercise it.
With no network set, the first Wi-Fi scan over BLE ends the phone's Bluetooth connection. The comms module keeps Wi-Fi off until a scan is asked for, because a station that only scans stops BLE advertising (origin89hq/firmware#166). Starting the station for the scan drops any BLE connection already open (esp-rs/esp-hal#6397).
What the firmware does, on board A, 2026-09-25, with origin89hq/firmware#172 and #173:
WifiScanthat doesn't refresh. The bench did this withscan --no-refresh, a local change to SetupBench.Today the flow shows
connectionDroppedand stops.Expected: when the connection drops during the first scan, the flow reconnects and reads the kept list without asking for another refresh. A second refresh would start the station again and drop the link again.
Impact: the network form's scan is the normal first-time onboarding (#28).
Next step: in
SetupFlow, treat a drop during a refresh scan with no network held as expected; reconnect and read withrefresh: false. Add a--no-refreshoption to SetupBench'sscanso the bench can exercise it.