I was working on my firmware application last night, pushing updates over the air, when I got my Photon into a weird state that I can’t seem to recover it from. Everything was going fine but then after one firmware update the device seemed to lose it’s network credentials. It just sat there blinking blue. So I tried going to through the setup process again which seemed to go fine until I got the end of the process (after entering network credentials) where the device tries to connect to the network, which never succeeded.
Now, when I power up the device is blinks green for a few seconds, then goes to blinking cyan, but it never gets to the breathe sequence, after several seconds it flashes red (from what I can tell just one flash) and then it goes back to blinking cyan. I have two networks, one with no security and one with WPA2 and it behaves the same for either. I tried updating the server keys over serial, which I was able to do, but that didn’t work. I’m not sure what to try next.
I also noticed that I don’t seem to be able to get the device to perform a factory reset. It gets to the blinking yellow stage but if I keep holding SETUP it never goes to white like the docs say. How do I fix this thing?
Have you tried Safe Mode?
Photon has no factory reset feature and the Photon docs state so - I guess you are looking at the Core docs
Ah, you are right. I was looking at the Getting Started Guide and I didn’t see that it only mentioned the Core.
I have tried booting in Safe Mode and that didn’t help either. I don’t think it’s actually getting into my application code at all since it’s not connecting to the network. I’m still using the default Mode for handling the network connection.
Can you post a video of the behaviour in Safe Mode (including your action to initiate Safe Mode)?
Sure I can do that tonight. What’s the preferred way of posting videos here?
I usually post a YouTube link, but vimeo or even a DropBox link is fine.
Also I tried running
particle flash --usb tinker, which succeeds according to the command output, but it still fails to connect in the same way.
I had some WiFi and Keys issues last week with two of my Photons. This debugging firmware by @rickkas7 was very useful.
Edit: pasted wrong link…
Did you do this like that?
particle keys doctor <yourDeviceID>
particle keys server
Could it be that something has changed on your firewall settings (esp. port 5683 needs to be open)?
particle keys doctor <ID> helped some. The device now goes to breathing cyan very quickly. However, something still seems wrong. Now, it doesn’t show up in console.particle.io. I tried re-claiming it by going through the setup process and it always gets stuck on the last step where it’s waiting for the device to connect to the network, even though the device is breathing cyan.
Is this an issue?
dfu-util: Invalid DFU suffix signature dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
I can try tonight. I’ve flashed the tinker app several times with
particle flash --usb tinker though so I doubt safe mode will help.
The device enters into Safe Mode just fine. Still fails to finish the Setup process though. Using the serial setup process with the particle cli the output looks like this:
` > Requesting public key from the device...
Setting the magical cloud claim code...
Telling the Photon to apply your Wi-Fi configuration...
The Photon will now attempt to connect to your Wi-Fi network...
! Network not ready yet, retrying...
I see the device LED go blinking green then cyan, then breathing magenta to indicate that it's in Safe Mode but it never show up in the Particle cloud console and the Setup process never finishes successfully. I should not that this is a device that I have been using without a problem for months and this just started happening while working on some changes to my firmware.
Can you see the device in Web IDE?
If not, you can still claim your device via Web IDE - as long it is breathing cyan at the time.
Ah ha! Finally I’m back in action. Reclaiming it via the device ID in the web IDE did the trick! Thanks for the help @ScruffR!
So does the
particle setup command not claim the device? I had assumed that it would. Is there a way to claim a device using the CLI?
particle setup should claim the devices. But if that fails you can use Web IDE or
particle device add <deviceID>