So, nun ist das Problem gelöst und ich kann mit Visual Studio Code + PlatformIO auf Linux über meinen FTDI FT232RL (Achtung, es gibt auch Fälschungen die nicht richtig funktionieren) meine Sonoff / Eachen / Lingan... flashen.
Man muss nur zwei Dinge beachten, einmal muss man übers Terminal die Treiberdatei /dev/ttyUSB* nach jedem Anstecken die entsprechenden Rechte geben und man muss die richtige Datei im Tasmota Ordner anpassen und NEIN, es ist nicht eine der beiden platformio.ini sondern die platformio_override.ini
Man muss auch nicht zig Programme installieren, es reicht Visual Studio Code + PlatformIO und vielleicht noch dieses Paket sudo apt install libftdi-dev
Nun gut, hier eine Anleitung...
Man startet, ohne den Programmer, das Terminal (Strg+Alt+T) und gibt dies ein...
lsusb
nun werden einige installierte Geräte angezeigt...
jetzt gibt man diesen Befehl ein...
ls /dev/ttyUSB*
und es werden die Ports angezeigt oder es kommt diese Meldung...
was auch gut ist, denn dann müssen wir uns nichts weiter merken.
Nun verbinden wir den Programmer mit dem PC und führen die Befehle nochmals aus...
lsusb
jetzt sollte der Programmer angezeigt werden...
und nun noch der Port...
ls /dev/ttyUSB*
und bei mir geht es jetzt mit ttyUSB0 weiter...
Nun starten wir Visual Studio Code + PlatformIO und öffnen das Projekt und können die Sprache, WLAN... anpassen und natürlich den Port, was in der platformio_override.ini vorgenommen wird.
Hier ändert man den Eintrag
"upload_port = COM5"
in
"upload_port = /dev/ttyUSB0"
Ab jetzt könnte man das Flashen beginnen, wenn man natürlich an die entsprechenden Rechte für die Treiberdatei /dev/ttyUSB0 gedacht hat, die man blöderweise immer wieder neu vergeben muss, wenn man den Programmer anschließt.
Wer also diese Meldung erhält...
Traceback (most recent call last):
File "/home/oggy1/.platformio/penv/lib/python3.8/site-packages/serial/serialposix.py", line 322, in open
self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
PermissionError: [Errno 13] Permission denied: '/dev/ttyUSB0'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/oggy1/.platformio/packages/tool-esptoolpy/esptool.py", line 3969, in <module>
_main()
File "/home/oggy1/.platformio/packages/tool-esptoolpy/esptool.py", line 3962, in main
main()
File "/home/oggy1/.platformio/packages/tool-esptoolpy/esptool.py", line 3551, in main
esp = chip_class(each_port, initial_baud, args.trace)
File "/home/oggy1/.platformio/packages/tool-esptoolpy/esptool.py", line 271, in init
self.port = serial.serial_for_url(port)
File "/home/oggy1/.platformio/penv/lib/python3.8/site-packages/serial/init.py", line 90, in serial_for_url
instance.open()
File "/home/oggy1/.platformio/penv/lib/python3.8/site-packages/serial/serialposix.py", line 325, in open
raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
serial.serialutil.SerialException: [Errno 13] could not open port /dev/ttyUSB0: [Errno 13] Permission denied: '/dev/ttyUSB0'
*** [upload] Error 1
============================================================================ [FAILED] Took 32.90 seconds ============================================================================
Environment Status Duration
tasmota FAILED 00:00:32.898
======================================================================= 1 failed, 0 succeeded in 00:00:32.898 =======================================================================
Der Terminalprozess "platformio 'run', '--target', 'upload'" wurde mit folgendem Exitcode beendet: 1.
Das Terminal wird von Aufgaben wiederverwendet, drücken Sie zum Schließen eine beliebige Taste.
der muss übers Terminal noch die Rechte anpassen mit...
sudo chmod 777 /dev/ttyUSB0
oder USB1...
Wer alles richtig gemacht hat bekommt diese Meldung...
Also, Sonoff mit dem Programmer verbinden, Sonoff in den Flash-Modus bringen, übers Terminal die Rechte für /dev/ttyUSB* anpassen und schon sollte das Flashen möglich sein.
ACHTUNG
Man kann die ESP8266 Geräte mit dem Programmer (auf die sudo chmod 777 /dev/ttyUSB* Rechte achten) auch über https://tasmota.github.io/install/ flashen, aber NUR die ESP8266 die Geräte mit dem ESP8285 sind danach ohne Funktion und müssen dann zum Beispiel über Visual Studio Code + PlatformIO wieder zum Leben erweckt werden...