OTA Update Softdevice + Bootloader error

I try to update/replace the code in a nRF52 board from 3rd party (Fanstel).  They only able to provide the private key which I can create the zip file but not able to give info what version of Softdevice loaded.

I am using the nRF5_SDK_17.0.2_d674dde for 

- secure_bootloader_ble_s132_pca10040.hex

- s132_nrf52_7.2.0_softdevice.hex

Using a batch file to create the zip file

set BOOT=secure_bootloader_ble_s132_pca10040
set SOFT=s132_nrf52_7.2.0_softdevice
set KEY=private.pem
set ZIP=Secure_Bootloader

nrfutil pkg generate --hw-version 52 --sd-req 0x101 --sd-id 0x101 --key-file %KEY% --bootloader-version 1 --bootloader %BOOT%.hex --softdevice %SOFT%.hex %ZIP%.zip

when I use the nRF52-DK board to perform OTA

nrfutil dfu ble -ic NRF52 -pkg Secure_Bootloader.zip -p COM15 -n "DfuTarg" -f

I get the following error : 

pc_ble_driver_py.exceptions.NordicSemiException: Extended Error 0x07: The array of supported SoftDevices for the update does not contain the FWID of the current SoftDevice.

 

Parents
  • If you update the softdevice to a different version, you need to update the bootloader as well. The reason behind this behavior is that if you end up with a bootloader that doesn't use the correct softdevice version, then you have bricked the device (in case you don't have a debugger, which end products typically doesn't have). 

    So you need to either do an app-only update, or you can do a SD+BL update, or a combination, APP-SD-BL.

    dilbert168 said:

    Do you think a old version Bootloader can be updated ??

    If it is the standard bootloader from the SDK, then I think it should be fine. 

  • But as indicated in #1, if I try doing BL+SD, it returns "Response Code InsufficientResources"

    Do you think any other setting I missed ?

  • Did you program the bootloader yourself, or was it pre-programmed when you got it? And if it was pre-programmed, can you erase it and program your own bootloader, or is that not an option?

    BR,
    Edvin

  • I was a pre-program device which requires a special cable (back order till April) to re-program with my own bootloader.

    Also, I want to know whether I can just update it with OTA before I buy more of that unit.

  • dilbert168 said:
    I was a pre-program device which requires a special cable (back order till April)

    In that case, if we don't know what sort of bootloader that is on the device, then I don't know why it doesn't accept the image. Perhaps the new application is just too big, or it doesn't have the correct softdevice. Did it still say that when you used the --sd-req 0x00? If that doesn't work, I gess you can try to iterate throught the --hw-version, and see if it requires another --hw-version number. Or you can contact the one who wrote the bootloader that is flashed on the device and ask them how to use that particular bootloader. From my side, it will only be guessing.

    BR,

    Edvin.

Reply
  • dilbert168 said:
    I was a pre-program device which requires a special cable (back order till April)

    In that case, if we don't know what sort of bootloader that is on the device, then I don't know why it doesn't accept the image. Perhaps the new application is just too big, or it doesn't have the correct softdevice. Did it still say that when you used the --sd-req 0x00? If that doesn't work, I gess you can try to iterate throught the --hw-version, and see if it requires another --hw-version number. Or you can contact the one who wrote the bootloader that is flashed on the device and ask them how to use that particular bootloader. From my side, it will only be guessing.

    BR,

    Edvin.

Children
Related