I haven’t been able to upload any firmware to my T-watch 2020v3 for several months now. I even changed the system (I used to be on Manjaro now I use Garuda). My watch is connected to the computer, but when I try to download any firmware on any guide, nothing comes out. I tried the Arduino IDE, but in it, at least the clock is displayed in the port, but when loading, it says that the port will not find it, after which it disappears from it, and only rebooting the system helps. PlatformIo is a little better, the clock is displayed in the port, but when I try to install the firmware (https://github.com/spaceAngel/cyberWatch, not only it, I tried others) it gives an error:
* Executing task in folder cyberWatch: platformio run --target upload --upload-port /dev/ttyACM0
Processing ttgo-t-watch (platform: espressif32; board: ttgo-t-watch; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/ttgo-t-watch.html
PLATFORM: Espressif 32 (6.1.0) > TTGO T-Watch
HARDWARE: ESP32 240MHz, 320KB RAM, 16MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
- framework-arduinoespressif32 @ 3.20007.0 (2.0.7)
- tool-esptoolpy @ 1.40500.0 (4.5.0)
- tool-mkfatfs @ 2.0.1
- tool-mklittlefs @ 1.203.210628 (2.3)
- tool-mkspiffs @ 2.230.0 (2.30)
- toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 34 compatible libraries
Scanning dependencies...
Dependency Graph
|-- TTGO TWatch Library @ 1.4.2
| |-- Wire @ 2.0.0
| |-- SPI @ 2.0.0
| |-- FS @ 2.0.0
| |-- SD @ 2.0.0
| | |-- FS @ 2.0.0
| | |-- SPI @ 2.0.0
| |-- Ticker @ 2.0.0
| |-- SPIFFS @ 2.0.0
| | |-- FS @ 2.0.0
|-- FS @ 2.0.0
|-- SPIFFS @ 2.0.0
| |-- FS @ 2.0.0
|-- WiFi @ 2.0.0
|-- EEPROM @ 2.0.0
Building in release mode
Compiling .pio/build/ttgo-t-watch/src/Apps/AboutPanel.cpp.o
Compiling .pio/build/ttgo-t-watch/src/Environment/RunAfterCompilation.cpp.o
Linking .pio/build/ttgo-t-watch/firmware.elf
Retrieving maximum program size .pio/build/ttgo-t-watch/firmware.elf
Checking size .pio/build/ttgo-t-watch/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [== ] 15.7% (used 51428 bytes from 327680 bytes)
Flash: [== ] 18.0% (used 1179241 bytes from 6553600 bytes)
Building .pio/build/ttgo-t-watch/firmware.bin
esptool.py v4.5
Creating esp32 image...
Merged 25 ELF sections
Successfully created esp32 image.
Configuring upload protocol...
AVAILABLE: cmsis-dap, esp-bridge, esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa
CURRENT: upload_protocol = esptool
Looking for upload port...
Using manually specified: /dev/ttyACM0
Uploading .pio/build/ttgo-t-watch/firmware.bin
esptool.py v4.5
Serial port /dev/ttyACM0
Connecting...
Traceback (most recent call last):
File "/home/maks48/.platformio/packages/tool-esptoolpy/esptool.py", line 34, in <module>
esptool._main()
File "/home/maks48/.platformio/packages/tool-esptoolpy/esptool/__init__.py", line 1031, in _main
main()
File "/home/maks48/.platformio/packages/tool-esptoolpy/esptool/__init__.py", line 673, in main
esp = esp or get_default_connected_device(
File "/home/maks48/.platformio/packages/tool-esptoolpy/esptool/__init__.py", line 920, in get_default_connected_device
_esp.connect(before, connect_attempts)
File "/home/maks48/.platformio/packages/tool-esptoolpy/esptool/loader.py", line 640, in connect
last_error = self._connect_attempt(reset_strategy, mode)
File "/home/maks48/.platformio/packages/tool-esptoolpy/esptool/loader.py", line 525, in _connect_attempt
reset_strategy() # Reset the chip to bootloader (download mode)
File "/home/maks48/.platformio/packages/tool-esptoolpy/esptool/reset.py", line 85, in __call__
self._setDTRandRTS(False, True) # IO0=HIGH & EN=LOW, chip in reset
File "/home/maks48/.platformio/packages/tool-esptoolpy/esptool/reset.py", line 58, in _setDTRandRTS
fcntl.ioctl(self.port.fileno(), TIOCMSET, struct.pack("I", status))
OSError: [Errno 71] Protocol error
*** [upload] Error 1
============================================================================ [FAILED] Took 85.14 seconds ============================================================================
* The terminal process "platformio 'run', '--target', 'upload', '--upload-port', '/dev/ttyACM0'" terminated with exit code: 1.
* Terminal will be reused by tasks, press any key to close it.
although when compiling everything is fine. I already tried to search the Internet and tried different methods, but nothing helped, and by the way, I already installed 99-platformio-udev.rules, but this warning still remained. If you need more information please write, I’m not an expert in this
I tried different cables including the one that came with watch and different firmware but nothing helps. Sometimes the watch is not recognized at all and gives errors in the connection logs (sudo dmesg -W) :
[15817.802810] usb 2-1: new full-speed USB device number 81 using xhci_hcd
[15823.178638] usb 2-1: unable to read config index 0 descriptor/all
[15823.178650] usb 2-1: can't read configurations, error -110
[15823.501699] usb 2-1: new full-speed USB device number 82 using xhci_hcd
[15828.809723] usb 2-1: device descriptor read/all, error -110
[15828.809831] usb usb2-port1: attempt power cycle
[15829.189587] usb 2-1: new full-speed USB device number 83 using xhci_hcd
[15834.441446] usb 2-1: device descriptor read/all, error -110
[15834.757438] usb 2-1: new full-speed USB device number 84 using xhci_hcd
[15834.771007] usb 2-1: config 1 contains an unexpected descriptor of type 0x1, skipping
[15834.771050] usb 2-1: config 1 interface 0 altsetting 0 has 0 endpoint descriptors, different from the inter
face descriptor's value: 1
[15834.771064] usb 2-1: config 1 interface 1 altsetting 0 has 1 endpoint descriptor, different from the interf
ace descriptor's value: 2
[15834.773940] usb 2-1: New USB device found, idVendor=1a86, idProduct=55d4, bcdDevice= 4.44
[15834.773966] usb 2-1: New USB device strings: Mfr=0, Product=2, SerialNumber=3
[15834.773974] usb 2-1: SerialNumber: 54D1024937
[15834.778607] cdc_acm 2-1:1.0: skipping garbage
[15834.778622] cdc_acm: probe of 2-1:1.0 failed with error -22