I have been working all weekend with this little guy, but all of a sudden after one of many restarts it got stuck blinking green. I tried putting it in safe mode and reflashing tinker but kept saying it failed.
I then did a WIFI reset on it (hold RESET for 10 seconds until flashing blue LED), but each time I try to go through the setup process using the Tinker app on my iPhone it gets to the last step (verifying device ownership) and fails.
I have tried even enabling my guest WIFI network without credentials but same problem. All my other devices are working fine. This thing is just dead now, constantly blinking cyan (and occasionally flashes orange).
Can someone please help, surely this thing has not become a $20 brick from a simple reboot?!
That's the kind of key information you want to tell us asap. If you'd searched for that on the forums, you'd have found countless topics discussing this, along with many offering solutions.
Somehow, your keys got corrupted during the reboot, which you should be able to fix with the CLI and the so called 'keys doctor' command.
Give the forums a quick search with these terms, and you should be up and running relatively quickly
Also tried the 'particle keys doctor ’ with the following output (I replaced my actual device id with ‘my device id’);
particle-cli v1.20.1
! A newer version (1.21.0) of particle-cli is available.
! Upgrade now by running: npm install -g particle-cli
Found DFU device 2b04:d006
Found DFU device 2b04:d006
New Key Created!
Found DFU device 2b04:d006
Found DFU device 2b04:d006
Saved!
spawning dfu-util -d 2b04:d006 -a 1 -i 0 -s 34:leave -D <my device id>_rsa_new.der
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/
dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Deducing device DFU version from functional descriptor length
Opening DFU capable USB device...
ID 2b04:d006
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #1 ...
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 = 609
Download [=========================] 100% 609 bytes
Download done.
File downloaded successfully
Saved!
attempting to add a new public key for device 3c0021001547353236343033
submitting public key succeeded!
Okay! New keys in place, your device should restart.
The device rebooted with the same result - sitting flashing cyan with an occasional slower orange flash twice.
You can write the code in Web IDE, download the binary via the cloud symbol next to the app name in Web IDE and flash the downloaded binary in DFU Mode via
Crap, so tried that and now it's stuck in DFU mode!
particle-cli v1.20.1
! A newer version (1.21.0) of particle-cli is available.
! Upgrade now by running: npm install -g particle-cli
Found DFU device 2b04:d006
spawning dfu-util -d 2b04:d006 -a 0 -i 0 -s 0x080A0000:leave -D photon_0.6.2_firmware_1496646838501.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/
dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Deducing device DFU version from functional descriptor length
Opening DFU capable USB device...
ID 2b04:d006
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 4096
DfuSe interface name: "Internal Flash "
Downloading to address = 0x080a0000, size = 5172
Download [=========================] 100% 5172 bytes
Download done.
File downloaded successfully
Flash success!
Okay did that, now running CLI 1.22.0, firmware update worked fine too (particle update).
Now back to the flashing cyan but with occasional 2 slower orange flashes, so that’s progress at least!
particle flash --usb tinker
Found DFU device 2b04:d006
spawning dfu-util -d 2b04:d006 -a 0 -i 0 -s 0x080A0000:leave -D /usr/local/lib/node_modules/particle-cli/binaries/photon_tinker.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/
dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Deducing device DFU version from functional descriptor length
Opening DFU capable USB device...
ID 2b04:d006
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 4096
DfuSe interface name: "Internal Flash "
Downloading to address = 0x080a0000, size = 3952
Download [=========================] 100% 3952 bytes
Download done.
File downloaded successfully
Flash success!
As soon as I took @ScruffR advice and then could see in the logs that the device wasn’t able to resolve the IP address for device.spark.io - it reminded me that I had set a static IP using WiFi.useStaticIP(); and pointed out I must have set a bad DNS server value. As soon as I called WiFi.useDynamicIP(); it was able to connect immediately.
I stupidly assumed that re-flashing a different firmware would reset the network settings to defaults (DHCP), but obviously those are persisted at a device level, which makes total sense.
Lesson learnt here - be careful when screwing around with the network settings!
Sorry to waste your time guys but thanks very much for your help.