你好:
我的zigbee网络中有20个路由设备,1个协调器,采用MTO方式,现在协调器周期性询问每个路由设备,即做心跳轮询,一段时间以后,有时很快,就有一些路由设备没有回复,此时抓包没有发现“离线”的设备发出任何数据包,连link status包都没有,不知道它到底在做什么,但“离线”的设备单片机应用部分却是正常的,只是网络部分“死掉”了。所有设备都开启了NV_RESTORE。
YiKai Chen:
你用的Z-Stack版本?有沒有抓包?
Alvin Chen:
建议你抓包看看到底有没有离线,此外建议你升级Z-STACK,
在最新的Z-STACK 3.0.2里面我们做了完整的Childaging ,类似于心跳包。
user5781668:
回复 YiKai Chen:
Z-Stack版本 2.5.1a ,抓包数据现没有保存,但现象是相似的,长期抓包发现“离线”的设备最后一个数据包是Network status ,其中显示many to one route failure.
YiKai Chen:
回复 user5781668:
Z-Stack版本 2.5.1a太舊了,建議你更新到Z-Stack 3.0.2
user5781668:
回复 Alvin Chen:
你好,我有抓包确认过了,“离线”的设备确实没有发出任何数据包。
Alvin Chen:
回复 user5781668:
many to one route failure 0x0c
有可能是memory的问题,建议你修改MTO/concentrator settings 在 nwk_globals.h and ZGlobals.h/********************************************************************** @fnZDO_ManytoOneFailureIndicationCB** @briefThis function allows the next higher layer of a*concentrator to be notified of a many-to-one route*failure.** @paramnone*** @returnnone*/
void ZDO_ManytoOneFailureIndicationCB()
{// By default, the concentrator automatically redo many-to-one route// discovery to update all many-to-one routes in the network// If you want anything processing other than the default,// please replace the following code.
RTG_MTORouteReq();
}
Alvin Chen:
回复 Alvin Chen:
user5781668:
回复 Alvin Chen:
你好,请问这些参数要具体怎样根据设备数量进行设置?我的需求是100个设备
YiKai Chen:
回复 user5781668:
參考一下 www.ti.com/…/swra427c.pdf
user5781668:
回复 Alvin Chen:
你好,我曾经尝试过以下做法:
一、重新烧录协调器固件,“离线”的设备就重新有数据包发出了,即活过来了,但不一定每次都有用。
二、“离线”的设备重新上电,也可以活过来。
这到底是哪边出了问题???