Problem in Mesh network


Omar Morceli
 

Hi
There are four nodes in my bluetooth mesh network, each with two elements
The first element consists of four models
  1. BT_MESH_MODEL_CFG_SRV
  2. BT_MESH_MODEL_HEALTH_SRV
  3. BT_MESH_MODEL_ID_GEN_ONOFF_SRV
  4. BT_MESH_MODEL_ID_GEN_ONOFF_CLI
The second element consists of:
        (for three nodes) - two vendor models
        (for the fourth node) - three vendor models
The vendor models exchange periodic messages with ttl=2 and size of 45 Bytes with each other
messages period are between 10 and 30 seconds
Whenever I provision just two nodes, they work fine
After adding the third node, I receive some warnings 
      <wrn> bt_mesh_transport: Replay: src 0x00a3 dst 0xc001 seq 0x000e9c
      <wrn> bt_mesh_transport: Ignoring old SeqAuth 0x000adb
      <wrn> bt_mesh_transport: Duplicate SDU from src 0x000b
In all nodes, I receive these warnings when I add the fourth node (with the three vendor models)
      <wrn> bt_mesh_net: Unable to allocate loopback
      <wrn> bt_mesh_transport: No free slots for new incoming segmented messages
Afterwards, I receive the following errors
       <err> bt_mesh_net: Out of relay buffers
       <err> bt_mesh_transport: Out of network buffers
       <err> bt_mesh_access: Failed to publish (err -105)
and I sometimes  the node stops with this error : <err> os: Halting system


I made some changes to the configuration:
- BT_MESH_TX_SEG_MAX =10 
- BT_MESH_RX_SEG_MAX =10  
- BT_MESH_ADV_BUF_COUNT= 13 
- BT_MESH_SEG_BUFS=1024

However, I still get these warnings and errors?

Regards


Trond Snekvik
 

Hi,

Both buffer errors are a result of missing adv buffers. To minimize copying, both relay buffers and transport buffers are allocated from the advertising buffer pool, so that's the one that needs to increase to resolve this. 

If the total data rate for publications and relayed messages is higher than your advertiser's tx rate, increased buffer capacity will only get you so far though. Increasing the buffer count usually only helps with handling traffic spikes. Still, you'll definitely benefit from increasing it from 13 to something like 50 or 100. 

Trond


From: devel@... <devel@...> on behalf of Omar Morceli via lists.zephyrproject.org <morceli=adsumnet.com@...>
Sent: Tuesday, August 24, 2021 3:28:54 AM
To: devel@... <devel@...>
Subject: [Zephyr-devel] Problem in Mesh network
 
Hi
There are four nodes in my bluetooth mesh network, each with two elements
The first element consists of four models
  1. BT_MESH_MODEL_CFG_SRV
  2. BT_MESH_MODEL_HEALTH_SRV
  3. BT_MESH_MODEL_ID_GEN_ONOFF_SRV
  4. BT_MESH_MODEL_ID_GEN_ONOFF_CLI
The second element consists of:
        (for three nodes) - two vendor models
        (for the fourth node) - three vendor models
The vendor models exchange periodic messages with ttl=2 and size of 45 Bytes with each other
messages period are between 10 and 30 seconds
Whenever I provision just two nodes, they work fine
After adding the third node, I receive some warnings 
      <wrn> bt_mesh_transport: Replay: src 0x00a3 dst 0xc001 seq 0x000e9c
      <wrn> bt_mesh_transport: Ignoring old SeqAuth 0x000adb
      <wrn> bt_mesh_transport: Duplicate SDU from src 0x000b
In all nodes, I receive these warnings when I add the fourth node (with the three vendor models)
      <wrn> bt_mesh_net: Unable to allocate loopback
      <wrn> bt_mesh_transport: No free slots for new incoming segmented messages
Afterwards, I receive the following errors
       <err> bt_mesh_net: Out of relay buffers
       <err> bt_mesh_transport: Out of network buffers
       <err> bt_mesh_access: Failed to publish (err -105)
and I sometimes  the node stops with this error : <err> os: Halting system


I made some changes to the configuration:
- BT_MESH_TX_SEG_MAX =10 
- BT_MESH_RX_SEG_MAX =10  
- BT_MESH_ADV_BUF_COUNT= 13 
- BT_MESH_SEG_BUFS=1024

However, I still get these warnings and errors?

Regards