Page 1 of 1

ESP32-S3: Unable to use DFU

Posted: Sat Jun 18, 2022 6:05 am
by stockywell
Hi,
I have a custom board with a ESP32-S3-WROOM-1 module. The USB_PHY_SEL eFuse has been burnt, however the device cannot be detected by dfu-util when in download mode.

Using a separate USB-UART converter on UART0 I can see that it's in download mode, and flash it via UART. Also, I can run a simple application that enables USB-CDC through TinyUSB and this works fine.

I have tried on MacOS as well as Windows and it just doesn't seem to work. Is there something I'm missing?

Attached is the eFuse summary, and below is the ESP-ROM version (are there multiple revisions of the ESP32-S3 chip?)

Code: Select all

ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
Thanks.

Re: ESP32-S3: Unable to use DFU

Posted: Tue Nov 15, 2022 8:06 am
by marclee
I have the same problem here. And the same problem is also described there: https://esp32.com/viewtopic.php?f=12&t=26795
It seems that nobody has solved the problem yet. Is there anybody from Espressif staff who could help?

This is my code I used to burn the efuse bit:
  1. const esp_efuse_desc_t efuse_USB_PHY_SEL[] = { { EFUSE_BLK0, 121, 1 } };
  2. const esp_efuse_desc_t* efuse_field[] = { &efuse_USB_PHY_SEL[0], NULL };
  3. ESP_LOGI(TAG, "eFuse bit USB_PHY_SEL = %u", esp_efuse_read_field_bit(efuse_field));
  4. esp_efuse_write_field_bit(efuse_field);
  5. ESP_LOGI(TAG, "-> eFuse bit USB_PHY_SEL = %u", esp_efuse_read_field_bit(efuse_field));

As a result ESP32-S3 can't be recognized from my PC anymore and even in DFU mode it doesn't appear anymore.

ESP32-S3-WROOM-1-N8R8
ESP-IDF v5.0-beta1-829-g3f2f35bd5e

The UART console shows that ESP32-S3 is in DFU mode:
  1. ESP-ROM:esp32s3-20210327
  2. Build:Mar 27 2021
  3. rst:0x1 (POWERON),boot:0x20 (DOWNLOAD(USB/UART0))
  4. waiting for download

Re: ESP32-S3: Unable to use DFU

Posted: Tue Nov 15, 2022 11:36 am
by chegewara
marclee wrote:
Tue Nov 15, 2022 8:06 am
I have the same problem here. And the same problem is also described there: https://esp32.com/viewtopic.php?f=12&t=26795
It seems that nobody has solved the problem yet. Is there anybody from Espressif staff who could help?
I dont understand how can you say that nobody solved it yet, when i clearly said few times and also included pictures from windows proving it is working:
https://esp32.com/viewtopic.php?f=12&t= ... =20#p95651

Yet again, there is official espressif documentation about using zadig under windows:
https://docs.espressif.com/projects/esp ... ndows-only

If its not clear maybe its good to ask to update it.

Another prove is here. This is windows in VM, the only connected USB device is esp32-s3. As you can see 2 devices are detected, esp-s3 not recognized and com19, serial port. This is device with USB_PHY_SEL burned
windows-s3.png
windows-s3.png (25.87 KiB) Viewed 2559 times
And here is another esp32-s3 without USB_PHY_SEL burned. As you can see only serial port com21 detected:
windows-s3-2.png
windows-s3-2.png (23.36 KiB) Viewed 2559 times

Re: ESP32-S3: Unable to use DFU

Posted: Tue Nov 15, 2022 11:37 am
by chegewara
On linux it looks like this. Differently detected S3 with and without burned efuse and only 1 is detected as DFU capable:
Screenshot from 2022-11-15 12-31-21.png
Screenshot from 2022-11-15 12-31-21.png (4.41 KiB) Viewed 2558 times
Screenshot from 2022-11-15 12-34-26.png
Screenshot from 2022-11-15 12-34-26.png (48.55 KiB) Viewed 2558 times

Re: ESP32-S3: Unable to use DFU

Posted: Tue Nov 15, 2022 4:08 pm
by marclee
So why don't you tell us how to get it working?