After the Bluetooth mesh dfu is completed, the distribution network information of the node is cleared

I have implemented DFU functionality in my Bluetooth mesh project and used device A as the distributor and device B as the node to be updated. I have already configured both devices and they can communicate with each other. Then I use the distributor to send new firmware to the node. After the node firmware is successfully updated, the original distribution network information of the node is cleared. At this point, the distributor and the node cannot communicate and need to manually reconfigure the distribution network. How can the original distribution network data be retained during DFU updates?

Parents
  • Hi Illy, 
    Please describe how you did the DFU update ? 
    If you use the phone to send the image please check this similar ticket : BLE Mesh NCS: Provisioned data lost after DFU 

  • Hi

    There are two examples in NCS: Bluetooth mesh distributor and Bluetooth mesh target. I am using these two examples to test the performance of mesh DFU.

    After downloading these two examples to two devices, the first step is to use a mobile phone to send the new firmware of the node to be updated (i.e. the device running the Bluetooth mesh target) to the distributor, and then control the distributor to send the new firmware received from the mobile phone to the node to be updated through a shell command. In other words, the node to be updated will not directly communicate with the mobile phone, but will forward the new firmware from the mobile phone to the node to be updated through the distributor. Therefore, the erase option on the mobile phone has no effect (the erase nvs partition option is turned off by default during updates, and can only be manually enabled to erase nvs partitions, but I have never enabled it)

  • Hi Illy, 

    Which firmware did you try to update ? Do they have the same composition data. Please try to make very small change to the code and test. 

    Could you test with a distributor and 2 devices  A and B ? And only update B. I want to know if the distributor and A can still communicate after the update to B. This will verify if the issue after the update is on the distributor or on B. 

  • Hi

    I am updating the firmware of the target, and I have added a version number to the code. The version number after the update is completed is different to determine whether the update is successful.

    I can confirm that the problem is with the updated device B. Because I am using the NRF mesh app to configure the network between the distributor and B, the app can modify the key and other parameters of the distributor and B. But after the B update is completed, the app can only modify the parameters of the distributor. If I try to modify the parameters of B, there will be a connection timeout situation

Reply
  • Hi

    I am updating the firmware of the target, and I have added a version number to the code. The version number after the update is completed is different to determine whether the update is successful.

    I can confirm that the problem is with the updated device B. Because I am using the NRF mesh app to configure the network between the distributor and B, the app can modify the key and other parameters of the distributor and B. But after the B update is completed, the app can only modify the parameters of the distributor. If I try to modify the parameters of B, there will be a connection timeout situation

Children
Related