As a week has passed a lot has happened. (HacK a.k.a. HomeACcessoryKid) maker of Life Cycle Manager has done a lot of work trying to solve the issue. Unfortunately until now there isn’t a solution, as we can read on his Git.

OUTAGE caused by GitHub change of HTTP headers

Yes, it really really doesn’t work any more for versions < 1.9.1. You can follow this issue in the community here. We are waiting for GitHub to roll back their change. The alternative is to connect via serial and flash version 1.9.3 otabootbeta.bin. The emergency mode is ready so that if this ever happens again, there is a plan B in place.

Download this file:

Version: 1.9.3 (Beta)

 

Life Cycle Manager Version

Life Cycle Manager has arrived to a new stage with its own adaptation of rboot – rboot4lcm – which counts power-cycles. These can be used to check updates, reset wifi or factory reset. The versions 1.9.x will test at beta level what was started in the repo LCMdev v1.2.5 and lead up to version 2.0.0 By having introduced the latest-pre-release concept, users (and LCM itself) can test new software before exposing it to production devices.

New feature version 2

This new Life Cycle Manager code is able to load/update the bootloader from github. The new bootloader is able to count the amount of short power cycles (<1s) The boot loader conveys the count to the loaded code using the rtc.temp_rom value User code is allowed the values from 1-4

1 : this is a normal boot

2-4: users choice in user code (communicate 3 to user or risk a bit and use 2, 3 and 4 separatly)

If count > 4 the bootloader launches LCM otamain.bin in rom[1]

For these values the behavior is controlled through the sysparam string ota_count_step.
The default value of 3 reduces the chance of user miscounting and triggering something else than intended.

Note that with LCM_beta mode and WiFi erased you can set any emergency fallback server to collect a new signed version of otaboot.bin. This is to prevent a lockout as witnessed when GitHub changed their web-server.

If ota_count_step==”3″

5-7: check for new code (communicate 6 to user)
8-10: erase wifi info and clear LCM_beta mode (communicate 9 to user)
11-13: erase wifi info and set LCM_beta mode (communicate 12 to user)
14-16: factory reset (communicate 15 to user)

If ota_count_step==”2″

5-6: check for new code (communicate 5 to user)
7-8: erase wifi info and clear LCM_beta mode (communicate 7 to user)
9-10: erase wifi info and set LCM_beta mode (communicate 9 to user)
11-12: factory reset (communicate 11 to user)

If ota_count_step==”1″

5: check for new code (communicate 5 to user)
6: erase wifi info and clear LCM_beta mode (communicate 6 to user)
7: erase wifi info and set LCM_beta mode (communicate 7 to user)
8: factory reset (communicate 8 to user)

Missing or other ota_count_step values will be interpreted as 3

More information can be found here. So for now there is a new version in the making, still in Beta. When released I will give you a update about all the new features.

REFERENCE

HomeACcessoryKid, life-cycle-manager (2019), Initial install, WiFi settings and over the air firmware upgrades for any esp-open-rtos repository on GitHub, https://github.com/HomeACcessoryKid/life-cycle-manager