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

zdo mgmt_leave Timeout With End Devices

I am using Thread/ZigBee SDK v4.0.0 as a coordinator.  I have no zigbee routers in the network so all of the end devices in the network join the coordinator.  When I issue a 

zdo mgmt_leave <h: 64-bit IEEE> 

I offten get a Error: mgmt_leave timeout.  I'm assuming that this is because is end device is asleep and wasn't able to respond to the leave request since it's radio was off.  Give this what's the recommend procedure to remove a device from the network when it's only connected to the coordinator.

Thanks,

Parents
  • Hi Darren,

    Can you double check the format for the payload on this command? The CLI reference on the infocenter asks you to use the 16-bit format on the destination address, not the 64-bit IEEE address:

    zdo mgmt_leave <h:16-bit dst_addr> [h:device_address eui64] [--children] [--rejoin]

    If device_address is omitted or it has value 0000000000000000, the remote device at address dst_addr will remove itself from the network. If device_address has other value, it must be a long address corresponding to dst_addr or a long address of child node of dst_addr.

    So if you want <h:16-bit dst_addr> node to leave the network you should send this command with [h:device_address eui64]== 0 or omitted.

    Examples:

    zdo mgmt_leave 0x1234

    Sends mgmt_leave_req to the device with the short address 0x1234, asking it to remove itself from the network.

    BR,

    Marjeris

Reply
  • Hi Darren,

    Can you double check the format for the payload on this command? The CLI reference on the infocenter asks you to use the 16-bit format on the destination address, not the 64-bit IEEE address:

    zdo mgmt_leave <h:16-bit dst_addr> [h:device_address eui64] [--children] [--rejoin]

    If device_address is omitted or it has value 0000000000000000, the remote device at address dst_addr will remove itself from the network. If device_address has other value, it must be a long address corresponding to dst_addr or a long address of child node of dst_addr.

    So if you want <h:16-bit dst_addr> node to leave the network you should send this command with [h:device_address eui64]== 0 or omitted.

    Examples:

    zdo mgmt_leave 0x1234

    Sends mgmt_leave_req to the device with the short address 0x1234, asking it to remove itself from the network.

    BR,

    Marjeris

Children
Related