Mise à jour des cartes Espressif

Bonjour à toutes et à tous,

Suite à un petit problème, j'ai relancé mon PC (Windows 10 et IDE Arduino 2.3.3). En ré-ouvrant l'IDE, une mise à jour des cartes ESP32 Espressif m'est proposée (3.0.7 --> 3.1.1). Je l'applique.

Du coup, mes programmes qui tournaient (dont la compilation se passe toujours bien) se mettent à rebooter en permanence.

Je suis repassé à la version 3.0.7 et tout est reparti dans l'ordre.

Avez-vous rencontré ce problème ?

Cordialement.

Pierre.

Bonsoir @ChPr

Pas rencontré avec les quelques petits programmes compilés à la suite d'un passage en version 3.1.1
Une des bibliothèques que tu utilises a peut être besoin d'une mise à jour pour suivre le mouvement !

On a içi une vue des remontées de pbs signalés suite à une montée de version :
https://github.com/espressif/arduino-esp32/issues
Je ne vois pas de signalement identique au tien (reboot systématique au démarrage)

Une idée desquelles ? Car, suite à la mise à jour 3.1.1, il ne me semble pas qu'il y en ait eu de proposées.

Cordialement.

Pierre.

Peut-être une option de configuration de la carte qui a changé. Ces paramètres ne sont pas sauvegardés avec le projet donc il faut les vérifier systématiquement.

Effectivement, la partition de la mémoire a été modifiée. Mais de mémoire (encore elle !) je l'ai rétablie à sa valeur correcte et cela n'a pas résolu le problème pour autant.

Faudra que je réessaie tout ça.

Cordialement.

Pierre.

Peut-être faire un effacement complet de la flash dans ce cas.

Ben non, car lorsque je suis revenu à la version 3.0.7, mes programmes, qui utilisent des fichiers dans la mémoire flash, fonctionnaient.

Cordialement.

Pierre.

quel message est émis par l'ESP32 lors de ces redémarrages a répétition ?

Je ne les ai malheureusement pas notés. Il faudrait que je repasse à la version 3.1.1 pour les revoir.

Je le referai, mais peut-être pas tout de suite car je suis plutôt concentré sur mon problème d'affichage de courbes avec chartjs.

Cordialement.

Pierre.

Je suis passé à la version 3.1.1 souis Ubuntu : m^me problème. Cette fois j'ai noté le rapport, qui se répète indéfiniment :

Connecting
...........................
Connected to the WiFi network
Local ESP32 IP: 192.168.0.10
18/01/2025 16:36:46

assert failed: tcp_alloc /IDF/components/lwip/lwip/src/core/tcp.c:1851 (Required to lock TCPIP core functionality!)


Backtrace: 0x40082575:0x3ffb2000 0x4008dd59:0x3ffb2020 0x4009400e:0x3ffb2040 0x400f5b43:0x3ffb2170 0x400f5cbd:0x3ffb2190 0x400d7490:0x3ffb21b0 0x400dd562:0x3ffb2200 0x400d370a:0x3ffb2220 0x400e0df3:0x3ffb2270 0x4008eaa2:0x3ffb2290




ELF file SHA256: ccad9e391

Rebooting...
ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:4916
load:0x40078000,len:16436
load:0x40080400,len:4
ho 8 tail 4 room 4
load:0x40080404,len:3524
entry 0x400805b8

Cordialement.

Pierre.

Revenant à la version 3.0.7 sous Ubuntu, mes programmes fonctionnent bien sans que j'ai quoi que ce soit à reprendre.
Cordialement.

Pierre.

D'après ce que tu donnes au message #10 le problème serait en rapport avec une ou plusieurs bibliothèques liées à TCPIP (serveur ? ) bug probabalement apparu sur les cores' récents .

Tu ne donnes pas ton code , restent les suppositions :worried:
ESPASyncWebServer utilisé ? Bug récent signalé à partir du core 3.1.0:
https://github.com/me-no-dev/ESPAsyncWebServer/issues/1455

Voici le code utilisé :


#include <ESPAsyncWebServer.h>

AsyncWebServer server(80);

const char* ssid = "xxxx"; // Nom de la box Wi-Fi
const char* password = "yyyy"; // MDP de la box Wi-Fi

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  Serial.println("\nConnecting");
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(100);
  }
  Serial.print("Local ESP32 IP: ");
  Serial.println(WiFi.localIP());

  server.begin();
}

void loop() {
  // Votre code principal ici
}

et l'erreur obtenue :

..........................Local ESP32 IP: 192.168.0.10

assert failed: tcp_alloc /IDF/components/lwip/lwip/src/core/tcp.c:1851 (Required to lock TCPIP core functionality!)


Backtrace: 0x40082475:0x3ffb2000 0x4008c28d:0x3ffb2020 0x40092542:0x3ffb2040 0x400ef77f:0x3ffb2170 0x400ef8f5:0x3ffb2190 0x400d9e70:0x3ffb21b0 0x400d6cf2:0x3ffb2200 0x400d274e:0x3ffb2220 0x400dd297:0x3ffb2270 0x4008cfd6:0x3ffb2290




ELF file SHA256: d71286d9e

Rebooting...
ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:4916
load:0x40078000,len:16436
load:0x40080400,len:4
ho 8 tail 4 room 4
load:0x40080404,len:3524
entry 0x400805b8

Connecting
...........................Local ESP32 IP: 192.168.0.10

C'est le simple fait d'activer le serveur par cette ligne server.begin(); qui déclenche le problème.

Cordialement.

Pierre.

Bonjour à toutes et à tous,

Nouveau problème avec la dernière version ESP32 Espressif 3.2.0.

Tout compile, bien, ça se lance, mais la connexion au WiFi refuse de se faire.

Revenant à la version 3.1.3, tout fonctionne normalement.

Avez-vous rencontré ce problème ? une idée d'où cela peut provenir ?

Cordialement.

Pierre.

@ChPr Plusieurs développeurs ont signalés le même problème avec la mise à jour du framework Espressif Arduino à la version 3.2.0.
Ce comportement semble être lié à des modifications internes dans la pile Wi-Fi introduites dans cette mise à jour.

Une des solutions proposé est de rester en 3.1.3 en attendant une mise à jour corrective.

Merci pour cette réponse.

Oui, je suis revenu à la version 3.1.3.

C'est quand même énervant ces MàJ qui bafouillent.

Cordialement.

Pierre.

Oui c'est énervant... ça rend nos anciens programmes "non-compatible" sans modification avec les nouvelles versions.

Par précaution quand on a un projet fonctionnel il est prudent de noter la version du core ESP utilisé ainsi que les versions des bibliothèques utilisées.... tout ce petit monde évolue.....

(Tout tutoriel responsable devrait faire de même pour permettre de reproduire le contexte)

1 Like

A ce sujet, est-ce qu'il est possible d'avoir ces informations dans un sketch. Autrement dit, est-ce que chaque bibliothèque, chaque "core" possède une variable représentant son N° de version qu'on puisse récupérer pour l'afficher via un Serial.println() ou l'inclure dans un fichier ou autre ...

J'imagine que ce ne doit pas être systématique et qu'il faut aller fouiller dans leurs fichiers pour trouver ces informations.

Cordialement.

Pierre.

1 Like

Echaudé , j'ajoute en commentaire d'un sketch que j'envisage de conserver les versions du core et des bibliothèques utilisées

1 Like