Skip to content

Instantly share code, notes, and snippets.

@omsai
Created January 2, 2025 15:40
Show Gist options
  • Save omsai/885bb79b020c2463dad667a24c14c278 to your computer and use it in GitHub Desktop.
Save omsai/885bb79b020c2463dad667a24c14c278 to your computer and use it in GitHub Desktop.
Post that triggers Cloudfare to block previewing or posting on Adafruit forums
IOError reading chip_id from OTP ROM of Adafruit Metro ESP32-S2 Express Beta, PID 4775
---
I just plugged in using my board for the first time and I'm following the instructions on this page https://learn.adafruit.com/adafruit-magtag/rom-bootloader however when I get this error:
[code]
$ esptool.py --port /dev/ttyACM0 chip_id
esptool.py v4.8.1
Serial port /dev/ttyACM0
Connecting...
Traceback (most recent call last):
File "/home/omsai/.local/bin/esptool.py", line 37, in <module>
esptool._main()
File "/home/omsai/.local/lib/python3.9/site-packages/esptool/__init__.py", line 1314, in _main
main()
File "/home/omsai/.local/lib/python3.9/site-packages/esptool/__init__.py", line 803, in main
esp = esp or get_default_connected_device(
File "/home/omsai/.local/lib/python3.9/site-packages/esptool/__init__.py", line 1193, in get_default_connected_device
_esp = detect_chip(
File "/home/omsai/.local/lib/python3.9/site-packages/esptool/cmds.py", line 99, in detect_chip
detect_port.connect(connect_mode, connect_attempts, detecting=True)
File "/home/omsai/.local/lib/python3.9/site-packages/esptool/loader.py", line 730, in connect
last_error = self._connect_attempt(reset_strategy, mode)
File "/home/omsai/.local/lib/python3.9/site-packages/esptool/loader.py", line 606, in _connect_attempt
reset_strategy() # Reset the chip to bootloader (download mode)
File "/home/omsai/.local/lib/python3.9/site-packages/esptool/reset.py", line 47, in __call__
self.reset()
File "/home/omsai/.local/lib/python3.9/site-packages/esptool/reset.py", line 114, in reset
self._setDTRandRTS(False, False)
File "/home/omsai/.local/lib/python3.9/site-packages/esptool/reset.py", line 89, in _setDTRandRTS
fcntl.ioctl(self.port.fileno(), TIOCMSET, struct.pack("I", status))
[/code]
I see a similar error reported on GitHub (https://github.com/espressif/esptool/issues/333) but don't know to what extent those suggestions apply to the Adafruit board?
Details of my system:
[code]
$ groups
omsai adm dialout sudo plugdev lpadmin stapdev
$ file /dev/ttyACM0
/dev/ttyACM0: character special (166/0)
$ python3 --version
Python 3.9.2
$ uname -a
Linux xm2 6.1.0-0.deb11.21-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1~bpo11+1 (2024-05-06) x86_64 GNU/Linux
$ lsusb -d 303a: -v |& awk '/Configuration Descriptor/ {exit}; {print}'
Bus 001 Device 016: ID 303a:0002 Espressif ESP32-S2
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x303a
idProduct 0x0002
bcdDevice 7.23
iManufacturer 1 Espressif
iProduct 2 ESP32-S2
iSerial 3 0
bNumConfigurations 1
[/code]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment