[ZIGBEE] Lost Connection after refresh key

SDK: 4.1.0

CHIP: 52840

my sleepy zed lost connection to the coordinator after refreshing key of the coordinator.

old question

the zed received "switch key packet" but doesn't procedure anything.


Why switch key mechanism doesn't work?

it is zigbee version problem? Is it up to zigbee developer?


I wants to send zigbee network layer packet like below picture. Which function should I use?


How can I get network time? Is there the synchronization of time in zigbee stack?

  • Hi,

    1) Can you attach the whole sniffer log in the .pcapng format so I can see the whole transaction? Usually when the coordinator decides to switch NWK key, at first, it broadcast new NWK Key (Transport Key command) and then it broadcasts the Switch Key command with key_sequence to switch to. There are no response commands to the broadcasted commands, so there is not response expected. You can read more about NWK key update in the Zigbee specification Network Key Update.

    2) A 'Rejoin request' command is usually sent as a response to a communication failure, such as when an end device can no longer communicate with its original parent, see the Zigbee specification 3.4.6 Rejoin Request Command . If a network is left by a router or end device, the device will automatically try to join any open network. The rounter will use the default signal handler to try to join or rejoing the network until it succeeds, the end device will do the same but will only retry for a finite period of time, because of battery savings. Please take a look inside the default_signal_handler() on the SDK examples and take a look at the Zigbee network rejoining procedure on the documentation: https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_tz_v4.1.0%2Fzigbee_application_reference_component.html&resultof=%22%72%65%6a%6f%69%6e%22%20&anchor=zarco_network_rejoin

    3) What do you mean by 'network time'?

    Best regards,


  • Hi, Thanks for the reply!! I have been waiting for long while.

    1) Can you attach the whole sniffer log in the .pcapng format so I can see the whole transaction?


    the packet of transport key is encrypted by "5A:69:67:42:65:65:41:6C:6C:69:61:6E:63:65:30:39" which is TC_LINK_KEY.

    the old key is "8F:D4:7C:A9:F8:52:FB:B5:9F:7B:5C:F7:DA:EE:BF:CD".

    3) What do you mean by 'network time'?

    Never mind. I found time cluster.

    Currently, I wants to erase old network key in zed. 

    The zed doesn't receive the packet of transport key which is encrypted by TC_LINK_KEY so that the zed has always old key and encrypt the packet by the old key.

    I want the zed to decrypt the packet with TC_LINK_KEY by deleting the old key.

    I have been debugging the memory which allocated the buffer of zigbee key. but I can't find any clue of deleting or getting key in zed.

    How can I delete only network key except other parameters?

  • I have newly posted on related issues. I would appreciate your application here.