Disable and enable BLE OTA/DFU service

Hi,

Platform: nRF54L15, SDK 2.9

The application is Matter + BLE.  CONFIG_CHIP_DFU_OVER_BT_SMP & MCUBoot are part of the configuration.  As soon as we enable  the BLE services(via BLE ADV arbiter), the BLE DFU/OTA service are also enabled.

#1. Is  there way to disable and enable the DFU? we looked at dfu/smp/dfu_over_smp, which has a API for starting the service but I don't this API is called.  

#2. If disabling the service is not possible,  is it possible to change the characteristics setting during runtime dynamically. For example, we set the characteristics to read-only and then change to write when we want to start the DFU.

#3. Clarification: we assume that the DFU uses the same level of security as the other services. For example, if we set a customer service to L4(encryption),  DFU will also be encrypted?

Thanks.

Subu

  • Hi, 

    #1. Is  there way to disable and enable the DFU? we looked at dfu/smp/dfu_over_smp, which has a API for starting the service but I don't this API is called.  

    Matter uses a different DFU config rather than dfu_over_smp. 

    To configure the application to support the DFU over Matter and SMP, you can use the CONFIG_CHIP_DFU_OVER_BT_SMP.

    You can disable DFU support by setting the CONFIG_CHIP_DFU_OVER_BT_SMP and CONFIG_CHIP_OTA_REQUESTOR Kconfig options to n, and removing the pm_static_nrf54l15pdk_nrf54l15_cpuapp_release.yml file if you are using a Matter sample from NCS.

    #3. Clarification: we assume that the DFU uses the same level of security as the other services. For example, if we set a customer service to L4(encryption),  DFU will also be encrypted?

    You can additionally require BLE pairing to perform OTA update with CONFIG_MCUMGR_TRANSPORT_BT_AUTHEN. 

    Regards,
    Amanda H.

  • Hi, 

    I understand that Matter uses different DFU, which is already working for us. For clarity,  I am talking about BLE OTA  via  GATT DFU SMP service (https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/libraries/bluetooth/services/dfu_smp.html) we want to update the firmware using BLE for this matter product. We are also able to do that.

    Rephrasing the questions: 

    #1: we would like to enable and disable the BLE OTA from our  application.  Is there a way to do it? 

    Thanks.

    Subu

Related