Bug: Particle Photon goes online, but never runs firmware

A couple weeks ago, I did my bi-annual workshop using Photon with my students. This year it was especially challenging since they all study from home and we did the workshop using Zoom. Having used the Photon with great success for 5 years, I was really surprised to see a brand new bug pop up. Several (but not all) of the students had problems getting their Photons to accept code. I just pulled out a Photon to do some prototyping and this is indeed a bug that can affect all users.

Symptoms: you unpack a brand new Photon, plug it in, set it up via App, upload the Blink example using the Web IDE and it starts it’s normal exchange with the Particle servers. This is about two minutes of flashing/blinking purple and after this, the Photon should run the firmware you just uploaded. This no longer happens. Now you’ll instead get a Photon in Safe mode breathing purple.

Problem: new Photon’s ship with version 0.5.5. It’s currently impossible to flash a Photon with device OS 0.5.5 with the cloud solutions. These Photon’s were purchased as a batch of 20 from Digikey March 11th 2020, so this applies to current stock.

Solution: doing a “particle update” via command line as this guy also found. This is however not a solution, but rather a bug-fix.

Given that my students are tech-savvy, it wasn’t too hard to get them up and running via CLI, but it took an extra hour to solve the problem for all students. It won’t be like this for new users on the Particle platform. If they cannot get “Hello World” to work without first installing the app and then Node.js, I am certain that many of them will just give up and go for a solution that just works.

This should be fixed very quickly given that Particle Photon is the currently most recent Wifi-product now that the Argon/Boron/Xenon is discontinued.

Thanks for sharing @jenschr! I’ve forwarded along to the team and we’ll post updates here.

Just one minor point of clarification, however…

The Argon and Boron have not been discontinued and are very much still supported, along with the Photon and Electron. Only the Xenon has been impacted by Mesh deprecation.

1 Like

@jenschr, can you run particle serial inspect and post the output here?

I knew you’d ask for that so I captured that before upgrading the device via CLI :wink:

Your device id is 320041000d473733343XXXXX
Your system firmware version is 0.5.5

Strike that - what I did was just a “particle identify”. The device is now upgraded from 0.5.5 to 1.5.0 via CLI (so i could use it), but the Serial inspect output is this:

Platform: 6 - Photon
Modules
  Bootloader module #0 - version 501, main location, 16384 bytes max size
    Integrity: PASS
    Address Range: PASS
    Platform: PASS
    Dependencies: PASS
  System module #1 - version 1502, main location, 262144 bytes max size
    Integrity: PASS
    Address Range: PASS
    Platform: PASS
    Dependencies: PASS
      System module #2 - version 207
  System module #2 - version 1502, main location, 262144 bytes max size
    Integrity: PASS
    Address Range: PASS
    Platform: PASS
    Dependencies: PASS
      System module #1 - version 1502
      Bootloader module #0 - version 400
  User module #1 - version 5, main location, 131072 bytes max size
    UUID: 97D5A8BA80FBACF67492F334A1B6D44292055B79BF09FF7B4386825499038D72
    Integrity: PASS
    Address Range: PASS
    Platform: PASS
    Dependencies: PASS
      System module #2 - version 207
  User module #1 - version 5, factory location, 131072 bytes max size
    UUID: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    Integrity: PASS
    Address Range: PASS
    Platform: PASS
    Dependencies: PASS
      System module #2 - version 23

And yes - I know that Argon and Boron are relevant as Dev boards, but I can’t put any of those in my products like I can with a P0 or P1.

1 Like

Hey @jenschr thanks again for flagging this, the team found a fix and it should be deployed to production in the next day or so. :smile:

Wow! That’s impressive fast! Great work!

2 Likes

All credit due to the engineering team, here. @avtolstoy jumped on it quick to repro and three other folks from the team pitched in to track down the problem and get a fix in place!