Brewskey / spark-protocol

Node.JS module for hosting direct encrypted CoAP socket connections
GNU Lesser General Public License v3.0
9 stars 16 forks source link

Photon in OTA loop when upgrading from 0.6.3 to 1.4.0 #145

Closed DaliborFarny closed 5 years ago

DaliborFarny commented 5 years ago

Hello,

when I flash a user code compiled against 1.4.0 to Photon running system firmware 0.6.3, the server tries to OTA upgrade the system firmware. The problem is that it ends up in a loop, never getting to upgrade the Photon.

I tried first flashing a user code for 0.7.0, in this case the upgrade went smooth, then flashing code for 1.4.0, again smooth upgrade. But direct 0.6.3->1.4.0 doesnt work.

Tested on multiple devices.

jlkalberer commented 5 years ago

Yeah, I ran into this issue with 0.6.2 => 1.1.0

I posted in the Slack channel and didn't get any help... I can look into this again but I'm not sure if there is an easy fix.

DaliborFarny commented 5 years ago

OK, fortunately, it is possible to upload code for 0.7.0 when the device is in loop, so it starts upgrading for 0.7.0 OS. So we can still save a deployed device which ended up in a loop.

— Dalibor Farny tel.: +420 724 321 571 www.daliborfarny.com Follow us: Youtube | Facebook | Instagram | Newsletter

--- original message --- On October 2, 2019, 4:30 PM GMT+2 notifications@github.com wrote:

Yeah, I ran into this issue with 0.6.2 => 1.1.0

I posted in the Slack channel and didn't get any help... I can look into this again but I'm not sure if there is an easy fix.

You are receiving this because you authored the thread.

Reply to this email directly, view it on GitHub, or mute the thread. --- end of original message ---

jlkalberer commented 5 years ago

Ok, great. I'm in the process of setting up a new computer but once that's done I'll take a look.

The solution will most likely be that I'm missing some file when I download all the binaries.

jlkalberer commented 5 years ago

@DaliborFarny - I got motivated this weekend and I'm looking into it. The binary-version-reader by Particle had some updates so I'm hoping the fix is as easy as updating the dependency. I'll keep you posted.

jlkalberer commented 5 years ago

I got a bit farther into the problem.

Firmware newer than 0.7.0 has a dependency on the 0.7.0 firmware. If you have a 0.6.3 device and update to 1.4.0, it first needs to update to 0.7.0

It seems like this change didn't get added into the firmware releases and all the 0.7.0 firmware has a module version of 101. All the new firmware is looking for 204. This part is pretty easy to fix in the update-firmware script.

The issue now is that my logic doesn't handle checking to see if the current firmware is at 0.7.0 or newer. Once I add that, things should work.