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

[Mesh v2.1.1] Maximum server node count?

What is the maximum server node count running light switch example?

In documentation there are multiple facts:
1) "If you have more than thirty boards for the server, set SERVER_NODE_COUNT (in light_switch_example_common.h) to the number of boards available and rebuild the provisioner example"
infocenter.nordicsemi.com/.../md_examples_light_switch_README.html

2) "for the servers (maximum up to 30 boards)"
http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.meshsdk.v2.0.1/md_doc_getting_started_mesh_quick_start.html

3) Inside the file "light_switch_example_common.h" (Mesh v2.1.1)

#define SERVER_NODE_COUNT (30)
#if SERVER_NODE_COUNT > 30
#error Maximum 30 servers currently supported by client example.
#endif

At the moment we are pre-production with Mesh v1.0.1 and during scaling of our network we find out we can not run more then 32 nodes. 
We want to be sure we are able to run about 100 nodes using light switch example before we continue.

  • Hi,

    There isn't really a real upper limit of the number of node in your network, the theoretical max number is  32768 nodes. 

    The only limitation we have in the light switch example is the size of flash on the nRF52 works a provisioner. 

    There are some data need to be stored on each new node stored on the provisioner, such as the device key, the node address if the provisioner want to re-configure a node. 

    We actually don't suggest to use the nRF52 as a provisioner, but the database better to be stored on PC or mobile phone. 

     So in short, it shouldn't be a problem to set up 100 node with the light switch example we have.

     

     

  • Yes, I understand that theoretical max number is high.
    We have built our application base on the example from Mesh v1.0.1 which has got some limitations - we can not provision more than 32 nodes.

    What I'm asking is there any similar limit in Mesh v2.1.1?
    Is SERVER_NODE_COUNT define is the only place to change the node count limit?
    For example in Mesh v1.0.1 one has to change the REPLAY_CACHE_ENTRIES define in "nrf_mesh_config_core.h" as well to enable more nodes. Those value are spread over the SDK - is SERVER_NODE_COUNT the only configuration value?

  • Hi, 

     

    You are right, the replay cache also need to be udpated. By spec, a node should discard a message if it doesn't have enough resource to detect if the message is a replay message or not. So if your node run our of replay cache the node won't be able to receive message from a node outside of the list. 

    * Number of entries in the replay protection cache.
    *
    * @note Note that the number of entries in the replay cache directly limits the
    * number of peer nodes one can receive messages from for the current IV index.

    But the replay cache array is pretty small, 6x2 bytes for each entry. 

    From my understanding, the following are stuff that need to be increased when your scale up your mesh network: 

    - TTL value

    - Replay message cache

    - Device key database (matching with elements' addresses)

    I will check with R&D to see if we have any other limitation.

Related