Z-Stack 3.0 已经有Device announce,但是最后TC link key exchange失败一直导致节点不断beacon request是什么原因?
最新的3.0协议,CC2530芯片,一个coordinator,一个router,是通过TC link key方式入网的,已经能收到Device Announce,说明入网成功了吧,编译信息如下。
uint8 zgPreConfigKeys = TRUE;
uint8 zgApsLinkKeyType = ZG_UNIQUE_LINK_KEY;
已经在f8wConfig.cfg里面配置了/* Default security key. */
-DDEFAULT_KEY=
此处key暂时保密。
为什么仍会产生BDB_TC_LINK_KEY_EXCHANGE_FAIL,导致节点发出Leave,然后5S后又重新Beacon request入网-> Device Announce,然后又Leave,然后一直反反复复这样,ubiqua抓包如下:
zgPreConfigKeys改成FALSE试试。
按你这样改是可以的,TI ZigBee有很多各种key,结合如下链接:我的理解如下,不知道正确不正确
Deyisupport: 为什么defaultKey设置不一样的节点还是可以加入网络?
1、zgPreConfigKeys 这个变量是network layer,也就是网络层的加密key的开关,如果为TRUE,就打开网络层的加密,否则就关闭加密传输;
如果打开网络层加密传输,那么配合的就要设置defaultKey,就是macro definition DEFAULT_KEY in f8wConfig.cfg
这就解释了为什么以前有人说defaultkey设置不同,也可以加入网络,这个是网络层的加密,和入网时候的TC link key是两个截然不同的东西,一个是用来加密传输的,一个是用来入网认证的,当然互不影响了。
2、再说说TC_LINKKEY_JOIN,这个宏在Z-Stack 3.0协议栈里面几乎所有的示例工程都定义了,作用应该就是使能TC link key的,如果去掉这个宏,那么就是所谓的Unsecure方式入网了;
相应的defaultTCLinkKey,这个key想必就是所谓的TC link key了,用在加入网络的认证用的。
烦请@VV 和 @Susan Yang 给确认一下
你可以看下BDB_TC_LINK_KEY_EXCHANGE_FAIL这个错误是在什么情况下发生的
收到BDB_COMMISSIONING_STATE_TC_LINK_KEY_EXCHANGE 消息,didSuccess失败,好像是ZR重刷固件之后再次入网,TC校验不通过,被踢出网络了,3.0协议默认TC Link key好像会发生变化,用ubiqua,看到每次入网都会自动添加新的Trust Center Link key
If the joining device does not pass the TC policy validations, it will be kicked out of the network with a network leave command.
Device announce Stack TC beacon 相关文章:
- 请问associated_devices_t AssocAddNew( uint16 shortAddr, byte extAddr, byte nodeRelation );中nodeRelation怎么得到?
- Z-Stack SampleRemote EB - EndDevice是控制程序吗
- msp430f2618+cc2520 EndDevice 如何做到定时休眠
- ZCL_HA_DEVICEID_COLORED_DIMMABLE_LIGHT包含路径错误问题
- CC2530 Zigbee 改变编译形式问题(从End-Device转为Coordinator或Router)
- 如何检测END-DEVICE是否掉线