mesh publish issues under zephyr

I have a custom model server that sends 8 bytes of data 

I set up 2 nodes - one to publish to an address 0xC002, one to subscribe to publication

Provisioning and publish parameter configuration was done in mesh shell

It works as expected - every n seconds I see a  mesh "set_unack" function executes on the subscriber node and the data is all good

Added a second device to publish to the same address . Gave it the node address one greater than the first one: 0x100 and 0x101

But the subscriber node only reports messages from from 0x100. It does see something - there are debug messages "Unable to find matching net for packet"

but the data from node 0x101 is not propagated to the app layer

Reprovisioned both nodes in mesh shell and gave them the addresses used by nRF mesh app.  (0x001d and 0x001c)

Now  the subscriber node sees data from both publishers. Any ideas why changing the node address made its messages reach the subscriber?

Also, I'm noticing that even with the addresses from the nRF mesh app the subscriber does not always receive messages from both devices . And it is always the higher address that drops off. Message from the lower one is <always> delivered. All 3 devices are very close to each other

My device composition has 1 element with 2 vendor models and 5 SIG models

Mesh relay is enabled

Any help would be much appreciated

Thanks

Parents
  • Update

    Even with TTL set to 100 in both publishers the packets from one of the nodes arrive inconsistently

    Any suggestions are much appreciated.

  • Update 2

    I've been playing with TTL and retransmit count and interval on the publishing nodes

    Presently set as follows

    count: 7, TTL: 10 and retransmit interval 300 ms, publish period 10 seconds

    1 subscriber node , 2 publish nodes: 0x001c and 0x001d

    When only 1 node is powered the messages are received by the subscriber without issues

    With both nodes powered messages from node 0x001c reach the subscriber at expected intervals, but  messages from 0x001d arrive irregularly and infrequently.

    With both nodes publishing  I see the following messages in the log

    00> [00:19:17.349,548] <dbg> bt_mesh_net: bt_mesh_net_recv: rssi -68 net_if 0
    00> [00:19:17.349,609] <dbg> bt_mesh_net: bt_mesh_net_decode: 29 bytes: 6858befe9733293e2e245f1f3e972c19533e6b05cabffdae9221544733
    00> [00:19:17.349,639] <dbg> bt_mesh_net_keys: bt_mesh_net_cred_find:
    00> [00:19:17.349,639] <dbg> bt_mesh_net: net_decrypt: NID 0x68
    00> [00:19:17.349,670] <dbg> bt_mesh_net: net_decrypt: IVI 0 net->iv_index 0x00000000
    00> [00:19:17.349,700] <dbg> bt_mesh_net: net_decrypt: Duplicate found in Network Message Cache
    00> [00:19:17.349,700] <dbg> bt_mesh_net: bt_mesh_net_decode: Unable to find matching net for packet

    All 3 nodes are about 15 cm apart

    Any ideas?
    Thanks

Reply
  • Update 2

    I've been playing with TTL and retransmit count and interval on the publishing nodes

    Presently set as follows

    count: 7, TTL: 10 and retransmit interval 300 ms, publish period 10 seconds

    1 subscriber node , 2 publish nodes: 0x001c and 0x001d

    When only 1 node is powered the messages are received by the subscriber without issues

    With both nodes powered messages from node 0x001c reach the subscriber at expected intervals, but  messages from 0x001d arrive irregularly and infrequently.

    With both nodes publishing  I see the following messages in the log

    00> [00:19:17.349,548] <dbg> bt_mesh_net: bt_mesh_net_recv: rssi -68 net_if 0
    00> [00:19:17.349,609] <dbg> bt_mesh_net: bt_mesh_net_decode: 29 bytes: 6858befe9733293e2e245f1f3e972c19533e6b05cabffdae9221544733
    00> [00:19:17.349,639] <dbg> bt_mesh_net_keys: bt_mesh_net_cred_find:
    00> [00:19:17.349,639] <dbg> bt_mesh_net: net_decrypt: NID 0x68
    00> [00:19:17.349,670] <dbg> bt_mesh_net: net_decrypt: IVI 0 net->iv_index 0x00000000
    00> [00:19:17.349,700] <dbg> bt_mesh_net: net_decrypt: Duplicate found in Network Message Cache
    00> [00:19:17.349,700] <dbg> bt_mesh_net: bt_mesh_net_decode: Unable to find matching net for packet

    All 3 nodes are about 15 cm apart

    Any ideas?
    Thanks

Children
Related