Skip to content

AyresWiFiManager 2.3.3

Choose a tag to compare

@IdefixRC IdefixRC released this 01 Oct 12:20
· 27 commits to main since this release

Overview

AyresWiFiManager 2.3.3 is a patch release of the IdefixRC fork. It fixes two bugs on Arduino-ESP32 core 3.x, both found on real hardware. First, the captive portal's network scan always came back empty. Second, the serial log flooded with Task WDT errors. Everyone on core 3.x should update.

This fork tracks ayresnet/AyresWiFiManager, and both fixes will be offered upstream.

Fixes

  • The portal scan lists networks again on core 3.x. handleScan() started the scan with a raw esp_wifi_scan_start() and then read the result with WiFi.scanComplete(). That broke in two ways:

    • On core 3.x, the WiFi class ignores the completion of a scan it did not start itself. scanComplete() therefore reported a failure, and /scan always answered with an empty list.
    • The scan configuration was never zeroed. ESP-IDF 5.5 logged wifi:2g bitmap contains only invalid channels= 0xffff.

    The portal now scans with WiFi.scanNetworks(), using the same synchronous active scan with 120 ms per channel. This bug had been present since 2.3.0.

  • No more task_wdt: esp_task_wdt_reset(...): task not found flood. The library fed the Task WDT on every update() call and in several other places. The loop task, however, only subscribes to the watchdog when the portal opens. Under ESP-IDF v5, each of those calls logged an error, which on a connected boot meant about one line every 5 ms. The library now feeds the watchdog only after the task has subscribed.

  • Fewer watchdog errors when the portal opens. Each portal open logged "TWDT already initialized", and every reopen also logged "task is already subscribed". Both are gone: the portal now reconfigures the watchdog that is already running and subscribes the task only once.

Testing

  • Tested on a Waveshare ESP32-C6-Touch-LCD-1.47 with Arduino-ESP32 core 3.3.11.
  • The scan lists nearby networks again.
  • A connected boot logs no watchdog errors.
  • The full portal flow (set up, save, recover, restart) works as before.
  • CI builds both examples on core 2.x and 3.x.

Compatibility

  • Framework: Arduino
  • Platform: ESP32
  • Arduino-ESP32 core: 2.x and 3.x
  • Dependency: ArduinoJson ^6.21.2

Upgrade Notes

2.3.3 is a drop-in replacement for 2.3.2, with no API changes.

lib_deps =
  https://github.com/IdefixRC/AyresWiFiManager.git#2.3.3

Thank you to Daniel Salgado and AyresNet for AyresWiFiManager, and to everyone using and testing it.