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

Mesh DFU how to update Softdevice

We have a device with the following configuration:

  • nrf5_SDK_for_Mesh_v3.1.0
  • nRF5_SDK_15.2.0
  • s140_nrf52_6.1.0_softdevice
  • mesh_bootloader_gccarmemb_nrf52840_xxAA

 Our task:  Update a device using Mesh DFU to this configuration:

  • nrf5_SDK_for_Mesh_v4.2.0
  • nRF5_SDK_17.0.2
  • s140_nrf52_7.2.0_softdevice

 We are aware that our application only will run if we also update the softdevice.

Questions:

1/ is it possible to update the softdevice with Mesh DFU?

>> we failed when trying to update the Softdevice

  • We generated an update package this way

nrfutil dfu genpkg --softdevice s140_nrf52_7.0.1_softdevice.hex --company-id <our_own_companyID> --application-id <app_id> --application-version <appl_vers> --sd-req 0xFFFE --mesh <packageName>.zip

Our investigations showed us, that in the mesh_evt_handler() the function fw_updated_event_is_for_me() is called which returns false for a dfu_type NRF_MESH_DFU_TYPE_SOFTDEVICE.

Therefore the function nrf_mesh_dfu_relay() will be called.

  • What are we doing wrong?
  • If we run an Application DFU, nrf_mesh_dfu_request() will be called. Why not for SoftDevice DFU?
  • What is the correct way to generate a package for the softdevice?

2/ Is it possible to update the application AND the softdevice with a single update package (only 1 zip file)?

3/ is there a tutorial how (and in which sequence) to update the SW parts (Bootloader, Softdevice, Application)?

 thanks for the help

Parents
  • Hi,

    1/ is it possible to update the softdevice with Mesh DFU?

    Yes, it is possible to update the Softdevice with Mesh DFU.

    2/ Is it possible to update the application AND the softdevice with a single update package (only 1 zip file)?

    Unfortunately, you can't do this. You will need to update them seperately one by one. It's better to update the Softdevice first(assuming the old bootloader is compatible with the new one), then the application.

    3/ is there a tutorial how (and in which sequence) to update the SW parts (Bootloader, Softdevice, Application)?

    I suggest you look through this, Configuring and performing DFU over Mesh.

Reply
  • Hi,

    1/ is it possible to update the softdevice with Mesh DFU?

    Yes, it is possible to update the Softdevice with Mesh DFU.

    2/ Is it possible to update the application AND the softdevice with a single update package (only 1 zip file)?

    Unfortunately, you can't do this. You will need to update them seperately one by one. It's better to update the Softdevice first(assuming the old bootloader is compatible with the new one), then the application.

    3/ is there a tutorial how (and in which sequence) to update the SW parts (Bootloader, Softdevice, Application)?

    I suggest you look through this, Configuring and performing DFU over Mesh.

Children
Related