Multicast DFU over Thread

nRF Util

tags
nRF Util

The multicast DFU over Thread is a feature that allows you to send firmware updates to multiple devices at once. This feature is useful when you want to update multiple devices in a network simultaneously.

Note

This procedure is compatible with the nRF52840 DK (PCA10056).

The multicast mode is selected when you call the nrf5sdk-tools command with a multicast address as the destination address.

Complete the following steps to perform the DFU in the multicast mode:

  1. Connect a DK compatible with the nRF5 SDK to your computer. This board serves as the Thread network co-processor (NCP) for performing the DFU on the target.
  2. Run nrfutil device erase --all to erase the contents of the DK.
  3. Run nrfutil nrf5sdk-tools dfu thread with appropriate options to perform DFU over Thread.

    For example:

    nrfutil nrf5sdk-tools dfu thread --flash_connectivity --package app_dfu_package.zip --channel 11 --panid 43981 --reset_suppress 5000 --address FF03::1 --port COM3 --rate 4
    

    In this command:

    • --flash_connectivity overwrites the contents of the DK.
    • --package specifies the package to be transferred.
    • --channel specifies the 802.15.4 channel to use for the DFU. If not specified, channel 11 is used by default.
    • --panid specifies the PAN ID of the 802.15.4 channel to use for the DFU. If not specified, the 1234 PAN ID is used.
    • --reset_suppress specifies the time for suppressing device reset after finishing the DFU, in milliseconds.
    • --address specifies the multicast IPv6 address to use for the DFU. If not specified, performs DFU on all capable devices.
    • --port specifies the serial port to which the NCP DK is connected.
    • --rate specifies the upload rate in blocks per second.

    Any remote Thread device can then decide whether it wants to receive and process the firmware update messages.