Manjaro 21.1.0 und ESP8266 --> Sketch-Upload doesn't work anymore

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

Hello @basementmedia :wink:

I moved the topic to #support:snap-flatpak since it appears to be a snap package.

I am not familiar with this tool, but have a look here: GitHub - espressif/esptool: Espressif SoC serial bootloader utility

1 Like

Hello again,

thanx to a user of the german arduino forum i have a temporary solution:

Settings prior to uploading the sketch:

Boardtype: Generic ESP8266
Flash size: 4MB
Reset method: " no dtr (aka ck)"

Then press Flash button (or Ground D3 (GPIO0) on Wemos D1 mini)
Press Reset shortly
Then release Flash

Press upload in the IDE

Then the Upload works.

I also found out, that the reason for this bug seems to be related to the current Linux Kernel:

https://www.spinics.net/lists/linux-usb/msg216039.html

Some users report, that downgrading the kernel solves the problem.
But in my case also downgrading did not do the trick.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.