Bei Problemen - ESP8266/85 Flash-Speicher Löschen

  • In diesem Abschnitt findet man Lösungsansätze

    zur Problembehebung bei ESP8266/ESP8285-Geräten.

    I - Flash-Speicher komplett löschen mit blank.bin

    • bei WLAN-Schaltern, Steckdosen, Lampen... mit ESP8266 / ESP8285 Chip wie Sonoff, Shelly, usw.
    • bei 'unerklärlichem' Verhalten und Fehlern nach Firmware-Wechsel
    • bei WLAN-, Update-, Flash-, Konfig-Problemen usw.

    I.I - Vorbereitung

    Die dazu benötigten Dateien: --> blank_1MB_2MB_4MB_mit_ESPtool.zip


    und eine .bin der folgenden:


    Die hier beschriebene Methode zum Löschen des Speichers und anschließendem

    Neu-Beschreiben funktioniert NUR per Hardware Flasher (OTA ist nicht möglich).


    Wie für das Flashen von Tasmota, wird auch hier ein FTDI-, CP2102-, CH340-,... Adapter benötigt,

    mit der üblichen Verdrahtung (TX, RX, GND,...).


    Genauso muss das Gerät für das Löschen in den Flash-Modus versetzt werden,

    z.B. Taste während dem Anstecken gedrückt halten oder GPIO0 auf GND legen.

    I.II - Löschen mit blank_1M.bin / blank_2MB.bin / blank_4MB.bin

    'Löschen' bedeutet hier Überschreiben des gesamten Flash-Speichers

    mit einer .bin Datei, in der nur 'FF' Bytes enthalten sind.


    Je nach Gerät ist unterschiedlich großer Flash-Speicher verbaut,

    entsprechend sollte die blank .bin gewählt werden.


    Bei den meisten Sonoff wird 1MB Flash verwendet.

    Shelly 1 und Shelly 2 verwenden 2MB Flash.

    Bei Sonoff POW v2.0 / WeMos D1 / NodeMCU z.B. 4MB Flash.


    Die Größe des Flash-Speichers lässt sich z.B. mit esptool.py feststellen:

    esptool.py flash_id

    I.III - Löschen per ESPEasy Flasher (esptool.exe bzw. FlashESP8266.exe) unter Windows

    • die Datei FlashESP8266.exe (GUI zu esptool.exe) starten
    • COM-Port sollte schon passend vorgewählt sein
    • Firmware blank_1MB.bin / blank_2MB.bin / blank_4MB.bin auswählen
    • Flash Button drücken


    Danach kann sofort eine Firmware .bin (Tasmota, ESPEasy, ESPurna...) gewählt werden,

    um sie genau so zu flashen (links weiter oben).

    II - Löschen per esptool.py

    Das Löschen des Flash-Speichers ist auch mit esptool.py möglich:


    esptool.py erase_flash mit automatischer COM-Port Erkennung oder

    esptool.py --port COM5 erase_flash COM-Port entsprechend anpassen


    III - Hinweise zum Lösungsansatz

    Die Methode (Flash-Speicher vollständig löschen und anschließend neue .bin aufspielen)

    ist meistens der schnellste Weg, um zu einem definierten Punkt zurückzukehren,

    bei dem gesichert ist, dass es zu 100% funktioniert bzw. funktionieren müsste (Firmwaretechnisch).


    Bei der Fehlersuche hat es sich deshalb bewährt, diesen als 1. Schritt zu wählen.


    Beim Wechsel zwischen Firmware-Versionen, bei Änderungen des Core 2.3.0/2.4.2/2.5.0,

    beim Wechsel zwischen 1MB, 2MB, 4MB Firmware usw. usw.

    bleiben (ohne Löschen) Reste im Speicher vorhanden, die sich gegenseitig stören und

    zu 'unerklärlichen' Phänomen führen können.


    Andere Methoden (wie CFG_HOLDER...) sind meistens zeitaufwändiger und manchmal

    auch nicht zielführend, da nur Teile des Speichers gelöscht oder überschrieben werden.

    IV - Probleme und weitere Lösungsvorschläge

    IV.I - WLAN und MQTT Probleme:

    • 1. Schritt, wie schon beschrieben, Flash komplett löschen und eine vorkompilierte Tasmota .bin flashen (z.B. sonoff-DE.bin)
    • Core 2.4.2 sollte man meiden
    • bei MQTT Verbindungsabbrüchen (unter Core 2.5.0) versuchsweise Sleep 0 einstellen
    • sonst u.a. WLAN Kanalwahl überprüfen / Mesh ausschalten / Repeater deaktivieren / Fixe IP...

    IV.II - WLAN verbindet sich nicht:

    • Ursache können Sonderzeichen und Leerzeichen in WLAN SSID und Passwort sein.
    • Probleme kann es auch durch aktiviertes 5GHz WLAN mit identischer SSID / Mixed Mode etc. geben.

    IV.III - WLAN funktioniert nach einiger Zeit nicht mehr:

    • dies kann zum einen Hardware-Fehler bedeuten --> Lötverbindungen kontrollieren und nachlöten, Elkos, Überhitzung...
    • zum anderen könnten Störungen durch Interferenzen mit anderen/neuen Geräten etc. die Ursache sein.

    IV.IV - Relais-Klicken und LED-Blinken im Sekunden-Takt:

    • ist ein Zeichen für fehlerhafte oder nicht vollständig geflashte .bin --> Löschen und neu Flashen

    IV.V - Problem mit zu wenig Speicher (iRAM):

    • das Gerät startet zwar und lässt sich z.B. über Taste schalten, kurz darauf folgen aber Resets mit Neustart
    • oder es stehen bestimmte Funktionen nicht zur Verfügung (fehlende Menüpunkte in Tasmota).
    • Lösung: vorkompilierte Tasmota .bin flashen oder Funktionen von Tasmota in my_user_config.h bzw. user_config_override.h deaktivieren.



    Weitere Infos zu Fehlerbehebung:

    https://github.com/arendst/Son…mota/wiki/Troubleshooting




    P.S.:

    Kommentare zu Korrekturen und Verbesserungsvorschlägen sind SEHR willkommen

    und werden von mir mit Sicherheit überdacht.

    Wenn dir der Beitrag geholfen hat, freut mich ein ':thumbup:' natürlich besonders :)

Teilen