DFU using nRF Connect iOS App not working

Hi,

I've been in the process of upgrading to V2.2.0 of NCS, and now that I have my code working, have been testing the DFU process using the nRF Connect App.  This used to work, but now I'm having issues.

I'm trying to update the firmware in an nRF52832, and this is the log file from the App:

09:08:04,DFU,normal,File Name: app_update.bin Size: 203 KB
09:08:11,DFU,normal,Upgrade started with 1 images using 'Confirm Only' mode
09:08:11,DFU,normal,Firmware Upgrade Started.
09:08:11,DFU,normal,State changed from none to requestMcuMgrParameters
09:08:11,DFU,normal,Peripheral connected
09:08:11,DFU,normal,Device ready
09:08:12,DFU,error,Sending the request timed out.
09:08:12,DFU,error,Request (Group: default, seq: 0) failed: Sending the request timed out.)
09:08:12,DFU,warning,Device capabilities not supported
09:08:12,DFU,normal,State changed from requestMcuMgrParameters to validate
09:08:42,DFU,error,Sending the request timed out.
09:08:42,DFU,error,Request (Group: image, seq: 0) failed: Sending the request timed out.)
09:08:42,DFU,error,Sending the request timed out.
09:08:42,DFU,error,DFU failed: Sending the request timed out.
09:08:52,Connected Device,normal,Disconnected.

I'm not sure at what point in the process of upgrading from v2.0.0 to v2.2.0 this all stopped working, and my attempts so far at reverting back to previous versions haven't gone well (being a bit of a noob at Git, I've not managed things as well as I should have in order to capture this possibility, so trying to go back has taken hours and not achieved anything)

Has anyone else seen this issue recently?  I'm just trying to establish its an App thing, or something to do with my code changes

Thanks,

Mike

Parents
  • Hi,

    This used to work, but now I'm having issues.

    What is the difference before changing?

    this is the log file from the App

    Regarding the log, what are you updating? Updating the image from v2.0.0 to v2.2.0?

    Are you able to update images within the same version v2.0.0 / v2.2.0? Just modify the printout or something?

    my attempts so far at reverting back to previous versions haven't gone well

    Do you mean downgrade to the previous version? If so, It is controlled by the MCUBOOT_DOWNGRADE_PREVENTION configuration. See Downgrade prevention.

    Please note that if you disable downgrade prevention, and there is a bug that can be exploited in one version of your application, it will always be possible to use that exploit by first downgrading the firmware to a version where that bug was present. For this reason, downgrade prevention should be enabled for all production devices. If for some reason you need to roll back, releasing older firmware with a new (higher) version number would always be an option. Through downgrade prevention, you control what upgrades are possible (and what updates are not possible), and once upgraded to a later version the device is safe from previous attacks and exploits.

    Regards,
    Amanda H

  • Hi Amanda,

    Apologies for the delay - I was enjoying the Xmas and New Year holidays :-)

    I've got this resolved now.  Not exactly sure what the issue was, but it seemed to be linked to my firmware impementing littlefs storage.  As part of this, I needed to free up some flash space, so "merged" the settings and user storage areas of flash to make more space for the littlefs.

    Somewhere in all of that, the OTA functionality became broken.  Turns out I'm going in a different direction with log files, so don't need the littlefs stuff, and removing all of that appears to have recovered the OTA functionality.

    Regards,

    Mike

Reply
  • Hi Amanda,

    Apologies for the delay - I was enjoying the Xmas and New Year holidays :-)

    I've got this resolved now.  Not exactly sure what the issue was, but it seemed to be linked to my firmware impementing littlefs storage.  As part of this, I needed to free up some flash space, so "merged" the settings and user storage areas of flash to make more space for the littlefs.

    Somewhere in all of that, the OTA functionality became broken.  Turns out I'm going in a different direction with log files, so don't need the littlefs stuff, and removing all of that appears to have recovered the OTA functionality.

    Regards,

    Mike

Children
Related