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

Is it possible retain ble connection in buttonless unbonded secure dfu

I enabled BLE buttonless unbonded secure dfu on custom nRF52382 based chip with s132 (SD version 6.0.0).

When buttonless service dfu control point characteristic is written to initiate secure dfu, application resets and bootloader boots in DFU mode as GPREGRET flag is set. As a result, BLE connection is terminated and attempt to connect to advertisement by bootloader.

  1. Is it possible to retain the connection in unbonded (bonded option is not preferred for our solution) mode by sending service change indication and initiating the dfu transfer ? BLE connection should be terminated only after completion of dfu transfer and validation. disconnect and instruct to bootloader to apply the update.
  2. BL+SD and App update is implemented as two separate steps first one followed by second in nRFconnect android app.What is the reason that why not all three modules be transferred in one-go?

thanks,
Uma.

  • Is it possible to retain the connection in unbonded (bonded option is not preferred for our solution) mode by sending service change indication and initiating the dfu transfer ? BLE connection should be terminated only after completion of dfu transfer and validation. disconnect and instruct to bootloader to apply the update.

    Both our bonded and unbonded DFU have the same behavior, i.e. the application will write a flag to a retained register and reset. The bootloader is always run on boot and will examine the flag and initialize the SoftDevice and reconnect to the central. 

    However, a colleague of mine has made a background DFU example, i.e. the application receives the firmware image and then resets to the BL to perform the actual update. You can use that as a reference. 

    BL+SD and App update is implemented as two separate steps first one followed by second in nRFconnect android app.What is the reason that why not all three modules be transferred in one-go?

    It is not possible to hold the old BL+ old SD + new app + new SD + new BL in flash at the same time. So we update the SD+BL first and then we transfer the application and update that, see Dual-bank and single-bank updates

    Best regards

    Bjørn 

Related