How to configure debugging (ESP32S3)

Hello,
I would like to start debugging my ESP32S3-devkit but I do not get it working.

It says that the ESP32S3 is ready for debugging an does not need additional hardware.(So I do asume that I do not need the esp prog)
https://docs.platformio.org/en/latest/boards/espressif32/esp32-s3-devkitc-1.html

As Hardware I use the official ESP32S3 devkit and the hello world example for the IDF in PlatformIO.
https://www.google.com/search?client=firefox-b-d&q=esp32s3+devkit

This is how I changed the platformio.ini but I am not sure if that is correct ( I tried it from different sources but I did not got it working)

;
;   Build options: build flags, source filter, extra scripting
;   Upload options: custom port, speed and extra flags
;   Library options: dependencies, extra library storages
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[env]
platform = espressif32
framework = espidf
monitor_speed = 115200
debug_tool = esp-builtin
debug_init_break = tbreak setup
upload_protocol = esp-builtin
debug_port = /dev/ttyACM0
upload_port = /dev/ttyUSB1
debug_speed = 500

[env:esp32-s3-devkitc-1]
board = esp32-s3-devkitc-1

[env:esp32dev]
board = esp32dev

[env:esp32-s2-kaluga-1]
board = esp32-s2-kaluga-1

[env:esp32-c3-devkitm-1]
board = esp32-c3-devkitm-1

[env:esp32-c6-devkitc-1]
board = esp32-c6-devkitc-1

In the Debug console I get this output after the image is compiled:

------------------  --------  ------------
esp32-s3-devkitc-1  SUCCESS   00:00:58.870
========================= 1 succeeded in 00:00:58.870 =========================
undefinedOpen On-Chip Debugger  v0.11.0-esp32-20220706 (2022-07-06-15:48)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
Info : esp_usb_jtag: VID set to 0x303a and PID to 0x1001
Info : esp_usb_jtag: capabilities descriptor set to 0x2000
adapter speed: 40000 kHz

Warn : Transport "jtag" was already selected
adapter speed: 500 kHz

Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Error: libusb_open() failed with LIBUSB_ERROR_ACCESS
Error: esp_usb_jtag: could not find or open device!

Reading symbols from /home/djpx/Dokumente/PlatformIO/Projects/230903-021721-espidf-hello-world/.pio/build/esp32-s3-devkitc-1/firmware.elf...
Warning: 'set target-async', an alias for the command 'set mi-async', is deprecated.
Use 'set mi-async'.

PlatformIO Unified Debugger -> https://bit.ly/pio-debug
PlatformIO: debug_tool = esp-builtin
PlatformIO: Initializing remote target...
Warning: 'flushregs', an alias for the command 'maintenance flush register-cache', is deprecated.
Use 'maintenance flush register-cache'.

It says that it can not open the device
Error: esp_usb_jtag: could not find or open device!
How can I fix that or is it a problem which rised because of another problem?

I connected the UART and USB ports with my computer
The computer runs (Linux/Fedora 38)
The IDE is VSCode with PlatformIO

I am really glad for any help :smiley:

I’m facing the same issue right now.

Have you managed to succeed in debugging?

With thanks,
Hamza

I’ve been wading through the muck also. I see something I believe may be your issue:
"
Error: libusb_open() failed with LIBUSB_ERROR_ACCESS
Error: esp_usb_jtag: could not find or open device!
"
I used to receive this, and to get it to work:

  1. Download and open Zadig.
  2. In Zadig, click Options → List All Devices
  3. On the ESP32-S3, hold the BOOT and RESET buttons.
  4. Release RESET button.
  5. Release BOOT button.
  6. You’ll see, "USB JTAG/serial debug unit (Interface 2)
    6a. VERIFY YOU HAVE INTERFACE 2 SELECTED
  7. Select driver “libusbK (v3.1.0.0)”
  8. Then “Update Driver” (or replace driver is there is a existing driver)

These steps won’t get you all the way there, but it should remove the “Error: libusb_open() failed with LIBUSB_ERROR_ACCESS” error.

1 Like

OP stated they are running Fedora Linux.

Zadig is a USB driver package for Windows only. It is not designed in any way for USB support on Linux.