How to leave device force fully from NXP Zigbee 3.0 stack

cancel
Showing results for 
Search instead for 
Did you mean: 

How to leave device force fully from NXP Zigbee 3.0 stack

Jump to solution
427 Views
Contributor III

Hi Support Team,

I want to remove a device from the network without any bother if it is online or power off. How to clear device-specific information from the stack. so the coordinator itself not allowed to rejoin that device again in network.

Issue Description: Currently, Zigbee Coordinator is sending management leave request but there is device power off due to not leave and also coordinator not getting leave confirmation. so once the device again powers up and it has rejoined the Zigbee network successfully. 
Labels (3)
0 Kudos
1 Solution
376 Views
NXP TechSupport
NXP TechSupport

 

Hi Kanji,

You could use the API ZPS_bAplZdoTrustCenterRemoveDevice

This function can be used by the Trust Centre to delete a node in its information base.

Regards,

Mario

View solution in original post

13 Replies
286 Views
NXP TechSupport
NXP TechSupport

Hi Kanji,

The Install code can be used to create the link key used to authenticate a node into a centralized security network and pass the network key to the node. The install code and derived link key protect the network key with high security.

In other words, in your case, the node that was power off and then power on has the network key. It can enter the network again.

Regards,

Mario

284 Views
Contributor III

Hi @mario_castaneda ,

If I removed the link key using this API ZPS_teStatus ZPS_eAplZdoRemoveLinkKey( uint64 u64IeeeAddr) then also device again enter in a network.


Thanks & Regards,

Kanji.

0 Kudos
274 Views
NXP TechSupport
NXP TechSupport

Hi,

The device should receive the leave command when it is power on. Otherwise, the device doesn't erase the network information.

You could change the network key to avoid that the device rejoins the network.

Regards,

Mario

0 Kudos
270 Views
Contributor III

Hi @mario_castaneda ,

You could change the network key to avoid that the device rejoins the network.

Here, we have two scenarios happening:

scenario-1:
The coordinator doesn't remove end devices in that case, we can expect to device rejoin successfully. In case a device goes offline then it should be back online.

scenario-2:

The coordinator has removed the specific device and that time device is powered off. so definitely it will not leave the network. whenever the device again powered it has joined the successful network.

As per your feedback, If we removed the network key on every power cycle then scenario-1 will be failed. Am I right?

Thanks & Regards,

Kanji.

0 Kudos
263 Views
NXP TechSupport
NXP TechSupport

Hi,

 

As per your feedback, If we removed the network key on every power cycle then scenario-1 will be failed. Am I right?

Yes, you are right. In Scenario-2, you could implement a polling routine, and be sure that if the device comes back you could send the leave command again.

Is the node a SED?

Regards,

Mario

0 Kudos
326 Views
NXP TechSupport
NXP TechSupport

Hi Kanji,

Is it possible that you could print out the vDisplayNWKKey and the vDisplayAPSTable before and after calling the ZPS_bAplZdoTrustCenterRemoveDevice API?

Also, what is the response that you are seeing in the sniffer log when the SED power on?

Regards,

Mario

0 Kudos
318 Views
Contributor III

Hi Mario, 

We are using the same install code for all devices. Here, I have attached log file & sniffer log. Please look into that.

0 Kudos
313 Views
Contributor III

IEEE Address 0x158d0001930330
PanID 0x7f4c
CurRadioChannel 0x0f
Transmit Power 0x08
NWK KEY: 30 75 b6 c3 2c 41 12 6f e8 cd 2e db 64 19 0a 07

0 Kudos
377 Views
NXP TechSupport
NXP TechSupport

 

Hi Kanji,

You could use the API ZPS_bAplZdoTrustCenterRemoveDevice

This function can be used by the Trust Centre to delete a node in its information base.

Regards,

Mario

View solution in original post

347 Views
Contributor III

Hi @mario_castaneda , Stil I am getting issue while leave request send to device. Unfortuantely device is powered off after powered up device then again successfully device rejoin even I have removed device info from the trust center using this ZPS_bAplZdoTrustCenterRemoveDevice().

0 Kudos
370 Views
Contributor III

@mario_castaneda , I appreciate your effort and quick resolution. Thank you so much man!!!

406 Views
NXP TechSupport
NXP TechSupport

Hi Kanji,

I hope you are doing great.

As the device is power off or could be in sleep mode, the device won't receive any data.

The parent will try to reach the device 3 times, and if the case of a leave command, the parent will erase the information from the routing table. Unfortunately, the SED has the Zigbee network key and it could rejoin again without any issue.

So, you have to change the Zigbee network key or poll for the data request to send the leave request again. 

You could look at the B.2 Sending Data to Sleeping End Devices and B.2.1 Acknowledged Data Transmission to Sleeping End Device

https://www.nxp.com/docs/en/user-guide/JN-UG-3048.pdf

Regards,

Mario

0 Kudos
389 Views
Contributor III

Hi @mario_castaneda ,

 

Actually, I want to intentionally remove the device from the coordinator Zigbee stack. that means I wanna clear that device-specific stuff from the stack so next time it will not able to communicate with Zigbee coordinator. 

i.e: 

B.3 Clearing Stack Context Data Before a Rejoin
- suppose to be a device is powered off and a leave request sent to the device, but it was not able to respond and not leave from the network. Instead, if we can remove device-specific things from the coordinator stack then definitely CO itself not allowed further communication with that specific device. It is one kind of leave perform at the coordinator side. Is this possible to do that? so which kind of information remove/delete in the coordinator so we can achieve it.

FYI: We are using install code based link key security level.

0 Kudos