TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2530: ZStack 2.51 a 版本 网络密钥问题,通过修改DEFAULT_TC_LINK_KEY的参数来区分不同的个域网,节点也都有修改,实际操作两个个域网还是能自由组网,没法隔离开两个网络,是否有其他办法实现

Part Number:CC2530Other Parts Discussed in Thread:Z-STACK

nwk_globals.h文件中原始内容如下:

// ZigBee Alliance Pre-configured TC Link Key – 'ZigBeeAlliance09'
#define DEFAULT_TC_LINK_KEY { 0x5a, 0x69, 0x67, 0x42, 0x65, 0x65, 0x41, 0x6c,\
0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x30, 0x39 }

nwk_globals.h文件中修改如下:

// ZigBee Alliance Pre-configured TC Link Key – 'ZigBeeAlliance09'
#define DEFAULT_TC_LINK_KEY { 0x20, 0x69, 0x67, 0x42, 0x65, 0x65, 0x41, 0x6c,\
0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x30, 0x20 }

后续实验操作中,代码组网流程是这样的:

节点组网发起请求第一步

zgWriteStartupOptions(ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE);//删除当前的组网信息

resetflag[0] = 1 ;//终端复位标志置1

osal_nv_write(0x0402, 0, 12, resetflag);//模式写入到flash

SystemReset();//重启MCU

第二步节点设备复位之后会根据标志位执行ZDOInitDevice(0);

再复位前,协调器开启了入网窗口60s,设备就完成了该网络的入网,

问题:我给两个协调器烧录的程序是一个版本,除了nwk_globals.h文件中的key是不同的,A协调器是0x20…0x20,B协调器是0x10….0x10;C路由节点的keyf分两次烧录实验,分别为A协调器的key和B协调器的key。

    实验结果:

    C路由节点因为之前就加入过A协调器,无论key改成什么都只能加入到A协调器,始终没法加入到B协调器,麻烦TI大佬解惑

Cherry Zhou:

您好我们已经收到您的问题并反馈,预计将于24小时内给您答复。谢谢。

,

YiKai Chen:

Z-Stack 2.5.1a預設加密功能是沒有打開的,你的f8wconfig.cfg內的-DSECURE=0有沒有改成-DSECURE=1併加上去使能加密功能?

,

xuan ouyang:

 代码中是有enable的

,

xuan ouyang:

 协调器和路由都是开启状态

,

YiKai Chen:

Z-Stack 2.5.1a太舊了,不確定TC Link Key是不是會運作;建議你把ZGlobals.c內的zgPreConfigKeys設成TRUE,zgUseDefaultTCLK設成FALSE,然後修改defaultKey試試看

,

xuan ouyang:

我按照要求修改了,zgPreConfigKeys設成TRUE,zgUseDefaultTCLK設成FALSE,路由节点修改了ZDSecMgrTCMasterKey的值,还是会自动加入到原来的网络

,

YiKai Chen:

修改defaultKey試試,另外建議抓包看看封包是不是加密的

,

Cherry Zhou:

如果使用相同的 DEFAULT_KEY ,那么即使没有该弃用 Zigbee 规范下的正确 TC Link Key ,器件也能够自由通信。

您可以通过 DEFAULT_CHANLIST 和 ZDAPP_CONFIG_PAN_ID 进一步分隔网络。

以及为了更好地解决您的问题,您是否能提供监听器日志?

,

Cherry Zhou:

如果该节点具有不同的 TC Link 密钥,并且它们不共享预分配的 Nwk 密钥,那么我们认为该节点不能加入 ZC 的网络。 ZCD_STARTOPT_DEFAULT_network_State 和 ZCD_STARTOPT_DEFAULT_CONFIG_STATE 都应设置为完全出厂的新配置,否则无法确定器件是否正在重新加入其先前的网络或重新尝试加入 (包括网络发现) 。

赞(0)
未经允许不得转载:TI中文支持网 » CC2530: ZStack 2.51 a 版本 网络密钥问题,通过修改DEFAULT_TC_LINK_KEY的参数来区分不同的个域网,节点也都有修改,实际操作两个个域网还是能自由组网,没法隔离开两个网络,是否有其他办法实现
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1