This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Z stack 3.0.2 - ZC sends Remove device to ZR during Network formation

Part Number: CC2530
Other Parts Discussed in Thread: CC2538,

Hello,

The test setup we have is:

1 ZC       -     znp project 3.0.2 

85 ZR     -     samplelight 3.0.2

When performing network formation, the coordinator is sending Remove Device (0x07) to the Zigbee Router after it joins the network

  • Mostly observed when the network traffic is high (More number of nodes sending beacon request)
  • When we did network formation in batches of 30, we faced lesser problems comparitively

Once ZC sends Remove Device to a Router X, anytime X joins the network again, ZC will send Remove Device again ( This is similar to Black listing )

How can we avoid this ?

1)  Went through https://processors.wiki.ti.com/index.php/Zigbee_Known_Issues_and_Proposed_Fixes, most of patches have been applied in the code used except 

8. NWK/APS packet retries/failure when ZED polls during commissioning (Transport Key, Simple Descriptor Request, etc)

 Increase the number of network layer data buffers

12. ZC sends ZEDs Leave Reqs after MAC Association

ZDAPP_UPDATE_NWK_NV_TIME value change to 3500

   We are facing issues on a similar line, but we do not have any ZED in our network

   Are the changes mentioned in the document recommended for Network with ZR also ?

I have attached the wireshark logs for reference

Key: 00:01:02:03:04:05:06:07:08:09:0A:0B:0C:0D:0E:0F

 zs3_02-11_09_56_LNT.zip

Regards,

Suhrith

  • You may be hitting the ZDSECMGR_TC_DEVICE_MAX maximum.

    See  .

  • Hello Suhrith,

    le_top is on the right path, you will also need to increase NWK_MAX_DEVICE_LIST.  Have you increased ZDAPP_UPDATE_NWK_NV_TIME, INT_HEAP_LEN, and NV memory pages yet?  I assume the ZC is a CC2538 as the CC2530 has insufficient flash/ram to maintain 85 nodes.  Refer to SWRA635 for more details.

    Regards,
    Ryan

  • Thank le_top and Ryan,

    The ZC is CC2530, we have not made any changes to the default values yet

    1) In z stack 2, we have been able to join around 150 ZRs (cc2530) to the ZC (cc2530)                 (NWK_MAX_DEVICE_LIST = 20 on ZC)

    why cant we implement the same with zstack 3.0.2 

    Here are few queries

    2) If we want to use zstack 3.0.2 Routers, TCLK key update cannot be avoided in any case ? 

    3) Can we disable TC_LINKKEY_JOIN, and still use Routers (cc2530 3.0.2) with coordinator (cc2530 znp 3.0.2) ?

    4) If we want to use end device (3.0.2) and ZRs (3.0.2), should ZDSECMGR_TC_DEVICE_MAX value = End Device + Routers

    5) If we want to use 'X' ZRs with one ZC, should both ZDSECMGR_TC_DEVICE_MAX and NWK_MAX_DEVICE_LIST be equal to 'X' 

    Regards,

    Suhrith

  • Hi Suhrith,

    TC Link Key updates are featured in Zigbee 3.0 and require NV memory table storage for each entry which is why le_top recommended that you increase the value of ZDSECMGR_TC_DEVICE_MAX (equal to the total number of Zigbee 3.0 nodes allowed on the network).  You can learn more about TCLK updates in SWRA615.  You could disable nodes from requesting a new TCLK by setting requestNewTrustCenterLinkKey in ZDSecMgr.c to FALSE and not require the TC key exchange process from the ZC by setting BDB_DEFAULT_TC_REQUIRE_KEY_EXCHANGE in bdb_interface.h to FALSE as well, however this is not recommended for Zigbee 3.0 networks.  These configurations are mainly available to allow for backwards compatibility with legacy Zigbee profiles.  NWK_MAX_DEVICE_LIST represents the number of nodes allowed to be directly connected to the local device and is thus not expected to be equal to ZDSECMGR_TC_DEVICE_MAX for a mesh network that employs several routers.

    Regards,
    Ryan

  • Thanks Ryan for clarifying