This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

mcumgr - device bricked when firmware in Slot 1 got somehow Permanent flag

Hi,

Our devices are getting randomly bricked by updating firmware through mcumgr in Zephyr. It happens on both the nRF91 and nRF52 chips when we run the latest nRF Connect SDK 1.3. The reason is that firmware in Slot 1 is sometimes set Permanent flag, but we don't know how and why. When this happens, it cannot be erased/confirmed/reflashed/anything else. Any ideas what could be the cause and how to fix it?

I don't know, where to discuss this problem, so I created a parallel issue on GitHub https://github.com/apache/mynewt-mcumgr/issues/95

Parents Reply Children
  • Hi Carl,

    I think we have figured out the issue as it can now be reproduced. The issue is that since we do a lot of development and testing, sometimes we managed not to sign the firmware with the correct mcuboot certificate. And for some reason, the mcuboot is not invalidating the image in the second slot when it has an incorrect certificate. We don't have enabled logs for mcuboot, so we cannot really tell what is wrong. But we will try to debug it further and when we have logs, we will post it here.

  • Great that you manage to reproduce the issue, Lukáš! I'll await the logs and will do some more testing here aswell.

    Just a note: you are working in the NCS environment, correct? In that case, correctly signed .bin files are available in the build folder of your project. They are located at <project_root>/build/zephyr/app_update.bin. I recommend using this file for DFU. 

    Best regards,
    Carl Richard 

Related