Discussion Forums

Can't Get a particular Duo To Connect to Cloud


I have one Duo that suddenly stopped connecting to particle with error:

0000030404 [comm.sparkprotocol.handshake] ERROR: Unable to receive key -19
0000030404 [system] WARN: Cloud handshake failed, code=-19

In the past when this has happened I am able to simply execute the following in DFU mode to sort the issue out.

particle keys server
particle keys doctor XXXXXXXXXXXXXXXXX

However, with this particulat device I get the following error from Particle CLI:

Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Error during download get_status

In response I decide I’ll just start from scratch and follow the recovery procedure outlined here which usually works fine. All the steps below execute successfully;

dfu-util -d 2b04:d058 -a 0 -s 0x08008000 -D fac-dct-r1.bin
dfu-util -d 2b04:d058 -a 0 -s 0x08020000 -D duo-system-part1-v0.3.1.bin
dfu-util -d 2b04:d058 -a 0 -s 0x08040000 -D duo-system-part2-v0.3.1.bin
dfu-util -d 2b04:d058 -a 2 -s 0x180000 -D duo-wifi-r1.bin

However, no success. After applying WiFi credentials it will not connect to the particle servers. In fact, now it will will not enter safe mode either, rather it always boots directly into the user app. This is new for me. I have not had that happen before. It seems something in the memory map may be corrupted? Is there another procedure to follow to get it back to working order?



This is the output after trying to do any commands with keys…

C:\Users\panda\github\C40-Collector\Proton Collector\Provision\Recovery>dfu-util -d 2b04:d058 -a 1 -s 34:leave -D reset_device_private_key.bin
dfu-util 0.8

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to [email protected]

Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device…
ID 2b04:d058
Run-time device DFU version 011a
Claiming USB DFU Interface…
Setting Alternate Setting #1
Determining device status: state = dfuDNLOAD-IDLE, status = 0
aborting previous incomplete transfer
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 4096
DfuSe interface name: "DCT Flash "
Downloading to address = 0x00000022, size = 1216
Download [ ] 0% 0 bytesError during download get_status

C:\Users\panda\github\C40-Collector\Proton Collector\Provision\Recovery>


So the cause turned out to be that this device had v0.3.3 on it. Not sure how that happened, but now the issue is going back to v0.3.1. That is where I am having problems. I can flash to 0.3.1, but then I have the issues above.

Can v0.3.3 be rolled back? I can;t use 0.3.3 as it consumes to much RAM. Like ~8k more than 0.3.1.