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

Zigbee Task halts on Leave Request

Hi,

We have been working with an end device based on nRF52840 with nRF5_SDK_for_Thread_and_Zigbee_v4.0.0_dc7186b and FreeRtos

This device has some bindings already set to the coordinator.

When it receives a Leave Request from coordinator, the Zigbee Stack gets stucked on zb_address_reset() function. Because of that, the Zigbee task remains blocked for the rest of the time.

Which should be the reason to halt at this point and how this could be avoided?

Regards,

Santiago

Parents
  • Hi Santiago,

    I've started looking into your issue.

    Is the project on the end-device based on one of the examples in our SDK? If so, which one? Is the leave request part of the program and thus on purpose? If that's the case, how are you doing the leave request?

    Could you please perform a sniffer trace and upload the sniffer log here?

    Best regards,

    Marte

  • It was based on an end device example but it has many modifications form that template. 

    Basically we create some cluster bindings from the end device to the coordinator automatically once connected for the first time.

    When the coordinator wants to remove the child, it sends a leave request (zdo_mgmt_leave_req()) with the following data:

    p_req->dst_addr = <end device short address>
    p_req->device_address = <end device ieee address>
    p_req->rejoin = false
    I'll try to get Wireshark log for you today/tomorrow
    Regards,
Reply
  • It was based on an end device example but it has many modifications form that template. 

    Basically we create some cluster bindings from the end device to the coordinator automatically once connected for the first time.

    When the coordinator wants to remove the child, it sends a leave request (zdo_mgmt_leave_req()) with the following data:

    p_req->dst_addr = <end device short address>
    p_req->device_address = <end device ieee address>
    p_req->rejoin = false
    I'll try to get Wireshark log for you today/tomorrow
    Regards,
Children
Related