ESP32-S3 Not able to flash over DFU

slare09
Posts: 8
Joined: Wed Aug 02, 2023 1:32 pm

ESP32-S3 Not able to flash over DFU

Postby slare09 » Sat Aug 19, 2023 9:19 pm

Hi everyone,

I'm trying to flash some firmware over DFU on the ESP32-S3-DevKitC-1, but I'm unable to do this, I keep getting

Code: Select all

No DFU capable USB device available
CMake Error at C:/esp/esp-idf-master/esp-idf/tools/cmake/run_dfu_util.cmake:27 (message):
  dfu-util failed
I've managed this before on the ESP32-S2 without any issues, but I'm not getting there with the ESP32-S3 and I need some help.

Flow:
  • Connect devkit with good USB cable (on USB marked port, not the UART port)
  • I put the device in boot mode (toggle reset while pressing boot)
  • Checked the drivers for the interfaces for with Zadig (both WinUSB v6.1.1.7600)
  • Run idf.py dfu-flash
The documentation mentions something about burning a fuse, but as I understand this, this isn't necessary?
Any ideas are highly appreciated ! :idea:

IDF-version: master branch v5.2
System: Windows

slare09
Posts: 8
Joined: Wed Aug 02, 2023 1:32 pm

Re: ESP32-S3 Not able to flash over DFU

Postby slare09 » Mon Aug 21, 2023 7:14 pm

Anybody? :(

ESP_Sprite
Posts: 9766
Joined: Thu Nov 26, 2015 4:08 am

Re: ESP32-S3 Not able to flash over DFU

Postby ESP_Sprite » Tue Aug 22, 2023 1:27 am

You do indeed need to burn that fuse, otherwise you're talking to the USB-serial-JTAG peripheral.

slare09
Posts: 8
Joined: Wed Aug 02, 2023 1:32 pm

Re: ESP32-S3 Not able to flash over DFU

Postby slare09 » Tue Aug 22, 2023 6:51 am

Thank you for your response.

I'm trying to burn the eFuse now, but I'm not able to run the espefuse.py tool on the USB-Port... (when board in runtime and in boot mode).
I am able to run this tool when I connect to the UART-USB-Port, but I don't want that because my custom boards do not have an on board USB-to-UART bridge.

When connecting to the USB-port I see the following behavior:
  • In runtime mode, showing up as COM23, I am able to see serial output via vsCode and via Putty
  • In runtime mode, showing up as COM23, I am not able to run espefuse.py:

    Code: Select all

    A fatal error occurred: Failed to connect to Espressif device: No serial data received.
  • In boot mode, showing up as Universal Serial Bus Devices (no COM port), I am not able to see any serial output because I don't have a valid COM port
Output:

Code: Select all

C:\Users\USER\esp\projects\hello_world>espefuse.py --port COM23 summary
espefuse.py v4.7.dev1
Connecting......................................

A fatal error occurred: Failed to connect to Espressif device: No serial data received.
For troubleshooting steps visit: https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html
Please make sure that you have specified the right port with the --port argument
As always, any tips are very welcome.

slare09
Posts: 8
Joined: Wed Aug 02, 2023 1:32 pm

Re: ESP32-S3 Not able to flash over DFU

Postby slare09 » Wed Aug 23, 2023 7:44 pm

So I got it working, but not on my laptop.

I've connected the same device on a different laptop and there it worked without any problem:
  • Connected the USB port and put the device in boot mode
  • A COM port appeared on the device manager
  • Flashed the eFuse without any problems
  • Managed to upload the firmware with DFU
I guess there is something wonky with the drivers on my original laptop.
For reference, the drivers listed on the working laptop before flashing the eFuse were:
  • Interface 0 - usbser (v10.0.18362.1)
  • Interface 2 - WINUSB (v10.0.18362.1)
After burning the eFuse:
  • Interface 0 - usbser (v10.0.18362.1)
  • Interface 2 - (NONE)
Next I configured the WinUSB driver for interface 2 with Zadig, then I was able to flash the firmware with DFU.

Who is online

Users browsing this forum: No registered users and 110 guests