Application Firmware Didn't Get Updated

We are using P1 and I was trying to update some products at the users homes but I end up with the old firmware.

I have a variable indicating the version that can pulled from particle get command. The OTA flashing says “Flash device OK: update started” and I double checked the system firmware is matched with my compile target – 0.6.3.

I tried on some boards in the office and they worked fine. Any ideas?

Do you have a user device you can observe during the download? Does your P1 device have the status LED implemented? And so can you see if it flashes an error code right after the download? I have found the console “update started” message an unreliable indicator for knowing the update actually took place.

On one of the devices in my office, I saw 13 red blinks after SOS. That is a stack overflow.

But that device got updated and started breathing cyan after resetting itself after the SOS pattern. Also, I don’t see any SOS happening if I flash the device via DFU mode.

OK I solved the problem by flashing tinker to the device first and then the new firmware. Now it has the new firmware.

But I am still worried because we have fleet flashing function updating all units out there. If the return value “OK” is not reliable, we will miss updating some of the units.

Any idea about the root cause?