I have one device ( out of about 30) that got stuck in an endless update loop. All the others have happily updated to my new code just fine.
This one device goes
spark/flash/status started
spark/flash/status success
waits a bit, then
spark/flash/status safe mode
rinse and repeat.
Then it started adding
spark/flash/status auto-update
this went on for about ten minutes
finally I saw
spark/device/last_reset panic, hard_fault
the device went through yet another auto-update, then my code finally up started properly
None of this inspires confidence. I’m concerned that with the next code release I’m going to get a permanent failure, somewhere many thousands of miles away (8,800 miles for this unit ), which is going to be a PITA for both my customers and myself.
Has this device been used as a Product device (with PRODUCT_ID()) or linked to a Product in https://console.particle.io/products at any time before?
How good is the power supply and WiFi reception of the device?
How does the device behave when manually out in Safe Mode before the update attempt?
Since there are a multitude of factors beyond Particle’s influence it’s hard to tell what causes this, but it’s not something we hear often with several 100k devices in the wild.
As a last resort you can always try a DFU update to resurrect the device.
Updating the system firmware can take a fair bit of time depending on a couple of factors:
the version you were on before initiating the flash. If might have to go through more than one update to get to the latest.
Wifi reception. The system firmware is 'a lot' bigger than your user firmware, and can take a bit to transfer.
errors during transmission/flashing, causing it to retry.
the wifi gods and the phase and alignment of the planets.
During an update, it will receive multiple parts of firmware, and it will restart a couple of times during the process.
It'd be more worrisome if it didn't 'snap out' of Safe Mode. (Though you could always try another flash then, in case the wifi gods messed with the process)
This device has been used as a Product device, in the field, since the end of January 2017. The previous code was only 9 days old, so I would have thought a system firmware update would not have been necessary.
Wifi RSSI shifts between -55 and -60. The device has been logging data online every 15mins, consistently, with no drops I can see, so I'm confident the Wifi link is good.
Power supply is a 6.4Ahr lithium ion battery, capable of delivering at least 7A, and its being topped up by an automatic charger.
First time I've seen it too, but I've only 30 devices or so, so seeing it just once makes me a little nervous.
No idea. Its 8000 miles away. It went into safe mode repeatedly, all by itself, while repeatedly flashing the new code (my code) and rebooting.
Is the data sent back by the 'safe mode' status event of any use in determining the cause?
What about the 'hard-fault' I saw at the end?
not funny. I'm trying to build a commercial product.