微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 加密通讯问题

加密通讯问题

时间:10-02 整理:3721RD 点击:

协调器和单一终端通讯,终端工作在低功耗模式

配置如下:

zgPreConfigKeys = TRUE

加密:SECURE=1 ,ZG_SECURE_DYNAMIC=1;

不能入网了终端,ZG_SECURE_DYNAMIC=0也试过还是不能通讯,终端入网过后立即就退网了,不晓得怎么回事

在这个osal_memcpy( zgPreConfigKey, defaultKey, SEC_KEY_LEN );加入断点,主机的defaultKey和终端的defaultKey,都是一样的

  status = osal_nv_item_init( ZCD_NV_PRECFGKEY, SEC_KEY_LEN, zgPreConfigKey );运行过后返回status 的值是0x09

默认例子是开启了security的,如Z-Stack Home 1.2.2a.44539的sampleSwitch和Samplelight。

抓个包看看,为什么拒绝入网?

我使用的是zstack2.5.0版本0005.aa.psd

大神我的加密还没有解决,我认为现象是秘钥出了问题,有没有在调试的过程中看到当前网络秘钥的办法

http://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/p/106224/287155.aspx#287155

这个链接的帖子也是我发的,但是还是没有解决掉的嘛

你在TI的原始协议栈上面测试过没有问题,那肯定是你自己添加的代码出问题了,你再查查那部分添加以后会出问题。

这个我晓得,我已经检查了好几天了。没有弄出来。不晓得是咋个回事。

原始协议栈肯定没有问题,这个您们肯定测试过很多次

主要是不能看到当前的KEY值,所以出现问题不晓得如何处理。后期我加的程序还是比较多。而且目前测试都没有打的问题,只要加密合适就可以使用了。

可以告诉我秘钥的地址位么?

我利用osal_nv_read( 98, 0, 16, bufferdata );函数读的秘钥协调器和终端都是一样的。都是DDEFAULT_KEY定义的数,但是还是连不上

你代码改动的地方,有没有跟加密这块相关的。 建议还是和原始协议栈做一一对比。

哪些部分和加密有关?

原因大概找到了,但是不晓得咋个解决。

      osal_nv_read(ZCD_NV_SECURITY_LEVEL, 0, 16, bufferdata );
      osal_nv_read(ZCD_NV_PRECFGKEY, 0, 16, bufferdata );
      osal_nv_read( ZCD_NV_PRECFGKEYS_ENABLE, 0, 16, bufferdata );
      osal_nv_read( ZCD_NV_SECURITY_MODE, 0, 16, bufferdata );
      osal_nv_read( ZCD_NV_SECURE_PERMIT_JOIN, 0, 16, bufferdata );

我发现协调器和终端的ZCD_NV_SECURITY_LEVEL和ZCD_NV_PRECFGKEY相同。ZCD_NV_PRECFGKEYS_ENABLE, ZCD_NV_SECURITY_MODE和ZCD_NV_SECURE_PERMIT_JOIN不一样。不过我不知道后面三个参数在哪里改变的。

这个问题已经解决就是让协调器和终端的NV_INIT定义一样就可以了,不过没有解决加密后不能联网的问题

你用的是Preconfig Key对吧?然后两边配置的preconfig key不一样?

不能联网,具体发生了什么?节点有没有搜网,有没有找到网络,找到网络有没有发Association,发了以后有没有transport key?

VV大神帮忙看看这个帖子呗 http://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/p/107939/291863.aspx#291863

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top