Forum: Mikrocontroller und Digitale Elektronik ESP32 mit Arduino - Seltsames WLAN Problem


von HomeAutomator (Gast)


Lesenswert?

Hallo zusammen,

ich habe hier ein seltsames Problem mit einem ESP32 DevKitC und Arduino. 
Ich glaube inzwischen auch, dass dieses Problem gar nicht in Arduino 
liegt, sondern im darunterliegendem ESP-IDF oder am ESP32 selbst.


Genutzte Hardware:
ESP32 DevKitC
Ruckus R310 WLAN AccessPoint

Problem:

Ich verbinde den ESP32 mit einem minimalsten Programm (Arduino Sketch) 
mit dem WLAN-AP. Die erste Verbindung ist immer erfolgreich. Nach einer 
zufälligen Dauer funktioniert kein Ping mehr, bei komplexeren Programmen 
auch kein WebServer oder WebSocketServer.

Der ESP32 crasht aber nicht, es gibt keinen dump auf der seriellen 
Konsole, die nicht Netzwerk-Dinge funktionieren weiterhin und werden 
abgearbeitet. Ich habe mir eine dann laufend eine reihe Informationen 
anzeigen lassen.

Der HEAP hat immer genug Platz, da läuft nichts über. Also kein 
Speicherleck.

WL_CONNECTED sagt, WLAN sei verbunden, aber Ping geht trotzdem nicht.

Der AP sagt ebenso, der ESP32 sei verbunden. Eine Analyse der WLAN-Daten 
zum ESP32 hin zeigen überhaupt keine Auffälligkeiten (kein Deauth etc.). 
Außer wenn sich der WiFi Teil des ESP32 aufhängt, dann findet 
schlagartig keine Kommunikation mehr statt, egal was vorher war.

WiFi.setSleep ist auf false gestellt. Auch Autoconnect und AutoReconnect 
um dort Fehler auszuschließen.

Es helfen nur zwei Dinge:

- Den ESP32 aus dem WLAN werfen und somit auf dem ESP32 einen "WiFi 
reboot" zu erzwingen.

- Vom ESP32 aus regelmäßig einen Ping zu einem anderem 
Netzwerkteilnehmer durchzuführen. Wenn der Ping scheitert, WiFi neu 
starten. Man sieht dann auch auf der seriellen Konsole, dass der Ping 
unregelmäßig scheitert und ein reconnect das Problem behebt.

Kennt jemand dieses Verhalten oder besser den Bug beim ESP32?


Beim Googeln habe ich Leute gefunden, die mit einem Linksys WLAN-Router 
über ähnliche Probleme berichten, aber es dann aufgegeben haben. Bei 
jemandem anderem waren ICMP-Pakete verantwortlich, was bei mir nicht 
zutrifft.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.