Skip to content

[TW#20534] Light sleep stalls (blocks) at random intervals and is disabling watchdogs #1864

@Electrozest

Description

@Electrozest

Calling esp_light_sleep_start() with less than one second delay set, and calling the function every second, the esp_light_sleep_start() function stalls (blocks) after 1-3 hours. It then remains blocked until a manual reset.

My code is enabling the hardware WDT at startup so I would have expected a WDT reset following the blocking condition, however the hardware WDT was failing to act. On inspection of the code I realise that unexpectedly the esp_light_sleep_start() is enabling and disabling the hardware WDT. Unfortunately on exit the function leaves the hardware watchdog timer disabled!!

There are two critical issues:
i) esp_light_sleep_start() blocks at random
ii) esp_light_sleep_start() is disabling the hardware WDT

The esp_light_sleep_start() function is found in esp-idf/components/esp32/sleep_modes.c

Until these issues are resolved the ESP32 is not suitable for remote operation if light sleep mode is required.

This issue is also related to: espressif/arduino-esp32#908

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions