This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Router -> lost & re-entering network probs

Other Parts Discussed in Thread: Z-STACK

We have the problem, that teh router don't know when they have lost the network and also don't reconnect after they are back again. (no beacon can be used)

 

Reading about the mesh networking possibility made us believe that this feature is working with ZigBee, but now we have these problems and are looking for some solutions:

  1. In a pure Router mesh network, how does teh router know, it has lost its connection (no beacon can be used!)
  2. After being back, how can it look back into the network? It seems teh parent-router is not sending info to child-router after it has left the network

Appreciate any help. Thanks.

  • A Router is assumed to be mains powered and therefore should be able to maintain the state of the network and never have to leave or rejoin.  This situation of course changes if you would like to do something unique and have a Router that migrates between networks (a much more complicated problem), but assuming you would like to keep things simple, I believe what you are looking for is the NV_RESTORE option which allows you to save the devices state in the network and in the case of a power disruption, restore state and resume operation in the network from where it left off.  Please read the Developer's Guide that comes with the Z-Stack installation for more information on NV_RESTORE.

  • Thanks on the hint with NV_RESTORE. Will look into it...

     

    But my main concern is:

    HOW DOES A ROUTER KNOW IT HAS LOST ITS CONNECTION TO THE "PARENT" DEVICE?

     

    I mean, we have stored neighbor devices etc in order to make the mesh network stable. But I have no idea how the device actually detects if it has lost its parent? Where in the Stack is it implemented? How does a FFD check the connection? I understand that a end device will know the lost of the parent due to the polling for info, but a FFD normally doesn't poll, so how and when does a FFD detect it has lost its connection?

    Is it just that after a route expiry, it will always check for "new connections"?

    For example, we have a broadcast msg from the COORD to all all routers and a router actually lost its connection to the previous "parent" due to obstruction or whatever, but could be part of teh network through a other device. Will it receive the message through the other device?

     

    Thanks for your help on this information!

  • There is no automated mechanism, such as polling with an End Device, that will let a Router know it's lost its connection to the network.  If a Router tries to send a message and the communication fails (no ACK is received) the notification will come at the application layer.  The network layer will try to self-heal and find an alternate route to communicate this message, but it is possible that no device is in range and therefore the node has lost total connectivity.  Again this will be detected at the application layer and how you would like your application to handle this situation is up to you.  With respect to your comment about a device receiving a message through another device, well it really doesn't apply since what will happen is that if a node previously used as an intermediate router (say device B for a message sent from device A to device C) fails, then the sender (A) will attempt to discover an alternate path (say through node D) and if that path exists then a new route will be established and the message will get delivered (A->D->C).  I know I am making this sound more complicated then it is, but the major take away is that with ZigBee the routing is handled internal to the stack and at the application layer you can design and build your application without concern for the underlying details.  

  • It doesn't make it more complicated at all. It gives me answers...

    So, I hope I can just "not worry" about the connectivity, because if A->B->C doesn't work, I ALWAYS have a D around because the distance between the routers is not so far.

    Thanks a lot for convincing me, that the ZigBee Stack will try to take care of it in the lower levels.