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

DFU update error "FW version check failed" on iOS

Hi all,

DFU package V1_0_75 was developed using SDK12 for nrf5232 and V2_0_45 was developed using SDK16 for nrf5232.

I am trying to update from V1_0_75 to V2_0_45 using nrf Connect App on iOS. In this case, bootloader, sofdevice and application have to be updated.

Initially, created a DFUpackage including BL_SD_APP altogether as V2_0_45_BL_SD_APP.zip and tried updating and encoutered "FW version check failed". Then googled and got this link  here.

As suggested in link created two packages, namely V2_0_45_bl_sd.zip and V2_0_45_app.zip and tried updating. Intially connected to the advertising device and bought the device in DFU Targ mode by entering 01 in DFU buttonless Service and again connected and selected V2_0_45_bl_sd.zip got the same ERROR stating "FW version check failed" and then connection got disconnected.

even created a single file V2_0_45.zip withh V2_0_45_bl_sd.zip and V2_0_45_app.zip. when selceted V2_0_45.zip, got an Error stating "No Firmware found"

Is it possible to update different version of bootloader using nrf connect app with IOS phone? Any further leads and suggestion would be very helpful.

Thanks and regards,

Deepa

  • Hi,

    Just to make sure, did you remember to increas the app version number when you created the DFU zip package? The bootloader has NRF_DFU_APP_DOWNGRADE_PREVENTION enabled by default, so it will reject any updates with a lower version number.

    Best regards,

    Vidar

    Generating DFU update package for SD+BL+APP with nrfutil (type nrfutil pkg generate --help to view help menu for additional information for each argument):

    nrfutil pkg generate --hw-version 52 ^
    --bootloader-version <version> ^
    --sd-req <SD id required by bootloader update> ^
    --sd-id < SD id required by the new app ^
    --application-version <app version> ^
    --application <APPLIATION> ^
    --softdevice  <SOFTDEVICE> ^
    --bootloader  <BOOTLOADER> ^
    --key-file private.pem dfu_sd_bl_app.zip

  • Hi Vidar,

    Thanks a lot for ur reply.

    I am working with cmake and generating .zip file as described here. The current  version is named as  V1_0_75. where 1 is the bootloader version and 75 is application`s. and newest version is named as V2_0_45. Here, I have increased the bootloader version to be 2. 

    have no problem when updating the version from V2_0_75 to V2_0_76, where both are devloped using SDK 16 and sd 7. Problem is only when i update from V1 to V2,where both are devloped using different SDK 12 and 16 , sd 7 and 4 rescpectively.

    I even tried generating a dfu package as V2_0_78. even then i get the error stating FW version check failed, even disabled the NRF_DFU_APP_DOWNGRADE_PREVENTION while generating the package.

    Best regards,

    Deepa

  • Hi Deepa,

    Please run "nrfutil pkg display V1_0_75.zip && nrfutil pkg display V1_0_75.zip" from the command line and post the result here. This makes it easier to compare the version numbers.

    Thanks,

    Vidar

Related