OTA updates consistently fail

When I try to update IodéOS (regardless of the version, even beta), it consistently fails.
I have tried several methods:

No matter the update method, the OTA installs, but after rebooting, the screen turns off and on three times. After logging in, I notice that the version of IodéOS hasn’t changed.

So far, the only method that has worked to update my device is fastboot.
I’m trying to understand what I might be doing differently from other testers that could explain the problem.

  • Is your bootloader locked? (Mine is unlocked.)
  • Did you use SP Flash Tools to update? (I only used fastboot.)
2 Likes

I also remember that post.
I have tried performing factory resets, whether from IodéOS or in recovery mode, but the OTA updates still fail…

1 Like

I just got confirmation from the iodé lead dev that if the bootloader is unlocked then OTA updates or adb sideload will fail to apply the update (as you see) due to corruption with slot b (so it can’t do the a/b slot handoff). We understand this to a “bug” in the Mediatek firmware that has not (yet) been addressed by them.

To resolve this, you need to use SP Flash Tool as guided here but use the “Firmware Upgrade” option. This is the only thing that the iodé lead dev has found will correctly reset the device to then work with OTA updates. You may be able to uncheck userdata so that you won‘t lose all your data, but likely Firmware Ugrade will reset everything.

Note that SP Flash Tools (Windows and Linux) can be downloaded here:
SP Flash for Linux: https://spflashtools.com/

You will need a full image to use with SP Flash (the OTA .zip is not enough as it doesn’t have the other partition info and important download_agent/flash.xml needed by SP Flash Tools). Here is a link to the latest full image hosted on our gitlab: brax3/iode-6.6-20250803-brax3-spflash.zip · master · ota / release · GitLab

EDIT: I originally explained wrongly that it was the unlocked bootloader itself that was the reason OTA updates couldn’t be applied. I corrected this above to explain that it is the unlocking of the bootloader that seemingly corrupts slot b from being able to be used, which is why OTA updates will fail.

2 Likes

thank you @rik for this first solution.

I tried successfully a second solution:

  1. (re)unlock bootloader → How to Unlock the Bootloader of your BraX3
    Mine was already unlocked but I did it again to reset the device.

  2. reinstall IodeOs using fastboot → How to manually install or update your OS on your BraX3

  3. lock the bootloader

  4. reboot and install OTA with IodéOs gui

It just works

1 Like

Just installing the OTA.zip in fastboot or the full image?

For others, a full “stable” image has just been posted to our gitlab to use with SP Flash: brax3/iode-6.6-20250803-brax3-spflash.zip · master · ota / release · GitLab

1 Like

installing the full image with flash_all.sh script.

2 Likes

I may have been the one that mentioned doing a factory reset to perform an OTA update, unfortunately that no longer works.

OTA updates via the updater will download but never install.
SPflash, could never get it to work.
Fastboot is the only thing that works.

Tried @ericHz suggestion to lock/unlock bootloader but get the message ‘waiting for device’. So that option is out.

1 Like

I have quite a bit of practice with that now, give a bit more feedback on what isn’t working (what OS, etc.). I am glad the OTA update is now working for @ericHz but from what I hear from Vincent the SP Flash Firmware Upgrade unfortunately is all he knows that will solve it.

BTW this rings a bell for me too, in that I couldn’t get the bootloader relocked / unlocked just from fastboot: the prompt on the phone never came so the fastboot command would just sit doing nothing.

1 Like

To be truthful, Im not sure what to do with spflash. With fastboot, all that is needed is to copy the image, bin and sh. files in to the platform tools folder, open terminal and execute the commands. simple.

I have tried to follow Plamen’s guide but that is for windows, I am running Linux Parrot OS.

1 Like

I just got confirmation from the iodé lead dev that if the bootloader is unlocked then OTA updates or adb sideload will fail to apply the update (as you see) due to corruption with slot b (so it can’t do the a/b slot handoff). We understand this to a “bug” in the Mediatek firmware that has not (yet) been addressed by them.

I am not that enthused by SP Flash, but it is essential. It is clunky, but is fairly straight forward:

  • Download SP Flash and decompress / extract: https://spflashtools.com/

  • Download “full” SP Flash compatible image and decompress (by default the folder created is brax3-user)

  • For Windows, right-click SPFlashToolV6.ext and choose “Run as Administrator”

  • For Linux, open terminal in the SP Flash directory, and ensure “execute bit” is set for the program: sudo chmod +x SPFlashToolV6. Then launch with sudo: sudo ./SPFlashToolV6.

  • You should see this window (Win or Linux look the same):

  • On Download-XML, Click “Choose” and navigate to the brax3-user/download_agent/flash.xml file
    • In Linux, since running as root you will have to navigate to your user’s home directory and then to the location of the extracted brax3-user/download_agent folder.
  • Select Firmware Upgrade from the drop down WARNING: if you select Format All + Download you will wipe your IMEI and it is a pain to get back and you will need Windows!
  • Make sure phone is powered off and disconnected
  • Press Download, it will start looking for your phone. Plug in (again start with it powered off), and SP Flash will do its magic from there
2 Likes

If you’re using fastboot, you should be ok. You can use spflash to unbrick the phone. I don’t think fastboot can help with a hard brick.

1 Like

I’m still confused on if this will normally work. To use fastboot, you have to first unlock, and doesn’t this break slot b as noted by Vincent? Then a Firmware Ugrade would be needed to re-enable, which is only done via SP Flash?

1 Like

Ok, so I downloaded both files and compressed (I assume it is the same as extract?)
Ran the command in terminal and got this message.

[guest@parrot]─[~/Desktop/brax3-user]
└──╼ $sudo ./SPFlashToolV6
[sudo] password for guest:
sudo: ./SPFlashToolV6: command not found
┌─[✗]─[guest@parrot]─[~/Desktop/brax3-user]
└──╼ $

1 Like

It’s strange. Here, I can unlock and lock very easily. During my first attempts, I didn’t notice that I had to accept by pressing the volume up button on the Brax.

1 Like

SPFlashTool is in the other file you downloaded and need to de-compress (extract), it is by default SP_Flash_Tool_v6.2228_Linux.

1 Like

I have extracted the first download you posted and still get the same message.

1 Like

https://spflashtools.com/ is the site, here is a specific link to the latest Linux version you need: https://spflashtools.com/wp-content/uploads/SP_Flash_Tool_v6.2228_Linux.zip

1 Like

That is the file that i have downloaded and extracted to my desktop but when i open a terminal inside that file and run the command sudo ./SPFlashToolV6, I get the command not found.

This was the reason that I gave up trying to find a solution with spflash.

1 Like

Its much easier but as OTA fails each time, it means flashing with fastboot, whereas spflash is supposed to fix the OTA problem.

1 Like

Tried it twice but to no avail

2 Likes