SONOFF - ich brauch mal einen Gedankenstups

Begonnen von bugster_de, 18 Juli 2017, 20:09:39

Vorheriges Thema - Nächstes Thema

bugster_de

ich habe gerade mal die Hinweise aus den oben genannten Links ausprobiert. Ich kann nur sagen dubios.

Das esptool macht einfach gar nichts. Startet und hört dann sofort wieder auf. Egal ob man es asl Admin startet oder normal.

Wenn man mit dem NodeMCU Tool ein leeres Binary sowie die genannten inits flasht, dann kommen beim H801 zumindest wieder die normalen Bootmessages (wie erwartet). Zumindest lebt er noch.
Wenn man dann die NodeMCU FW flasht kommen ebenfalls nur die Bootmessages. Nicht gut
Wenn man dann ein Binary aus der Arduino IDE flasht ist er wieder tot. Das gleiche Binary läuft aber auf einem Sparkfun Board problemlos.

Ich blicks nicht aber es scheint was mit dem Flashen zu tun zu haben

pink99panther

Hab heute auch mal versucht die Config bei einem nodeMCU los zu werden.
mit
esptool -cp COM4 -cd nodemcu -ce
hab ich es dann hin bekommen

bugster_de

#48
ja, sitze auch grad noch dran. Wenn ich das esptool.exe aus dem ESPeasy Kit nehme und genau nach der Anleitung von Pete arbeite, dann redet er aus dem rom von Pete an der seriellen Schnittstelle mit mir. Sobald ich dann aber wieder irgendein anderes bin aus Arduino flashe ist er wieder tot

esptool -cp COM4 -cd nodemcu -ce
Damit macht er bei mir nix. Startet und endet.

bugster_de

leer machen eines H801 steht hier:
http://www.pratikpanda.com/completely-format-erase-esp8266-flash-memory/

Danach muß er dann in der seriellen Konsole folgendes melden:
ets Jan  8 2013,rst cause:2, boot mode:(3,6)
ets_main.c


Und dann gleich mit der Arduino IDE den eigenen Code flashen. Dann lebt der H801 wieder. Yipieee !!!

Reinhart

ich compiliere den Tasmota Code mit der Arduino IDE und bennen ihn dann zB. so um (weil ich dann das Script nicht ändern muss):

ESPEasy_R5.4.0_1024
das ist dann Tasmota 5.4 mit 1k.

Dann starte ich das Esptool, aber über die Flash.cmd und die macht ja folgende Einstellungen

esptool.exe -vv -cd nodemcu -cb 115200 -cp COM%comport% -ca 0x00000 -cf ESPEasy_R%build%_%fsize%.bin

und mit diesen Einstellungen flashe ich immer ohne Probleme und die Module starten auch sofort und auch Wifi ist ok.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

hoffma0901

Interessante Infos  :)

Man könnte zusätzlich ja auch nochmal in die Flash.cmd den erase_flash Befehl (esptool.exe -p COM%comport% -b 115200 erase_flash) hinzufügen. Vielleicht verhindert es so das eine oder andere Problem mit dem Flash...

bugster_de

#52
Übrigens: der H801 sendet nur auf dem Serial Port, wenn man Serial1 benutzt. Wenn man Serial.print macht, dann kommt da nix. Mit Serial1.print wird der gesprächig. Fragt mich nicht wie ich da drauf kam.

Und nun doch noch lustiger Effekt: wenn ich das Flash leere wie oben beschrieben, dann kann ich auf den H801 einen Arduino Code drauf packen wie ich will. Ausnahme ESPeasy mit Arduino IDE selbst gebaut. Da bootet er wieder nicht mehr. ESPEasy auf dem H801 mittels espeasy Flashtool geht. Ich werd' bekloppt ...

Ein Sonoff Touch hier sagt EFUSE Error. Das ist wohl irreparabel und kann durch Amok laufende Flashtools kommen. Es gibt wohl also schon Situationen, in denen die Flashtools den ESP ins Nirvana schiessen

Zusammengefasst:
ich habe gestern Nacht 3 * H801 und zweimal SONOFF TH16 aus dem Reich der Toten wieder ins Leben zurück geholt. Alle sind nun mit ESPEasy bespielt und funktionieren. Ein SONOFF Touch hat den beschriebenen EFUSE Error und ist damit defekt. Diesen EFUSE Error erkennt man aber bei den üblichen Flashtools NICHT! Sprich Arduino IDE, esptool.exe etc. zeigen keinen Fehler und man denkt dass alles glatt ging. Dem ist aber nicht so. Den EFUSE Fehler zeigt nur das Flash Tool von Espressif an!

Um den Flash zu leeren habe ich einfach alle ESP als 4MB Flash Größe behandelt. Damit ist es egal, ob der in Wirklichkeit nur 1MB hat. Die zuviel geschriebenen 3MB Bits liegen dann halt auf einem großen Haufen auf dem Schreibtisch rum  :) :) :)
Bitte beachten, dass das Espressif Tool die Flash Größe in Mb angibt. Das sind M-Bit und eben nicht MByte (MB). Sprich für einen 4MB Chip dann die Option 32 Mb nehem (32/8 Bits pro Byte = 4MB). Für einen 1MB Chip dann halt 8Mb auswählen.
Im Tool selbst habe ich einen 1MB großes, leeres bin File zum Download 4 mal hinterlegt. Dabei die Startadressen 0x000000, 0x100000, 0x200000 und 0x300000.
Danach dann in der Arduino IDE ESPEasy bauen und aus der Arduino IDE runterladen geht. Oder halt direkt das ESPeasy Binary mit dem zugehörigen Flashtool laden.

Da es bei mir nun geht kann ich nun wieder aus dem Forschungsmodus in den Produktivmodus umschalten.

Reinhart

Zitat von: hoffma0901 am 03 August 2017, 22:13:31
Interessante Infos  :)

Man könnte zusätzlich ja auch nochmal in die Flash.cmd den erase_flash Befehl (esptool.exe -p COM%comport% -b 115200 erase_flash) hinzufügen. Vielleicht verhindert es so das eine oder andere Problem mit dem Flash...

das ist sicher nicht verkehrt, da Speicherleichen beseitigt werden. Gerade ESPEasy und Tasmota sind da unterschiedlich.
Da ich so gut wie nichts mehr mit ESPEasy auf den Sonoff Modulen mache, fallen mir vermutlich diese Ungereimtheiten erst gar nicht auf.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Fillip

Also, ich habe hier mitlerweile 4 verschiedene Sonoff Geräte liegen (Touch, Basic, POW und den 4CH) habe alles versucht die mit Tasmota (5.6.1) zu Flashen. Sowohl mit Arduino IDE als auch PlatformIO. Alles bleibt erfolglos... Die ersten Sonoff Geräte konnte ich damals Problemlos flashen...
Ich habe in der user_config.h nicht viel geändert außer die WLAN Daten und mal die IP Adresse.

Ich habe auch gelesen das der Touch und der 4CH den ESP8285 nutzt, daher muss in der Arduino IDE auf 1M (no SPIFFS) umgestellt werden, was bei mir nicht geht. Daher wollte ich die PlatformIO testen, flashvorgang läuft zwar durch, ohne Fehler. Aber es verbindet sich nix... Zum FTDI Chip hab ich auch eine extra Spannungsversorgung da es heißt, der Strom wäre zu gering...

Reinhart


wenn du mit der Arduino IDE flashen willst solltest du die Einstellungen laut Wiki befolgen, dann kannst du auch auf "no SPIFFS" umstellen. Da dies von vielen übergangen wird, klappt es dann nicht. Aber mit PlatformIO sollte es ohne spezielle Einstellungen klappen.


Ebenfalls musst du in der user_config.h auch diese Einstellung (einfach Datum eintragen) ändern, damit die Einstellungen auch übernommen werden, steht ebenfalls im Wiki und im File als Bemerkung.
#define CFG_HOLDER             0x20171908        // [Reset 1] Change this value to load following default configuration parameters


Ich flashe mit beiden Varianten und habe mit keiner ein Problem. Versuchs nochmal. Wenn du schon flashen kannst, dann sollte mit mind. 4 Sekunden Knopf drücken auch deine Einstellung übernommen werden.
Pressing the button for over four seconds: Reset settings to defaults as defined in user_config.h and restarts the device

LG

FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Fillip

Ach @Reinhart, auch wenn die Antwort etwas spät kommt, du hast mir mein Wochennde gerettet. Das muss ich wohl beides in meinem Wahn überlesen haben. Mit dem Datum und den 4 Sekunden gedrückt halten haben alles auf anhieb reagiert und sich verbunden  ;D ;D
Jetzt kann es weiter gehen  8)

Reinhart

sehr gut, darum heißt ja der Thread "ich brauch mal einen Gedankenstups ".

oft sind es die kleinen Dinge dir großes bewirken!

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa