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
- aktuelle TASMOTA-Release mit Core 2.3.0
- aktuelle TASMOTA-Development mit Core 2.3.0
- aktuelle TASMOTA-Development mit Core 2.5.0
- aktuelle TASMOTA-Mod von reloxx13 mit Core 2.3.0
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/Sonoff…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 '' natürlich besonders