Two fixes for ESP32 WiFi not connecting in production: 1. espidf_compiler.py: Change WiFi normalization from 'Velxio-GUEST' on channel 6 to 'Espressif' on channel 5. The lcgamboa QEMU binary downloaded from GitHub Releases only contains the original three APs: PICSimLabWifi (ch1), Espressif (ch5), MasseyWifi (ch10). Channel 6 had no matching AP, so the beacon timer's channel-match condition never fired → firmware scanned forever and never connected. 2. esp32_worker.py: Redirect fd 1 to /dev/null before loading QEMU so raw UART bytes from QEMU's -nographic mux don't corrupt the JSON event pipe. The real pipe fd is saved and sys.stdout is rebound so _emit() continues to work. This also prevents stdout pipe back-pressure from stalling qemu_main_loop() (and thus REALTIME timers). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| api | ||
| core | ||
| database | ||
| mcp | ||
| models | ||
| schemas | ||
| services | ||
| utils | ||
| __init__.py | ||
| main.py | ||