How to avoid multiple nodes with the same UUID after DFU?
See original GitHub issueDescribe the bug The first version of the firmware was a simple generic level model, which will be replaced by a proprietary vendor model. When updating the firmware from the generic level to the vendor model, the node automatically unprovisions itself because Softdevice/Mesh SDK detects that the (generic level) model data is invalid for the new vendor model.
Now, when reprovisioning the node after DFU, the library contains the node twice: Once with the generic level model and once with the vendor model. Unprovisioning any of them will remove both nodes. Question now is, is there a way to remove the old (generic level) node from the library without also removing the (new) node containing the vendor model?
Considering the following from this discussion:
each node has a unique UUID and if the UUID is the same for each provisioned device you will be overwriting the same node during provisioning.
Makes me think that this could be a bug in the library.
To Reproduce Steps to reproduce the behavior:
- Open an example project from nRF5 SDK for Mesh in Segger Embedded Studio, compile and program on a device.
- Provision the device.
- Open another example project from nRF5 SDK for Mesh in Segger Embedded Studio, compile and program onto the same device. The device will start unprovisioned because
model_config_file_config_apply()returnsNRF_ERROR_INVALID_DATA. - Reboot the device once. This is necessary, otherwise provisioning will fail.
- Provision the device.
- The app now shows both nodes.
Expected behavior Because the node’s UUID did not change during DFU, reprovisioning the node should overwrite (remove) any other nodes with the same UUID.
Platform details:
- Device: Any Android Device.
- OS: Any Android Version.
- Library Version 3.1.6
Issue Analytics
- State:
- Created 2 years ago
- Comments:9 (5 by maintainers)

Top Related StackOverflow Question
@R0m4in-dooz Sounds promising. Thanks for sharing this! I’ll have a look at it.
Hello @FluffyBunniesTasteTheBest, We just open sourced our Flutter plugin that provides a Dart API to use this library and its iOS counterpart. It still lacks some “get started” documentation, but the example app should be enough to jump in with basic mesh network features 👍 If it can help you to develop your projects, feel free to give our plugin a try ! Regards 👋