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> |
||
|---|---|---|
| .. | ||
| esp-idf-template | ||
| __init__.py | ||
| arduino_cli.py | ||
| esp32_lib_bridge.py | ||
| esp32_lib_manager.py | ||
| esp32_worker.py | ||
| esp_qemu_manager.py | ||
| espidf_compiler.py | ||
| gpio_shim.py | ||
| project_files.py | ||
| qemu_manager.py | ||
| wifi_status_parser.py | ||