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

[Zigbee-mesh] How to initiate the route discovery manually?

Hi everyone,

I am making a zigbee mesh with just coordinator and routers only. I intended to have the mesh to cover a very large areas with nodes that can be moved (not frequently). I am using SDK4.1.0, for coordiantor , i uploaded the CLI example inside and for the router  i used the exact same example of lilght bulb with the only change is that i exclude every parts relating to notification led or button.

Tell my if i am wrong but from what i learn, when the nodes send a message to another node, without having the address in the routing table it will initalise the route discovery by (1) sending route request or (2) after some time out when it did not received a MAC ACK from the node it try to send to. My expectation is that i will work like a charm since it is almost the same as the example but it did not. It has a really annoying that even with the router is very far from the coordinator, even with very low LQI and miss a lot of MAC ACKs, it still persistently try to send to the coordinator and not every try to broadcast route requeset. And for the first condition to start a route discovery, when the router send route requests, the coordinator can definitely hear it (i have a sniffer just right by coorfinator side).

So my question is that i want to start the route discovery manually to have better control over the mesh. is there any way i can do that. If not, is there any solution for the route discovery. 

Thank you in advances,

Best regards,

Tu

  • Hi Marte,

    Is there any update on this problem?

    I have some other information to update. So when i add an end device to the network, whenever the device wakes up from sleep, it start to send a rejoint request and also route request if its parent is down. Is there any how i can apply this to the router. Like i init the router to do a rejoin request since it already has the key.

    Best regards,

    Tu

  • Hi,

    I heard back from them today. They tested with the light control examples, sending On/Off commands from the switch to the bulb and the coordinator. After turning off the parent node of the switch (the bulb), such that the switch did not receive ACK from the packets, the switch rejoined the network via the coordinator, after some failed retransmissions of the packet. So they saw the same as you did, that the end device rejoined when they could not reach their parent node.

    They also have some questions:

    • Did the device that was moved out of range have at least one other router in range?
    • What was included in Link Status packets sent from that device?
    • What was the behavior of that device when trying to send a package to coordinator?
    • Did it just try to send via another router or directly to the coordinator?

    Best regards,

    Marte

  • Hi Marte,

    Thank you for the reply, so I want to clarify something for you and the team is that with a network where i try to use an end device to send out a message, the end device did managed to find a new parents to join. But when i just use a router to send a message, the router did not do anything. And the mesh that i am trying to make is contribute of a lot of routers so i need some ways to make it work.

    So to answer your question

    Did the device that was moved out of range have at least one other router in range?

    - Yes, I check the link status message of the router, it still have at least 1 nodes in its neighbor table.

    What was included in Link Status packets sent from that device?

    - I do not remember exactly but the outgoing cost and incoming cost of each device in the neighbor are around 4-7

    What was the behavior of that device when trying to send a package to coordinator?

    - The device send package to coordinator repeatedly and without ACK and it keeps going like that until the next 3 minutes when i try to reset the device.

    Did it just try to send via another router or directly to the coordinator?

    -It did try to send to the coordinator apparently since the destination is 0x0000 and the radius is 30.

    I think i will redo the experiment again and get a full capture of what happened to send it to you.

    Thank you very much, please inform me for any new information.

    Best regards,

    Tu

  • Hi Marte,

    Here is the capture file i did for the experiement, I added a router(addr 0x6d9c) to the network of one coordinator and another router (0x2277)  then i move the 0x6d9c gradually out of range until it can not  receive ACK from the coordinator anymore (i adjust the tx power of the coordinator and the routers to 0dB since the antena is covering a very large areas and getting it out of range is very difficult). To be more colaborated, at packet 368, I started to move the router out of range to receive the ACK from coordinator until packet 474 i move it back.

    Mesh_zigbee_route_discovery_not_working.pcapng

    Please tell me when there is something new,

    Best regards,

    Tu

  • Hi Marte,

    I have just found a this guide on google about a Zigbee hub, here is the link:

    docs.hubitat.com/index.php

    In there, I noticed that they said that the mesh is formed automatically but not instantaneously. Then, they recommended to add devices from close to far and suggest not to move the routers after connecting them to the coordinator but rather connect routers to the network at the place they suppose to be. Then, turn off the coordinator for >20min and restart. They say that it will "expedite" the mesh forming of Zigbee and the mesh will be optimized in the next 24 hours. 

    From my point of view, I do not know what zigbee stack they use for their network layer, but does this also apply to the Zboss version by Nordic Zigbee SDK? Furthermore, It sounds like a hack to me more than a fix to make route discovery start faster. So, can you verify for me if Zigbee really need time to form a mesh? and does doing like what they told is the only way to accelerate the process of forming a zigbee mesh?. If it is the case, why i could not find such important infomation anywhere on Zigbee spec rev22 and can you show me the part where i miss this infomation so that i can have some ground for the slow recovery of the network.

    Thank you very much, please help and reply soon.

    Have a good day,

    Tu

Related