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.

CC2530: Zstack3.0 protocol stack and Zstack2.5.1a network compatibility problem

Part Number: CC2530
Other Parts Discussed in Thread: Z-STACK

One question from customer side:

We use Zstack3.0 as the coordinator, and use Zstack2.5.1a as the routing node to access the network and capture the packet. After the coordinator transmits the NWK Key, the routing node does not respond to this message, and No Device Announce broadcasts itself into the network. Why?
best regards,
Steven
  • Hi,

    Can you provide the sniffer log itself (not just a screenshot)?

    It's probably due to different security settings used between the devices.

    As we have newer releases for Z-Stack, I'd recommend updating the firmware on the router. Can you try with Z-Stack 3.0.2?

    Regards,
    Toby

  • Does your Zstack2.5.1a device enable TC link key and use standard Zigbee alliance TC link key? By the way, Zstack2.5.1a is an obsolete stack and it's recommended to use latest Z-Stack 3.0.2 or at leaset Z-Stack home 1.2.2a.

  • Hi Toby,

    thanks for feedback. The customers' feedback as below:

    1. The attachment is a log file. In fact, TI can make a 3.0 and then a version 2.5.1a, with a fixed key method, you can reproduce this problem and locate the reason, just look at the log estimate or can not understand why the two can not be network compatible.
    2. Now the problem we have encountered is that the new module uses the 3.0 protocol stack. It needs to be compatible with the old 2.5.1.a version. How can the new version and the old version communicate?
      3. The key is to know why the old version can't communicate with the new version. How do we need to modify version 3.0? This part of the code is not open source and we can't find the problem.
    4. Referring to the attachment, one is 2.5.1a and can be connected to the network. The other is that 3.0 cannot be compatible with the 2.5.1.a version of the protocol stack. Why? Need to be sure that if the fixed key is used, the two versions cannot be compatible. Can I turn off some features of version 3.0 to achieve compatibility with the 2.5.1.a version of the new stack software?

    /////////////////////////////////////////////////

    1.附件是log文件。其实TI自己可以搞个3.0再搞个2.5.1a版本,用固定密钥方式, 就能复现这个问题并定位原因,只单看log估计还是无法理解为何两者不能入网兼容.
    2.现在我们碰到的问题就是新模块用3.0协议栈, 需要跟之前老的2.5.1.a版本兼容,新版本和老版本如何通讯得了?
    3.关键还是要知道老版本为什么无法和新版本通讯,我们需要如何修改3.0版本, 这部分它代码没开源我们无法发现问题.
    4. 参考附件, 有一个是2.5.1a的可以入网,另一个是3.0不能跟2.5.1.a版本协议栈入网兼容, 为什么? 需要确定,固定密钥情况下,两个版本若不能兼容通讯, 我是否可以关掉3.0版本的某些特性,来达到使用新栈软件又能兼容2.5.1.a版本通讯?

    /////////////////aaa.psdbbb.psd

     


    regards,

    Steven

     

     

  • yk,

    Thanks for feedback. Sorry, per customers' comments, the TC_Link proposal is tried but has no help before  (noted in E2EChina website).

    regards,

    Steven

  • Please see the difference in encryption of the Transport Key message between aaa.psd and bbb.psd.
    When you look at a packet in detail, the upper right lock icon will show you they key which the packet is encrypted with.

    In aaa.psd (with Zigbee 3.0 coordinator), the Transport Key message is encrypted at the APS layer using the default global TC link key "ZigBeeAlliance09"(5A:69:67:42:65:65:41:6C:6C:69:61:6E:63:65:30:39). The 2.5.1a joining device is probably unable to decrypt this packet.

    In bbb.psd (with 2.5.1a coordinator), the Transport Key message is encrypted at the NWK layer using some NWK key. This 2.5.1a joining device seems to know this key, since it's able to decrypt the command and then broadcast the Device Announce.

  • Thank Toby.

    So it since the keys are different. What / how does the customer do to make them communicate successfully?

    thanks.

  • Make sure the following conditions are meet in Z-Stack 2.5.1a device.

    1. Set the following values in ZGlobals.c

    uint8 zgPreConfigKeys = FALSE;// TRUE;
    uint8 zgUseDefaultTCLK = TRUE; // FALSE

    2. Set -DSECURE=1 in f8wconfig.cfg.

    3. Make sure the following define isn't changed in nwk_globals.h

    #define DEFAULT_TC_LINK_KEY             { 0x5a, 0x69, 0x67, 0x42, 0x65, 0x65, 0x41, 0x6c,\
                                              0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x30, 0x39 }