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

Thread mesh network capacity problem

Hi!

I have questions for Nordic developers team. What capacity of network is possible with nrf52840 thread mesh? I've tried to attach large amount of nodes to mesh and it collapsed with about ~20 devices. I mean that devices could not connect to mesh. In case of nrf52840-PDK led indicator starts to blink very strange while attempting to connect. Is there any parameters in library to change that can improve capacity of network?

My set: nRF52840+Thread sdk v0.10

Best regards, Wojciech Rzepecki image description

  • Hi Wojtek,

    Could you tell about the application you run on the network ? was there lots of traffic between nodes ?

    When the issue happened, can other nodes in the network communicate to each other ?

    What do you have in the log of the device that can't join the network ?

  • Hi, Application sends a packet of data from sensors every 1 minute by COAP. In case of lack of connection messages are buffered and sent while connection renew. When problem occurs packets from network are no longer forwarded to server and border router cannot join network (strange led blinking). Big amount of traffic can occur while many nodes empty their message buffers. This happens very often propably because network unstability. I can see in Topology Monitor that network rebuilds all the time. I will post RTT log as soon I set a new test.

  • _ 0> 0> app: Thread version: OPENTHREAD/ga89eb88-dirty; NRF52840; Nov 17 2017 09:01:26 0> 0> app: Network name: OpenThread 0> 0> app: State changed! Flags: 0x00001311 Current role: 0 0> 0> app: State changed! Flags: 0x00000100 Current role: 0 0> 0> app: State changed! Flags: 0x00000004 Current role: 1 0> 0> app: State changed! Flags: 0x00000104 Current role: 1 0> 0> app: State changed! Flags: 0x00000004 Current role: 1 0> 0> app: State changed! Flags: 0x00000004 Current role: 1

    It spawns this info message infinietely. Device is programmed with CLI example from sdk v0.11 .

  • Hi Wojtek,

    Thank you for your interest in Thread SDK, your setup is pretty impressive. Let's try to confirm some basics before we start to dig deeper.

    Could you confirm which SDK is used (0.10.0 or 0.11.0)?

    How many routers and how many childs are in your setup? Please note that by default in OpenThread a single router supports up to 10 children. Library would need to be recompiled with changed OPENTHREAD_CONFIG_MAX_CHILDREN define.

    If this is not your case is it possible for you to share screen from the TTM and wireshark capture?

    Do you connect all nodes at once to the network?

    Did you observe any correlation between order in which you power on nodes and the maximum number of nodes supported in your case?

    Kind regards, Piotr Szkotak

  • Hi Piotr! My nodes are programmed with V0.10. My Topology Monitor is PDK with CLI example from V0.11. Battery powered nodes are hardcoded to work as SED but other ones can choose mode on their own. Most of network consist of routers. I know about limit of 32 of these. Im attaching nodes one after another starting from routers delegated to be the skeleton of the network. When all nodes are attached network works for a while until crash. When I power down about 3 nodes network starts to work properly. My previous experiences with Thread was that nodes need to be attached with a liitle time beetween each other to avoid problems. I've attached screen from TTM in first post. The network on it is on edge of stability.

Related