Forum: Mikrocontroller und Digitale Elektronik ESP 8285 flashen klappt nicht


von A. M. (thally)


Lesenswert?

Hallo,

hab hier einen ESP 8285, Platinenaufschrift:
AJW-02_8285
190520VER:A
ausgelötet aus einer WLAN-Schaltsteckdose:
https://de.aliexpress.com/item/1005005215794442.html

Ich möchte gerne Tasmota mit einem CH340-Programmier Adapter und ESPTOOL 
drauf flashen.
3V3, GND, TX, RX und RST (beim Einstecken) sind verbunden.
3V3 scheinen stabil.

Klappt leider nicht. Fehlermeldung:

xx@yyy:~$ esptool.py --port /dev/ttyUSB0 write_flash 0x0 
/home/xx/Schreibtisch/tasmota-DE.bin
esptool.py v4.6.1
Serial port /dev/ttyUSB0
Connecting........
Traceback (most recent call last):
  File "/usr/local/bin/esptool.py", line 37, in <module>
    esptool._main()
  File "/usr/local/lib/python3.10/dist-packages/esptool/__init__.py", 
line 1064, in _main
    main()
  File "/usr/local/lib/python3.10/dist-packages/esptool/__init__.py", 
line 678, in main
    esp = esp or get_default_connected_device(
  File "/usr/local/lib/python3.10/dist-packages/esptool/__init__.py", 
line 947, in get_default_connected_device
    _esp = detect_chip(
  File "/usr/local/lib/python3.10/dist-packages/esptool/cmds.py", line 
94, in detect_chip
    detect_port.connect(connect_mode, connect_attempts, detecting=True)
  File "/usr/local/lib/python3.10/dist-packages/esptool/loader.py", line 
642, in connect
    last_error = self._connect_attempt(reset_strategy, mode)
  File "/usr/local/lib/python3.10/dist-packages/esptool/loader.py", line 
527, in _connect_attempt
    reset_strategy()  # Reset the chip to bootloader (download mode)
  File "/usr/local/lib/python3.10/dist-packages/esptool/reset.py", line 
90, in _call_
    self._setDTR(False)  # Needed in some environments to ensure 
IO0=HIGH
  File "/usr/local/lib/python3.10/dist-packages/esptool/reset.py", line 
37, in _setDTR
    self.port.setDTR(state)
  File "/usr/lib/python3/dist-packages/serial/serialutil.py", line 603, 
in setDTR
    self.dtr = value
  File "/usr/lib/python3/dist-packages/serial/serialutil.py", line 473, 
in dtr
    self._update_dtr_state()
  File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 715, 
in _update_dtr_state
    fcntl.ioctl(self.fd, TIOCMBIC, TIOCM_DTR_str)
OSError: [Errno 71] Protocol error


Einen ESP aus nem Sonoff-Schalter konnte ich mit dem Programmer 
problemlos flashen.
Bin eher Anfänger. Wo kann ich ansetzen?

von Sebastian R. (sebastian_r569)


Lesenswert?

Denk dran, dass der interne Flash per DOUT und nicht wie bei ESP8266 per 
QIO angebunden ist.

Das könnte zu Problemen und einem gebrickten ESP8285 führen, wenn man es 
mit QIO versucht.

von A. M. (thally)


Lesenswert?

Danke,
ich nutze eine fertige tasmota.bin speziell für den ESP.

Damit sollte es doch keine Probleme geben?

: Bearbeitet durch User
von Sebastian R. (sebastian_r569)


Lesenswert?

A. M. schrieb:
> Damit sollte es doch keine Probleme geben?

Und beim esptool noch den flash mode angeben.

https://docs.espressif.com/projects/esptool/en/latest/esp8266/esptool/flash-modes.html

Ich hab mir mit dem falschen Mode beim Flashen schon mal einen ESP 
gebrickt. Wobei man das vermutlich rückgängig machen kann, wenn die 
richtigen Pins herausgeführt sind.

von A. M. (thally)


Lesenswert?

Sebastian R. schrieb:
> Denk dran, dass der interne Flash per DOUT und nicht wie bei ESP8266 per
> QIO angebunden ist.
>
> Das könnte zu Problemen und einem gebrickten ESP8285 führen, wenn man es
> mit QIO versucht.

Ok, hab noch mal nachgelesen. Ich muss dem ESPTOOL das DOUT mitteilen, 
oder?
Also:
esptool.py --port /dev/ttyUSB0 write_flash --flash_mode dout 0x0 
/home/xx/Schreibtisch/tasmota-DE.bin

von A. M. (thally)


Lesenswert?

Sebastian R. schrieb:
> A. M. schrieb:
>> Damit sollte es doch keine Probleme geben?
>
> Und beim esptool noch den flash mode angeben.

Danke, da haben sich unsere Antworten wohl überschnitten :-)

von A. M. (thally)


Lesenswert?

Ich bekomme leider immer noch die gleiche Fehlermeldung.

von A. M. (thally)


Angehängte Dateien:

Lesenswert?

Lösung gefunden:
Ich dachte GPIO0 und RST wären das Gleiche. Das war falsch.

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.