E:\dfu-util>dfu-util -e -a 1 -D "respeaker_lite_i2s_xiao_1.0.7.bin"
dfu-util 0.9
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
No DFU capable USB device available
Zadig shows the option, “USB JTAG/serial debug unit” when I connect ReSpeaker.
Driver is WinUSB (v6.1.7600.16385).
USB ID: 303A 1001
What can I do to get the i2c firmware back on ReSpeaker Lite?
Nobody has a clue, the same as I don’t? Maybe a small hint?
In the meantime, I tried dfu-util on Linux (initially I was doing it on Windows), but result is the same.
Seeed, I was hoping for some word from your side.
Or at least somebody tell me, that I bricked the device. :-\
Hi there,
So it has a Xiao Esp32S3 on it? Just put it in Bootloader mode and reflash the firmware, The correct firmware and it should be fine.
easy mistake.
HTH
GL PJ
With “bootloader mode” you probably mean to have “boot” button pressed while powering up? I tried this many times. The problem is, there is no visual signal that boot mode is on. Should it be? Anyhow, there is no difference in uploading attempt. They all fail.
Tried also with Arduino IDE on Windows, and some tool from ESP on Linux, which name I cannot recall without computer. They all say that communication cannot be accomplished.
Is the next move to solder wires on RX TX on the chip directly and try uploading there?
me@asus:~$ dfu-util -l
dfu-util 0.11
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
me@asus:~$ lsusb
Bus 001 Device 003: ID 0c45:62c0 Microdia Sonix USB 2.0 Camera
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 3151:3020 YICHIP Wireless Device
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 005: ID 303a:1001 Espressif USB JTAG/serial debug unit
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
me@asus:~$
It is the Bus 002 Device 005.
Running commands as root gives the same results.
@jiewei.ye , I need an apology to you. I was eager to answer about the port and I did it wrong. Thanks for your help. I was able to upload FW via XMOS port. That part is solved.
However, I am still not able to upload FW from ESPHome (Home Assistant).
Manual reads “Connect the XIAO ESP32S3 to your PC via a USB Type-C cable.”. So, this is now the other USB port as before. On the very top from the picture above. When connected, it reads COM 5. In Zadig, “USB Serial” driver is used. If I try “WinUSB”, then the device will not show up in the ports list or in the list of available devices in ESPHome.
Attempts to upload FW from ESPHome to device “USB JTAG/serial debug unit (COM5) - paired” fail with a message “Failed to initialize. Try resetting your device or holding the BOOT button while selecting your serial port until it starts preparing the installation.”. Following instructions from the message gives the same results. Before the fail message appears, device sounds with scratch sounds a few times.
Is the way I am doing it correct?
Is there a better way to upload FW to the XIAO ESP?
Yes, you are doing right. Powering off first, holding the BOOT button and then re-connecting the Type C cable to XIAO ESP32S3 is the way to let it start in “boot” mode. Then you will be able to upload esphome firmware to it.
HI there,
With Boot button held down and USB cable plugged in as you hold it down.
Does it show up comm port?
Is USB cable true USB-C cable?
If connected to PC and you hold boot button and Press and hold reset button for 10 seconds and release only Reset button then Boot button does the com port change?
I will be ordering one of these Soon to test with, So I can go hands on.
The S3 is a good choice, lots of options but a little tricky to Implement all of it.
With Boot button held down and USB cable plugged in as you hold it down.
Does it show up comm port?
Yes. Behaviour is the same as when I do not hold the boot button pressed.
Is USB cable true USB-C cable?
Yes.
If connected to PC and you hold boot button and Press and hold reset button for 10 seconds and release only Reset button then Boot button does the com port change?
No, it always reads COM 5.
I will be ordering one of these Soon to test with, So I can go hands on.
The S3 is a good choice, lots of options but a little tricky to Implement all of it.
I am sure you will not make such a mess as I did. Have I ever mentioned that out of the box the thing worked?
hi there,
LOL, Welcome to testing…
They always do but we want more…
Stay on it , your close you’ll get it.
SO is there a BIN or flash file that is the factory stuff?
if so as a safety net. I would blank the S3 and re-image it.
Does it show up in the Arduino IDE?
Ok, SO I just ordered one… I got it without the Xiao soldered I’ll put a socket on there.
HTH
GL PJ
Stay tuned.!
Chip shows in Arduino, but when I try to upload a program, it always ends up with the following:
Sketch uses 235997 bytes (7%) of program storage space. Maximum is 3342336 bytes.
Global variables use 18192 bytes (5%) of dynamic memory, leaving 309488 bytes for local variables. Maximum is 327680 bytes.
esptool.py v4.5.1
Serial port COM5
Connecting......................................
A fatal error occurred: Failed to connect to ESP32-S3: No serial data received.
For troubleshooting steps visit: https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html
May I ask again, if there should be some visual signal when ESP is in the bootloader mode?
HI there,
In the tools menu You can set it debug level and it will output some info when it resets.
Unfortunatly there isn’t any indication other than the current program will stop.
I used the factory firmware on the S3 wiki page.
Extracted it to a folder and ran the Bat file with the S3 connected while holding the boot button down. ( I do get a windows chime port found), also worth noting if at this point I have Arduino IDE open and I open the serial monitor and I set baud rate to 115200 then Close and open the serial monitor again, the monitor (the Xiao spits this out to the port) ESP-ROM:esp32s3-20210327
message (it’s in bootloader mode) and you can keep doing it.
When you press and hold the BOOT key while powering up and then press the Reset key once, you can also enter BootLoader mode.
After the factory firmware is restored it IS back to the touch demo when it was new.
press the reset button and I get a message "[ 255][I][esp32-hal-psram.c:96] psramInit(): PSRAM enabled"
BTW the core Debug level is set to “None” in the tools menu.
HTH
GL PJ
In short
Reflash the Xiao with factory BAT file , then verify. (touching pins lights LED)
go back to Bootloader mode with Holding the Boot button and plugging in USB
Obviously I have a problem with uploading FW from Windows. I cannot make it work (any more).
Luckily, I have an ancient spare laptop. Installed Linux and esptool package on it. This way, I was able to upload original FW, as instructed here, using command
After uploading Home Assistant program and also respeaker_lite_i2s_dfu_firmware_v1.0.8.bin, the device is visually again in the same condition as from the beginning (RGB LED on, speaker make scratch sounds). What is not working is voice command in Home Assistant. Initially it worked.
Will put this on hold until my new mini PC arrives. I’ll install Debian desktop there and hopefully will be able to work normally.
Solved.
It was Windows problem. Well, it still is.
I got new minicomputer today, installed Debian, added all permissions to the USB port of ESP and uploading from ESPHome works. ReSpeaker listens to me again.
Not sure what is the Windows problem. Something with drivers for sure.