You can chat about native SDK questions and issues here.

User avatar
By sharkx
#63213 Context : my own OTA update is in place and correctly working on all my old modules (ESPs 07 with 512kb flash); when the flashing is completed, the following sequence is executed (as per documentation), and everything works as expected.
Code: Select all   system_upgrade_flag_set(UPGRADE_FLAG_FINISH);
   system_upgrade_reboot();

My newest batch of modules came with 1Mb of flash, so I had to adjust everything; flashing still works as expected, but then I ran into a strange problem : when rebooting the module, it will not switch to the newly flashed content.
Tried with boot versions 1.5 and 1.6. SDK is 1.3.0. I know it old, but I cannot change this.
Currently, test module is using upper memory (aka user2); when rebooting, I can see the following on the output as the module restarts
Code: Select allreboot to use1
but then the bootloader then outputs
Code: Select all2nd boot version : 1.5
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user2 @ 81000
and goes back to upper memory firmware.

Strange thing is that calling the upgrade reboot sequence even without flashing will not result in switching for this module, and I'm a bit puzzled as I have no clue what's wrong here.

Any help is appreciated.
Many thanks.
User avatar
By sharkx
#64761 Indeed. Thanks.
Figured it out a while ago, after doing two things : changed the baud rate so I can see the output immediately after the module reboots, and re-activating all my debugging traces in the update procedure.
In the end, the problem was not on the module side, but on the server side; there was a small error in reading the firmware from file.