Flashing red (key error). Spark doctor and dfu-util failing

Brand new spark core. I was able to send it my wifi credentials via mobile app. Now I get fast flashing cyan followed by fast flashing red. Looks like a key issue. I did a deep update and reinstalled tinker through USB. This all worked fine (and dfu-util works fine here) but the key issue remains.

root@user-Peppy:/tmp/sadf# dfu-util -d 1d50:607f -a 1 -s 0x00002000 -v -v -D core_private.der
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 dfu-util@lists.gnumonks.org

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 1d50:607f
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #1 ...
Determining device status: state = dfuERROR, status = 10
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 1024
DfuSe interface name: "SPI Flash : SST25x"
Memory segment at 0x00000000 512 x 4096 = 2097152 (rew)
Downloading to address = 0x00002000, size = 610
Download	[                         ]   0%            0 bytesErasing page size 4096 at address 0x00002000, page starting at 0x00002000
   Poll timeout 50 ms
dfu-util: Error during special command "ERASE_PAGE" get_status

I have tried recompiling dfu-util changing the polling from 5 to 50 ms and even 500 ms and no change on this error. And I have tried:

root@user-Peppy:/tmp/sadf# spark keys doctor 54ff73066672524813250167 --force
Error loading command /usr/lib/node_modules/spark-cli/commands/SerialCommand.js Error: Cannot find module 'node-wifiscanner'
Error loading command /usr/lib/node_modules/spark-cli/commands/SetupCommand Error: Cannot find module '../../lib/Apiclient2'
Error loading command /usr/lib/node_modules/spark-cli/commands/WirelessCommand Error: Cannot find module 'node-wifiscanner'
!!! We have news! Spark has rebranded as Particle
!!! Learn more at http://blog.particle.io/2015/05/13/spark-is-now-particle/

!!! particle-cli is the new CLI tool. spark-cli is now deprecated.
!!! Install it now by running npm install -g particle-cli
running dfu-util -l
Found DFU device 1d50:607f
Apparently I didn't find a DFU device? util said  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 dfu-util@lists.gnumonks.org

Found DFU: [1d50:607f] ver=0200, devnum=49, cfg=1, intf=0, alt=1, name="@SPI Flash : SST25x/0x00000000/512*04Kg", serial="6D7524674852"
Found DFU: [1d50:607f] ver=0200, devnum=49, cfg=1, intf=0, alt=0, name="@Internal Flash  /0x08000000/20*001Ka,108*001Kg", serial="6D7524674852"

running openssl genrsa -out 54ff73066672524813250167_new.pem 1024
running openssl rsa -in 54ff73066672524813250167_new.pem -pubout -out 54ff73066672524813250167_new.pub.pem
running openssl rsa -in 54ff73066672524813250167_new.pem -outform DER -out 54ff73066672524813250167_new.der
New Key Created!
running dfu-util -l
Found DFU device 1d50:607f
Apparently I didn't find a DFU device? util said  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 dfu-util@lists.gnumonks.org

Found DFU: [1d50:607f] ver=0200, devnum=49, cfg=1, intf=0, alt=1, name="@SPI Flash : SST25x/0x00000000/512*04Kg", serial="6D7524674852"
Found DFU: [1d50:607f] ver=0200, devnum=49, cfg=1, intf=0, alt=0, name="@Internal Flash  /0x08000000/20*001Ka,108*001Kg", serial="6D7524674852"

running dfu-util -l
Found DFU device 1d50:607f
Apparently I didn't find a DFU device? util said  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 dfu-util@lists.gnumonks.org

Found DFU: [1d50:607f] ver=0200, devnum=49, cfg=1, intf=0, alt=1, name="@SPI Flash : SST25x/0x00000000/512*04Kg", serial="6D7524674852"
Found DFU: [1d50:607f] ver=0200, devnum=49, cfg=1, intf=0, alt=0, name="@Internal Flash  /0x08000000/20*001Ka,108*001Kg", serial="6D7524674852"

running dfu-util -d 1d50:607f -a 1 -s 0x00002000:1024 -U pre_54ff73066672524813250167_new.der
running openssl rsa -in pre_54ff73066672524813250167_new.der -inform DER -pubout  -out pre_54ff73066672524813250167_new.pub.pem
Error saving key from device... Error: Command failed: unable to load Private Key
140170135094944:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:asn1_lib.c:150:

Error saving key to device... Error: Command failed: unable to load Private Key
140170135094944:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:asn1_lib.c:150:

Make sure your device is in DFU mode (blinking yellow), and that your computer is online.
Error - Error: Command failed: unable to load Private Key
140170135094944:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:asn1_lib.c:150:

and yes it’s flashing yellow

And I’ve tried the particle version of these tools as well:

root@user-Peppy:/tmp/sadf# particle keys doctor 54ff73066672524813250167 --forcerunning dfu-util -l
Found DFU device 1d50:607f
Apparently I didn't find a DFU device? util said  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 dfu-util@lists.gnumonks.org

Found DFU: [1d50:607f] ver=0200, devnum=49, cfg=1, intf=0, alt=1, name="@SPI Flash : SST25x/0x00000000/512*04Kg", serial="6D7524674852"
Found DFU: [1d50:607f] ver=0200, devnum=49, cfg=1, intf=0, alt=0, name="@Internal Flash  /0x08000000/20*001Ka,108*001Kg", serial="6D7524674852"

running openssl genrsa -out 54ff73066672524813250167_new.pem 1024
running openssl rsa -in 54ff73066672524813250167_new.pem -pubout -out 54ff73066672524813250167_new.pub.pem
running openssl rsa -in 54ff73066672524813250167_new.pem -outform DER -out 54ff73066672524813250167_new.der
New Key Created!
Make sure your device is in DFU mode (blinking yellow), and that your computer is online.
Error - TypeError: Object #<Object> has no method 'writeKeyToCore'
root@user-Peppy:/tmp/sadf# 

dmesg clearly shows the DFU device is present and the fact that I can do a deep update also shows this.

xubuntu 14.04
node 0.10.38

Try:

  • particle keys new core_id
  • particle keys load core_id.der
  • particle keys send core_id.pub.pem

2nd step fails, as it did in my original post:

root@user-Peppy:/tmp/anotherTry# particle keys load core_id.der
running dfu-util -l
Found DFU device 1d50:607f
Apparently I didn't find a DFU device? util said  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 dfu-util@lists.gnumonks.org

Found DFU: [1d50:607f] ver=0200, devnum=49, cfg=1, intf=0, alt=1, name="@SPI Flash : SST25x/0x00000000/512*04Kg", serial="6D7524674852"
Found DFU: [1d50:607f] ver=0200, devnum=49, cfg=1, intf=0, alt=0, name="@Internal Flash  /0x08000000/20*001Ka,108*001Kg", serial="6D7524674852"

Error saving key to device... TypeError: Object #<Object> has no method 'saveKeyFromCore'

and if you prefer node 0.12.5 over 0.10.38 you get this error instead:

root@user-Peppy:/tmp/anotherTry# particle keys load core_id.der
Error loading command /usr/local/lib/node_modules/particle-cli/commands/CloudCommands.js Error: Cannot find module '/usr/local/lib/node_modules/particle-cli/node_modules/serialport/build/serialport/v1.7.4/Release/node-v14-linux-x64/serialport.node'
Error loading command /usr/local/lib/node_modules/particle-cli/commands/SerialCommand.js Error: Cannot find module '/usr/local/lib/node_modules/particle-cli/node_modules/serialport/build/serialport/v1.7.4/Release/node-v14-linux-x64/serialport.node'
running dfu-util -l
Found DFU device 1d50:607f
Apparently I didn't find a DFU device? util said  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 dfu-util@lists.gnumonks.org

Found DFU: [1d50:607f] ver=0200, devnum=49, cfg=1, intf=0, alt=1, name="@SPI Flash : SST25x/0x00000000/512*04Kg", serial="6D7524674852"
Found DFU: [1d50:607f] ver=0200, devnum=49, cfg=1, intf=0, alt=0, name="@Internal Flash  /0x08000000/20*001Ka,108*001Kg", serial="6D7524674852"

Error saving key to device... TypeError: undefined is not a function

and I have tried other USB cables and other USB ports as well.

@whyameye did you managed to resolve this?

I went back and force with tech support. For some reason it wouldn’t flash updated firmware although other cores would. They finally sent me a replacement.

1 Like