This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Problems reconnecting mesh client

I have a simple OnOff client server running on Zephyr. I'm developing on macOS and platformio.The nodes are self configured. If I restart the client it cannot reconnect to the network. The server has these warnings:

[00:00:50.491,302] <wrn> bt_mesh_transport: Replay: src 0x0001 dst 0xc000 seq 0x00000c

[02:35:53.890,472] <wrn> bt_mesh_transport: Replay: src 0x0001 dst 0xc000 seq 0x00000d

[02:36:04.170,074] <wrn> bt_mesh_net: Duplicate found in Network Message Cache

[02:36:10.606,018] <wrn> bt_mesh_net: Duplicate found in Network Message Cache

Restarting the server allows the client to reconnect. What do I need to do to allow the client to reconnect on it's own?

  • I don't understand provisioning. I think all the problems I'm seeing are because i'm using self-provisioning. How does provisioning work in the real world for meshes? Is there a good clear tutorial on the topic? In real world cases what happens when the power goes down for a client? does it need to be re-provisioned to re-join the mesh? What if the client is a battery operated control that drops out of the mesh until a button is hit?

  • Hi.

    If you need more information about the provisioning process I suggest you take a look at the provisioning section of the specification.
    The error you are seeing might be related to the self-provisioning process. Are you hardcoding the provisioning data in the device?

    Your device shouldn't need to be re-provisioned after a power cycle. The provisioning data should be saved in flash for the device to automatically join the network when powering up (as long as staying within the security time limits defined in the spec.).

    Best regards,
    Joakim

Related