Hi all,
I know that this might not be 100% the right forum, since my question is about Arduino / ESP8266, but I hope you can help me anyway:
Here’s the weird problem I’ve been having for a few days now:
I have had a dual-boot system for a while now, one running Windows 10 (really only because of Fusion 360) and the other running Linux Manjaro 21.1.0.
Since a few days the upload of sketches on the Manjaro system does not work anymore. I get the following message when I try to upload a sketch with Arduino to my ESP8266:
Executable segment sizes:
ICACHE : 32768 - flash instruction cache
IROM : 231724 - code in flash (default or ICACHE_FLASH_ATTR)
IRAM : 26793 / 32768 - code in IRAM (IRAM_ATTR, ISRs...)
DATA : 1496 ) - initialized variables (global, static) in RAM/HEAP
RODATA : 876 ) / 81920 - constants (global, static) in RAM/HEAP
BSS : 25608 ) - zeroed variables (global, static) in RAM/HEAP
The sketch uses 260889 bytes (25%) of the program memory space. The maximum is 1023984 bytes.
Global variables use 27980 bytes (34%) of dynamic memory, leaving 53940 bytes for local variables. The maximum is 81920 bytes.
esptool.py v3.0
Serial port /dev/ttyUSB0
Connecting........_____....._____....._____.........._____.....____Traceback (most recent call last):
File "/home/basementmedia/snap/arduino/61/.arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/upload.py", line 66, in <module>
esptool.main(cmdline)
File "/home/basementmedia/snap/arduino/61/.arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 3552, in main
esp.connect(args.before, args.connect_attempts)
File "/home/basementmedia/snap/arduino/61/.arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 529, in connect
raise FatalError('Failed to connect to %s: %s' % (self.CHIP_NAME, last_error))
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
So of course my first guess was that the ESP8266 was defective.
But when I installed the Arduino IDE on Windows 10 and the upload worked, I came to the following conclusion:
The ESP8266 is not defective, because it works on WIndows.
By the way: I also tested all my other ESPs with Linux, none of them worked.
So the next thing I thought was that it must be the Manjaro (on which the ESP still worked 5 days before).
My first thought: The USB port, that is the serial port is to blame.
Then I connected an Arduino nano and the upload of the sketch worked fine.
So my next conclusion was:
It can’t be the serial port and also not the used cable.
Nevertheless, I then reinstalled Manjaro completely again and installed ONLY Arduino and the ESP8266 boards directly on the fresh system (as I have always done) but even there the upload did not work.
So I came to the conclusion that there must be a problem between Arduino IDE and the ESP specifically.
But after I tried uploading a sketch via Visual Studio Code and got exactly the same error message, I could also rule out the Arduino IDE.
So I come to the final conclusion that it must have something to do with the esptool.py v3.0, right?
It almost can’t be otherwise, because this tool is responsible for uploading to the ESP, correct? Could it possibly be that there was a Python update since the Manjaro release 21.0.7 and this Pyhton version is no longer compatible with the esptool.py - script that is used for the upload?
Sure, I can continue to work with Arduino on my Windows 10 for now, but my main OS is Linux and I don’t really like Windows… (I actually always call it Windump 10).
I really don’t know who to turn to regarding this problem ;-(
I am grateful for any tip.
Many greetings
Daniel