开云体育

ctrl + shift + ? for shortcuts
© 2025 开云体育

dfu-util warnings and errors (ZS405 and ZS407)


 

Hello Erick,
?
I was trying to update the both units today with latest tinySA4_v1.4-196-g1e9c187.bin
Following your your Firmware Upgrade page I did run
$ dfu-util -a 0 -s 0x08000000:leave -D ?tinySA4_v1.4-196-g1e9c187.bin

This produced following output. The bottom output if from my shell script wit reset steps.

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/

?

dfu-util: Warning: Invalid DFU suffix signature

dfu-util: A valid DFU suffix will be required in a future dfu-util release

Opening DFU capable USB device...

Device ID 0483:df11

Device DFU version 011a

Claiming USB DFU Interface...

Setting Alternate Interface #0 ...

Determining device status...

DFU state(10) = dfuERROR, status(10) = Device's firmware is corrupt. It cannot return to run-time (non-DFU) operations

Clearing status

Determining device status...

DFU state(2) = dfuIDLE, status(0) = No error condition is present

DFU mode device DFU version 011a

Device returned transfer size 2048

DfuSe interface name: "Internal Flash? "

Downloading element to address = 0x08000000, size = 186256

Erase ? [=========================] 100% ? ? ? 186256 bytes

Erase? ? done.

Download [=========================] 100% ? ? ? 186256 bytes

Download done.

File downloaded successfully

Submitting leave request...

Transitioning to dfuMANIFEST state

Reset & Calibrarion

# Connect a loop cable to CH0 and CH1 #

1. Config / Self Test

2. Config / More / Clear Config: 1234

3. Config / Level Cal / Reset Calibration

4. Config / Level Cal / Select Range

5. Config / Self Test


As you see I am running version 0.11 on my MacOS 15.3. The interesting lines are

dfu-util: Warning: Invalid DFU suffix signature

dfu-util: A valid DFU suffix will be required in a future dfu-util release

and?

DFU state(10) = dfuERROR, status(10) = Device's firmware is corrupt. It cannot return to run-time (non-DFU) operations


The first one I fixed by running and when refreshing the first message was gone.

$ dfu-suffix -a? tinySA4_v1.4-196-g1e9c187.bin -v 0483 -p df11 -d 0100

Then I did try to erase flash by running putting the device back DFU mode

?$ dfu-util -a 0 -s 0x08000000:mass-erase:force


Which produced following output

Opening DFU capable USB device...

Device ID 0483:df11

Device DFU version 011a

Claiming USB DFU Interface...

Setting Alternate Interface #0 ...

Determining device status...

DFU state(10) = dfuERROR, status(10) = Device's firmware is corrupt. It cannot return to run-time (non-DFU) operations

Clearing status

Determining device status...

DFU state(2) = dfuIDLE, status(0) = No error condition is present

DFU mode device DFU version 011a

Device returned transfer size 2048

DfuSe interface name: "Internal Flash? "

Performing mass erase, this can take a moment


Next I did try to flush again which produced a better result

Match vendor ID from file: 0483

Match product ID from file: df11

Opening DFU capable USB device...

Device ID 0483:df11

Device DFU version 011a

Claiming USB DFU Interface...

Setting Alternate Interface #0 ...

Determining device status...

DFU state(2) = dfuIDLE, status(0) = No error condition is present

DFU mode device DFU version 011a

Device returned transfer size 2048

DfuSe interface name: "Internal Flash? "

Downloading element to address = 0x08000000, size = 186256

Erase ? [=========================] 100% ? ? ? 186256 bytes

Erase? ? done.

Download [=========================] 100% ? ? ? 186256 bytes

Download done.

File downloaded successfully

Submitting leave request...

Transitioning to dfuMANIFEST state


If you approve these steps, I can upload my shell script her to files for your approval.

Robert


 

I uploaded the shell script to Files.


 

Steps are OK although?I don't understand why you would need to erase the flash memory.
Other people that did need to erase?
--
Designer of the tinySA
For more info go to


 

It was just a solution to suppress the initial error message during flushing. I am not sure yet why this message was showing in the first place. Maybe not a problem or an indicator of some hidden problems. Not sure yet.


 

Just uploaded a updated version of tinysa-ultra-upgrade.sh for files

Please let me know me know if you encounter any issues and please attach the generated log file.
?
Rob