You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adafruit Feather ESP32-S3 TFT
(but I believe this will apply to all ESP32-S3 boards)
Hardware Configuration
No response
How is Esptool Run
from any environment
Full Esptool Command Line that Was Run
esptool.py -p /dev/ttyXXX read_mac # or anything
Esptool Output
Normal output is generally normal:
% esptool.py -p /dev/ttyACM0 read_mac
esptool.py v4.1
Serial port /dev/ttyACM0
Connecting....
Detecting chip type... ESP32-S3
Chip is ESP32-S3
Features: WiFi, BLE
Crystal is 40MHz
MAC: f4:12:fa:59:69:84
Uploading stub...
Running stub...
Stub running...
MAC: f4:12:fa:59:69:84
Hard resetting via RTS pin...
However, in esptool.py, self.uses_usb() is returning false in this mode. The implementation of uses_usb() checks a magic value in the ROM's data segment (UARTDEV_BUF_NO = 0x3FCEF14C) to see if it indicates USB loading (UARTDEV_BUF_NO_USB = 3). However in my experiments this value is 4, not 3. This is for example why _check_if_can_reset() (checking for GPIO0 forced-bootloader mode that prevents resetting, I think?) isn't working as expected on the ESP32-S3.
### More Information
_No response_
### Other Steps to Reproduce
_No response_
### I Have Read the Troubleshooting Guide
- [X] I confirm I have read the troubleshooting guide.
The text was updated successfully, but these errors were encountered:
github-actionsbot
changed the title
esptool.py doesn't correctly detect integrated USB bootloader on ESP32-S3
esptool.py doesn't correctly detect integrated USB bootloader on ESP32-S3 (ESPTOOL-484)
Jul 14, 2022
as I explained in the PR, uses_usb() is meant to check for the USB-OTG mode and has nothing to do with the USB-Serial/JTAG mode. _check_if_can_reset() is supposed to run only in USB-OTG mode.
Operating System
(all known)
Esptool Version
v4.1-16-g762e381
Python Version
python 3.10.4
Chip Description
ESP32-S3
Device Description
Adafruit Feather ESP32-S3 TFT
(but I believe this will apply to all ESP32-S3 boards)
Hardware Configuration
No response
How is Esptool Run
from any environment
Full Esptool Command Line that Was Run
esptool.py -p /dev/ttyXXX read_mac # or anything
Esptool Output
However, in
esptool.py
,self.uses_usb()
is returning false in this mode. The implementation ofuses_usb()
checks a magic value in the ROM's data segment (UARTDEV_BUF_NO = 0x3FCEF14C
) to see if it indicates USB loading (UARTDEV_BUF_NO_USB = 3
). However in my experiments this value is 4, not 3. This is for example why_check_if_can_reset()
(checking for GPIO0 forced-bootloader mode that prevents resetting, I think?) isn't working as expected on the ESP32-S3.The text was updated successfully, but these errors were encountered: