I am using nrfmesh android app. I have configured a mesh network. exported network. then reinstalled app and connect to network. then tried to read state of device, then get operation timeout error.
I am using nrfmesh android app. I have configured a mesh network. exported network. then reinstalled app and connect to network. then tried to read state of device, then get operation timeout error.
Hello!
The reason why you get timeouts is that the app after reinstalling is trying to send messages with Sequence number that was already used. In mesh it is required that Seq number always increases. Seq number isn't shared in the JSON file. In general, each control device should use a different Provisioner instance, with unique address. In your case, after importing, you should switch the provisioner to use a new Unicast Address, that hasn't been used before (as you're using the same device).
Keep in mind, that each mesh node has Replay Protection Count number, which is the maximum number of unicast addresses it can EVER receive message from. Messages received form new nodes, after the RPC is full, will be discarded. This is because it needs to remember last Seq number for all nodes that has received at least one message from, to protect from Replay Attacks.
If you'd use the mesh library, not only the sample app, you may increase the Seq number for the current provisioner programatically.
The other option that you have is to send more and more messages that will timeout, until you reach finally a new Seq number.
The other option that you have is to send more and more messages that will timeout, until you reach finally a new Seq number.
Ok Sir,
Thank you so much for suggesting an answer. I will check both the answers.
Thank you.