Hi All,
I have seen just recently (in the last few weeks) that OTA updates have stopped working as they have normally functioned.
Okay so let me give some background I compile my code locally using a customized system (there are only a few small changes to the system).
Anyways many months ago I upgraded my customized system and user code, but I still have old units in the field that eventually get turned on and I need to upgrade them to the newer system and user code.
Here is what I did in the past for OTA upgrades and it worked pretty well:
- When the device running my old user code connects to my server I issue a particle flash command to update the user code.
- The device reconnects to my server now having the new user code but still the old system part 1 & 2. I issue the particle flash command to update system part1
- The device reconnects to my server now having the new user and system part 1 code but old system part 2. I issue the particle flash command to update system part2
There are a number of issues regarding my devices’ use of deepsleep and that they are battery powered that have caused me to use this command sequence for flashing. So I would really like to get this working again as is or at least in the same sequence as before.
So let me explain what goes wrong: After I execute step 1. The device goes into a blinking magenta state and is no longer running my old user or new user code. Something must have changed in how Particle is doing the OTA update that is causing this problem It leaves me with devices that that stay awake endlessly until they drain their batteries.
I have not changed my script or binaries.