ESP32: rtc_gpio_hold_en() called on non-RTC GPIO18 during LilyGO repeater shutdown
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- c
- Ambito
- embedded-iot
Direzione di ricerca
Read src/helpers/ESP32Board.cpp and variants/lilygo_tlora_v2_1/platformio.ini to trace ESP32Board::enterDeepSleep() and confirm the NSS pin definition. Check the ESP-IDF GPIO documentation for the hold API supported by the target ESP32 variant. Done means deep sleep no longer calls an RTC-only API for GPIO18; verify the behavior on the affected hardware if available.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
While helping another user troubleshoot a LilyGO LoRa32 V2.1-1.6 repeater (ESP32, 433 MHz variant), I came across an invalid RTC GPIO call in the deep-sleep code.
Observed behavior
A custom Repeater build based on commit a366955cb2f67b8e6842d4f00d2b6a554dddd88a booted successfully, then entered the power-off sequence and produced this log:
Repeater ID: <redacted>
Powering Off
E (5387) RTCIO: rtc_gpio_hold_en(153): RTCIO number error
The build used a different radio frequency and LoRa reset pin, but the NSS pin definition and deep-sleep implementation were unchanged from upstream.
Cause
The LilyGO profile defines:
-D P_LORA_NSS=18
On the original ESP32, ESP32Board::enterDeepSleep() calls:
rtc_gpio_hold_en((gpio_num_t)P_LORA_NSS);
GPIO18 is not RTC-capable on the original ESP32, so rtc_gpio_hold_en() returns ESP_ERR_INVALID_ARG.
The 153 in the error message is an ESP-IDF source line number, not a GPIO number.
The call is also present in the current upstream main branch.
Expected behavior
The deep-sleep code should not call an RTC-only API for a regular GPIO.
If keeping NSS high during deep sleep is required, the appropriate GPIO hold mechanism should be used for the target ESP32 variant.
Scope of testing
I traced the shutdown path in the source and checked it against the captured UART log.
The power-off event itself appears to originate from the GPIO0 long-press handler. Its electrical cause has not been established.
The invalid RTC GPIO call explains the subsequent RTCIO error, not the original power-off event.
I have not reproduced this on an unmodified stock firmware binary or verified a fix on the affected hardware.
References
- [LilyGO board configuration](https://github.com/meshcore-dev/MeshCore/blob/main/variants/lilygo_tlora_v2_1/platformio.ini)
- [ESP32Board.cpp](https://github.com/meshcore-dev/MeshCore/blob/main/src/helpers/ESP32Board.cpp)
- [ESP-IDF GPIO documentation](https://docs.espressif.com/projects/esp-idf/en/v4.4.7/esp32/api-reference/peripherals/gpio.html)
- Lingua principale
- C
- Stelle
- 3.9k
- Fork
- 1.5k
- Merge medio
- 19h 9m
- PR unite (30g)
- 27
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di meshcore-dev/MeshCore
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100
meshcore-dev/MeshCore#3622 ·
I maintainer di solito rispondono entro 1 giorno
-
[Feature Request] Set Australia (Mid) Preset to automatically enable 2 byte default path hash sizeAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
meshcore-dev/MeshCore#3571 · 5 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
meshcore-dev/MeshCore#3567 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
RTC_RX8130CE writes and reads the one-hot WEEK register as a numberForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
meshcore-dev/MeshCore#3549 ·
I maintainer di solito rispondono entro 1 giorno
-
Repeater: CLI reply to 'setperm <key> 0' is lost when the removed ACL entry sits before the requester (stale ClientInfo* after array shift)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
meshcore-dev/MeshCore#3513 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di meshcore-dev/MeshCore
Issue simili
-
[LOGO] Add Ruxt Linux LogoApertalogo request
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
fastfetch-cli/fastfetch#2661 ·
I maintainer di solito rispondono entro 1 giorno
-
Mark ignored Mac OS partitions RecoveryOSContainer and iBootSystemContainerForse già presa @meven l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
storaged-project/udisks#1559 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 71/100
awslabs/aws-checksums#121 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 3 giorni
-
Bad tag for language cardAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100