ChasWang 配网成功之后,还不能马上通讯,你还要er给ee的OnOff Model绑定appkey,以及你还要知道OnOff Model的所在元素的地址,这样才能正常通讯。捉包器看一下就知道了,我估计你这个er的包都没发去。
U are right! Generic OnOff Model 绑定app key 后,er和ee成功建立了交互,不过消息卡在了ee的bearer层(配网成功后,er通过 transition 消息发送修改state指令。er每发送一次指令,ee端m_bearer_rx()就运行一次 )。 用wireshark可以抓到配网成功后的加密包,证明er的包发送出来了。 是ee端缺少配置吗?
ChasWang 不一定,你最好把捉包log也分享出来,目前i无法判断er已经发送出去state命令了
如上图。 应该是配网成功了
er MAC:BB-99-77-55-33-11 eeMAC: AA-88-66-44-22-00
把捉包中的数据解密下吧,要不就只能单步调试自己查看了
解密后的图像如上。 是ee方出现问题了吗?
ChasWang 是的,ee没响应,这个在ee端单步调试下吧,看看它解析到哪一层就进行不下去了
想咨询下 model信息交互中的 Opcode 的作用是什么呢? 我之前没有进行这个操作,可能是这个导致的
ChasWang 简单地来说,有什么类型的操作码就决定了你这个模型有什么样的功能; 而如果是用的标准的模型,是不需要用户自己填充操作码的,关于操作码更多内容可以查看官方的spec也可以查看我们红旭的教程;wireshkark之所以知道你 发的是OnOffSet的命令,就是它通过操作码识别的,你用户也并没有去填充它吧?
Wireless-Tech 是滴 用户没有必要去填充,client端已经把操作码填充了。这条路不通,还是要从server端排查问题。 由于server端 bearer层已经能收到相应PUD,打算从 bearer层向上逐层排查
你就不能代码跟进去看看吗,看Log效率太低了
是的呀! client发给server的消息卡在了 server端的network层了。 server端 network往上层传输state修改命令时,报错“Source address=0000,为无效值”。想问下这个Source adress是指client端的地址吗?
ChasWang 想问下这个Source adress是指client端的地址吗?
是的,源地址不可以是0x0000,谁都不可以,捉包出来的源地址也是0x0000?那这个就神了啊,恭喜你发现了一个bug
抓包显示,er/client发送的命令 source add是0x0000。 看来问题还是在er/client端? er MAC:BB-99-77-55-33-11 eeMAC: AA-88-66-44-22-00
ChasWang 抓包显示,er/client发送的命令 source add是0x0000。 看来问题还是在er/client端?
是的,你这个是哪家的mesh啊,这是一个bug,赶紧上报吧。又或者这个er/client是不是要用户自己配置,而你没有配置?
Wireless-Tech CEVE的 我也在排查中,看看代码里那里的问题。。
源码有问题,修改后已解决~
ChasWang perfect