Flaky early Photon

I’ve got an early Photon, from 2014 or so (definitely was the Spark.io days), that hasn’t been used, until now.

It seems to be very flaky and inconsistent, both on USB and from the cloud. I’ve got two Macs that can’t consistently talk to it, although at points, both have worked.

At first when we tried to set it up, everything went fine from the WiFI point of view but it failed to register with the cloud. Went through that several times, then tried via USB. USB seemed very flaky (sometimes would connect, sometimes said it wasn’t plugged in) but it eventually went all the way through the setup and now I see it in the online portal and on the mobile app. But although it’s “breathing cyan”, it thinks the device is offline.

At one point it said online for no obvious reason, and tinkering worked. But then it said offline, and … oh well.

So at the moment, I can’t connect via USB (“particle doctor” says there’s nothing connected, although there is, and it’s breathing cyan - and I even rebooted the Macs) and I have no idea where to go next. Any suggestions?

I’d like to just reflash it to the latest stuff and try from scratch, but I’m wondering, is this thing just too old?

Have you tried putting it in DFU Mode (blinking yellow) or Listening Mode (blinking blue)?
Usually particle doctor instructs you to put the device into one of the two modes as needed.

I just tried DFU mode, and it did at least START to reflash it. But ...


! An error occurred while attempting to update the system firmware of your device:

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

dfu-util: Error during download get_status

Please visit our community forums for help with this error:
https://community.particle.io/
The Doctor didn't complete sucesfully. Cannot read property 'code' of undefined
Please visit our community forums for help with this error:
https://community.particle.io/

And BTW, I can’t seem to repeat that a second time. Even in DFU mode, it now says “> Connect a Particle device to a USB port and run the command again.”

These are ignorable, the get_status one may pose a problem.

First find out what the current status of your device is by using particle serial inspect in Listening Mode and post the result here.
Next you may try particle update in DFU Mode.
If you should happen to have a bootloader issue, you may need to download the bootloader binary that fits the installed version and flash it via particle flash --serial <bootloader.bin>.

To exclude your currently running firmware from the list of possible causes for the issue, reflash Tinker or put the device in Safe Mode and see it connection stability is better that way.

Thanks for the help!

$ particle serial inspect
Platform: 6 - Photon
Modules
Bootloader module #0 - version 2, main location, 16384 bytes max size
Integrity: FAIL
Address Range: PASS
Platform: PASS
Dependencies: PASS
System module #1 - version 207, main location, 262144 bytes max size
Integrity: PASS
Address Range: PASS
Platform: PASS
Dependencies: PASS
System module #2 - version 207, main location, 262144 bytes max size
Integrity: PASS
Address Range: PASS
Platform: PASS
Dependencies: FAIL
System module #1 - version 207
Bootloader module #0 - version 7
User module #1 - version 5, main location, 131072 bytes max size
UUID: 7A7BCC321221F1767D7572198BC2E29C6CEB8DE216BD811ADD3F8ECE246ACDE4
Integrity: PASS
Address Range: PASS
Platform: PASS
Dependencies: PASS
System module #2 - version 207
User module #1 - version 2, factory location, 131072 bytes max size
UUID: 037803B1013023682060184638BD10B50446FFF79DF8204610BD10B50446FFF7
Integrity: PASS
Address Range: PASS
Platform: PASS
Dependencies: PASS
System module #2 - version 1

Yup, the bootloader v2 does not fly with system v207 hence this mesage

IIRC v207 stands for 0.7.0 (the 7 in both is coincidal), so you'd need this bootloader
https://github.com/particle-iot/firmware/releases/download/v0.7.0/bootloader-0.7.0-photon.bin

And I install that by going into Listening Mode and using “particle flash --serial bootloader-0.7.0-photon.bin”, right? Because it keeps telling me “Error writing firmware: No serial port identified”, which is probably the same flaky USB issue and maybe it’ll start working one of these attempts …

I’m a Windows guy and on my machines CLI manages to detect the port automatically.
If it fails to do so on your machine, you’d need to add the --port switch followed by the respective /dev/... path to your serial device.

I unplugged/repluggged several times, etc … and it eventually worked! I ended up with a solid green status LED. Not clear what that means, but I reflashed “tinker” and now everything appears to be okay. So, I’m up and running at this point, and “particle serial inspect” is passing every test. So hopefully I’m over the hump. Really appreciate the help! I’ll return if it gets flaky again.

2 Likes