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?

  • Please also provide us all the commands you used for doing DFU. What we are suspecting is that the metadata provided was not correct. 
    On the target there will be a metadata check call when DFU is starting. You may want to add a breakpoint to see if the meatadata check return that the node has to be reprovisioned. 
    So please pay extra attention on how the metadata is generated. Please provide us how you do that. 

  • At build time, a zip upgrade package will be generated, which contains a ble_mesh_metadata.json file. I copied the metadata from here

    Then I used the "device manager" mobile app to upload this upgrade package to the distributor

    After uploading, use shell commands to operate the dfu process of the distributor

    1.Register the firmware using 'mesh models dfu slot add', and fill in three parameters: bin size, version number, and metadata

    2.Assuming I need to update a node with a unicast address of 0x0080, add this address to the update list using 'mesh models dfd receivers-add 0x80,0'

    3.Start updating with 'mesh models dfd start 0 0'

    Waiting for the transmission to complete, the node will automatically attempt to apply the new firmware. After running the new firmware, the issue of becoming an unprovisioned node that I mentioned will occur

    Can't this problem be reproduced on your end?

  • Hi

    it is unprovisioned. Perhaps the translation software I am using is not very accurate for these professional terms.

    What part of the log do you need?

    I'll give it a try later.

  • Hi, 
    You may need to turn on mesh logging on the target device and check for the metadata check there. 
    Have you tried to test with one of our sample ? We are not able to reproduce the issue here. 

  • How to open metadata related logs? I couldn't find the relevant config options

Related