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

Zigbee router generates ZB_NWK_SIGNAL_NO_ACTIVE_LINKS_LEFT signal all the time

Hi,

We have been working with  Zigbee devices based on nRF52840 with nRF5_SDK_for_Thread_and_Zigbee_v4.0.0_dc7186b, Softdevice, FreeRTOS and Install Codes.

We have the following Zigbee network:

- A Coordinator

- An End Device that sends reports periodically to the coordinator and to the router device

- A router device that send reports periodically to the coordinator and receives reports from the end device

We follow this steps:

1. End device and Router were joined to the network

2. The router lost connection after some time due to range limits

3. The router starts logging ZB_NWK_SIGNAL_NO_ACTIVE_LINKS_LEFT (Parent is unreachable) every 15 sec aprox.

4. The router was powered off, relocated very close to the hub (1 meter) and again powered on.

5. The router keeps logging ZB_NWK_SIGNAL_NO_ACTIVE_LINKS_LEFT (Parent is unreachable) every 15 sec aprox. See Wireshard log log_wireshark_20201111_router_no_active_links_left.pcapng.

6. Even If we reset the router and coordinator, this signal is still generated on the router.

Extra considerations:

A. If we power off the router, then the End Device rejoins to coordinator (see log_wireshark_20201111_zigbee_end_device_rejoins_coordinator.pcapng). But if we connect router later, it still generates the ZB_NWK_SIGNAL_NO_ACTIVE_LINKS_LEFT signal.

B. If we only power on the router and coordinator, the Router keeps generating the ZB_NWK_SIGNAL_NO_ACTIVE_LINKS_LEFT signal (see Zigbee traffic on attached log log_wireshark_20201111_zigbee_router_reset.pcapng)

Why is this generated on the router? Why the router does not rejoin properly even when it keeps sending reports to the coordinator periodically?

Best regards,

Santiago

7343.log_wireshark_20201111_router_no_active_links_left.pcapng6747.log_wireshark_20201111_zigbee_end_device_rejoins_coordinator.pcapng8814.log_wireshark_20201111_zigbee_router_reset.pcapng

Parents
  • Hi Santiago,

    From your second sniffer log, zigbee_end_device_rejoins_coordinator it seems like the rejoining is unsuccesful since you get an end-device timeout. In addition to this, you can see at the end of the log that the end-device is trying to resend data requests without getting an ack back. So the reason the router is sending ZB_NWK_SIGNAL_NO_ACTIVE_LINKS_LEFT is likely because the router has lost the connection to the end-device, which also explains why this is sent when only the router and coordinator are powered on.

    This is just what I have managed to gather so far, but I will look more into your problem and come back to you.

    Best regards,

    Marte

  • Hi Marte,

    Thanks for your response. While the end device is powered on, connected to the network and very close to the router (20 cm), the router keeps logging this signal.

    In fact, the behavior of this signal is described as:

    /* This signal informs the application that all links to other routers has expired.
                 * In such situation, the node can communicate only with its children.
                 *
                 * Example reasons of signal generation:
                 *  - The device was brought too far from the rest of the network.
                 *  - There was a power cut and the whole network suddenly disappeared.
                 *
                 * Note: This signal is not generated for the coordinator node, since it may operate alone
                 *       in the network.
                 */
    That's why I find your explanation a little confusing.
    Regards,
    Santiago
  • Hi,

    I tested this myself with the light control example by turning all three devices on and letting them connect, and then turning the coordinator and end-device off. The router then printed "Parent is unreachable", which is the same as what you're seeing (ZB_NWK_SIGNAL_NO_ACTIVE_LINKS_LEFT). However, when I turned the coordinator and end-device on again, everything rejoined and it stopped printing "Parent is unreachable". So the problem seems to be with your end-device, as I stated earlier, since you get end-device timeout and it's not able to rejoin. This explains why the router keeps sending ZB_NWK_SIGNAL_NO_ACTIVE_LINKS_LEFT.

    Do you erase persistent storage when your devices reset? If so, the network key will be erased, which might explain why you're not able to rejoin. Please make sure you have defined ERASE_PERSISTENT_CONFIG as ZB_FALSE.

    Is the end-device Nordic or is it a third party device? Is FreeRTOS somehow stopping the end-device from rejoining, by causing the timeout?

    Best regards,

    Marte

  • is this case closed? I am facing the same issue.  how did you fix this?

Reply Children
No Data
Related