ESP32-Bit upload sketch fails timeout USB serial

Preface: I am very new to mC and Arduino IDE, using & troubleshooting related problems. Using Lubuntu 18.04

Using version 1.8.10 of the IDE, when trying to upload a sketch to the ESP32-Bit board, it always failed:

Global variables use 38752 bytes (11%) of dynamic memory, leaving 288928 bytes for local variables. Maximum is 327680 bytes. python /home/username/.arduino15/packages/esp32/tools/esptool_py/2.6.1/esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0xe000 /home/username/.arduino15/packages/esp32/hardware/esp32/1.0.4/tools/partitions/boot_app0.bin 0x1000 /home/username/.arduino15/packages/esp32/hardware/esp32/1.0.4/tools/sdk/bin/bootloader_qio_80m.bin 0x10000 /tmp/arduino_build_874300/CameraWebServer.ino.bin 0x8000 /tmp/arduino_build_874300/CameraWebServer.ino.partitions.bin esptool.py v2.6 Serial port /dev/ttyUSB0 Connecting........__.........................__An error occurred while uploading the sketch

A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header

I tried reducing the baud rate to 115200, but the esptool.py ignored my tries. I did NOT install a capacitor on the board has others have suggested.

I did find that pressing (and holding for a short time) the "KEY" button on the board solved the upload problem:

Global variables use 38752 bytes (11%) of dynamic memory, leaving 288928 bytes for local variables. Maximum is 327680 bytes. python /home/username/.arduino15/packages/esp32/tools/esptool_py/2.6.1/esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0xe000 /home/username/.arduino15/packages/esp32/hardware/esp32/1.0.4/tools/partitions/boot_app0.bin 0x1000 /home/username/.arduino15/packages/esp32/hardware/esp32/1.0.4/tools/sdk/bin/bootloader_qio_80m.bin 0x10000 /tmp/arduino_build_874300/CameraWebServer.ino.bin 0x8000 /tmp/arduino_build_874300/CameraWebServer.ino.partitions.bin esptool.py v2.6 Serial port /dev/ttyUSB0 Connecting........___ Chip is ESP32D0WDQ6 (revision 1) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None MAC: 30:ae:a4:bb:5e:18 Uploading stub... Running stub... Stub running... Changing baud rate to 921600 Changed. Configuring flash size...

I want to find some information from this story.

Umedanumba: I want to find some information from this story.

Some progress appears in the works on this issue (on github.com) about 'esptool.py' script/program:

https://github.com/espressif/esptool/issues/509