This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2530: 各位老师好 , ZStack-CC2530-2.5.1a 版本,link status 问题咨询

Part Number: CC2530

一、 router 设备短地址0x0001 发出一个link status 报文中 ,到协调器的 Incoming /Outgoing cost 为 0。然后 协调器就发送 route request 报文。并且之后 协调器的link status 中到0x00001  的 Outgoing cost 变为0。

报文附件:H111-65-2.0.16.6-2.psd   

 如附件中报文:  4447 行 0001 发送异常 link status , 4450 行,协调器发送route request。

  1、 请问,怎么才能实现忽略router 发的link status  Incoming /Outgoing cost 为 0的 报文?  

   2、或者 ,怎么能实现 协调器 收到 router 设备任意APS层报文或者其他任何报文后,将自己的邻居表中 Incoming /Outgoing cost  更新为正常?

  • 您好我们已收到您的问题并升级到英文论坛,如有答复将尽快回复您。谢谢!

  • 基本上是沒辦法這樣做,但你可以試著去修改下面的表试试

    rtgTable
    neighborTable

  • 您好,以下工程师的回复以及该帖子中另一位工程师的回复您都可以参考下:

      1、 请问,怎么才能实现忽略router 发的link status  Incoming /Outgoing cost 为 0的 报文?

    ZC 不应希望忽略来自有效邻居路由器的消息,这也就是它尝试发送Route Request来修复连接的原因。 您可以尝试使邻居 / router entries无效,如YiKai Chen所说的,但这会干扰 Zigbee 网络层,并且可能会尝试自校正,我们不推荐这样做。尽管来自 ZR 的link status messages非常零星,但0x0001 的恒定Reserved Profile messages (尽管outgoing cost为零,但没有Route Request) 在这个断开的时间段内保持邻居 / router entries。

       2、或者 ,怎么能实现 协调器 收到 router 设备任意APS层报文或者其他任何报文后,将自己的邻居表中 Incoming /Outgoing cost  更新为正常?

    ZC 的link status message从数据包 4483 开始针对 0x0001 条目进行更新,以反映其能够接收来自 ZR 但无法发送该消息的能力。 链路似乎在数据包 5046 周围愈合,两个节点之间的通信从那里继续。 这是 Zigbee 的预期修复属性,您会发现 ZC 的link status messages在此时间段后继续显示有效成本。

  • 您好,请问,有两家厂商的协调器并不受 router 的link status Incoming /Outgoing cost 为 0 报文的影响 ,怎么修改zstack能实现呢?

    1、 丹东RTU ,首先这个协调器自身根本不发送link status 报文 ,这是怎么实现的?是修改NWK_LINK_STATUS_PERIOD为0吗 ?  但是我们的协调器把NWK_LINK_STATUS_PERIOD改为0  的话,router 和 终端 设备入不了网,是什么情况? 

         另外,他们这个协调器收到 router link status Incoming /Outgoing cost 为 0的报文,并不发送route request报文, 数据报文还能正常交互。怎么能实现这个功能呢? 

    丹东报文:183-8-原丹东rtu.psd。 第212 行收到 router link status  Incoming /Outgoing cost 为 0 不受影响

    2、 南大RTU 。 他们这个协调器发送的 link status Incoming /Outgoing cost 也为 0 。但是他们不发送route request 报文,APS层报文能正常交互, 请问zstack 怎么修改才能这个功能?

    南大报文:183-6-原南大RTU.psd 。 协调器发送的很多 link status Incoming /Outgoing cost 为 0,例如798行,但是他们并不发送route request 报文。APS层报文能也正常交互   。我们也想做成这样,就是不知道怎么修改zstack啊!!!

  • 协调器自身根本不发送link status 报文就是修改NWK_LINK_STATUS_PERIOD为0,协调器把NWK_LINK_STATUS_PERIOD改为0  的话,router 和 终端 设备入不了网應該是你改到其他的程序造成,你重裝zstack再試試

    link status Incoming /Outgoing cost 也为 0 但是不发送route request 报文,可以到Af.c裡頭把AF_DataRequest的下面程序

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    if ( options & AF_SUPRESS_ROUTE_DISC_NETWORK )
    {
    req.discoverRoute = DISC_ROUTE_INITIATE;
    }
    else
    {
    req.discoverRoute = AF_DataRequestDiscoverRoute;
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    改成

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    if ( options & AF_SUPRESS_ROUTE_DISC_NETWORK )
    {
    req.discoverRoute = DISC_ROUTE_NONE;
    }
    else
    {
    req.discoverRoute = DISC_ROUTE_NONE;
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    再試試

  • 非常感谢。这个方法确实可以让 ink status Incoming /Outgoing cost 为 0时不发送route request 报文。

x 出现错误。请重试或与管理员联系。