-->
Page 1 of 1

2.4.0 OTA fails installing 2.7.0

PostPosted: Thu May 07, 2020 12:03 pm
by pidloop
Hello!

I have about 2000 IoT devices world-wide built with 2.4.0. I have pushed a dozen or more updates to them over the past few years and the updates have always worked perfectly. I use ESPhttpUpdate.update.

Today I thought it was time I tried 2.7.0. I have discovered that the platforms built with 2.4.0 hang forever in ESPhttpUpdate.update() when installing a system built with 2.7.0. However, if the device is manually reset, the new version has indeed been loaded and funs fine. Unfortunately, it is very awkward for users of my device to access the reset button themselves so this effectively prevents me from using 2.7.0.

I also tested with a device loaded with a 2.7.0 build and it can load another version built with 2.7.0 without a problem.

My application size is very close to the limit. The 2.4.0 size is 959391 and the 2.7.0 size is 972333. I always take care to set FLASH Size 4M (1M SPIFFS) to insure this size will work with OTA. I have metrology in place to monitor free dynamic memory on running systems and neither version ever falls below 20k free.

So my question is: how can I push a 2.7.0 build onto existing systems built with 2.4.0?


Many thanks for your time.

Re: 2.4.0 OTA fails installing 2.7.0

PostPosted: Thu May 07, 2020 4:27 pm
by btidey
I have updated devices that had 2.4 builds and 2.5 builds to 2.7 builds successfully using OTA without any reset issues.

However, 2 significant differences. I use the browser OTA method and my binaries are nowhere near the 1MB limit.

It maybe worth doing a test update with a much smaller test build to see whether it is the bin size that is the critical factor.

Re: 2.4.0 OTA fails installing 2.7.0

PostPosted: Thu May 07, 2020 5:24 pm
by pidloop
Thanks for the idea. But small test does the same thing.

I think the fact that it loads but doesn't start is the key. Looks like that's a known issue with 2.7.0 and a fix is in the works. https://github.com/esp8266/Arduino/issues/7267