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.

Linux/CC2530: TI Linux gateway + CC2530 coordinator, ED failed to rejoin issue

Part Number: CC2530
Other Parts Discussed in Thread: Z-STACK

Tool/software: Linux

Hi TI,

I have a question about zigbee rejoin process, I searched some old questions and looks like zstack(zigbee protocol does not define?)has some known issues, I also encounter some rejoin issues, I am using TI linux zigbee gateway communicate with zstack, through gateway's print log, when end device rejoin network, gateway send node descriptor request to zstack, but there is no response from zstack, after 4 times retry, it failed, I am not sure whether we can say this is a known issue?  I capture packet over the air,  actually there is no node descriptor request was sent out through zstack

Thanks

  • Do you have sniffer log for this issue?
  • Hi YK,

    I attached sniffer file, hope it works for you

    BR
    Sha

  • I don't see anything similar to what you mentioned "when end device rejoin network, gateway send node descriptor request to zstack, but there is no response from zstack, after 4 times retry, it failed" in your sniffer log.
  • Hi YK,

    That log is not sniffer log, it is printed from TI Linux Gateway what I mentioned previously,  Let me attach that log at here

    REJOIN_FAIL_ZSTACK_LOG.zip

  • Is the Ubiqua Sniffer log mapped to REJOIN_FAIL_ZSTACK_LOG?
  • Sure, absolutely
  • 1. In your REJOIN_FAIL_ZSTACK_LOG, there is ZDO_IEEE_ADDR_REQ/ZDO_IEEE_ADDR_RSP but I don't see them in your sniffer log. This is strange and why I ask if they are matched.
    2. In your REJOIN_FAIL_ZSTACK_LOG, when you send ZDO_NODE_DESC_REQ it turns out DEV_NWK_ROUTE_REQ which means ZC doesn't think the ZED connected to it and this also doesn't show in your sniffer log.

    What Z-Stack example is this ZED with short addres 0x6424?
  • Hi YK,
    That strange thing also is my question, I suspect zstack cached some node descriptor info and so it does not need to forward request over the air ? it just is my guess, because ZED is sending rejoin request, through sniffer log, zstack also reply rejoin response, but due to some unknown reason, zstack can't find cached descriptor info and failed to send it to Linux gateway

    I don't know what's zstack version of ZED because it does not show any problem of ZED, if necessary, I can ask
  • If we focus on ZDO_IEEE_ADDR_REQ and ZDO_IEEE_ADDR_RSP in your REJOIN_FAIL_ZSTACK_LOG, I still cannot see them in Ubiqua log.
  • I guess that this is rejoin process, zstack remember ZED's IEEE address, so it return to gateway directly, Do you doubt ubiqua failed to capture the NODE_DESC and ZED did not response NODE_DESC request ?

    Per your experience, If ZED use some old zstack version, it may has some rejoin known issue?
  • I guess that this is rejoin process, zstack remember ZED's IEEE address, so it return to gateway directly, Do you doubt ubiqua failed to capture the NODE_DESC and ZED did not response NODE_DESC request ?

    Per your experience, If ZED use some old zstack version, it may has some rejoin known issue?
  • I don't suspect Ubiqua failed to capture the NODE_DESC and ZED did not response NODE_DESC request. In your REJOIN_FAIL_ZSTACK_LOG, ZDO_NODE_DESC_REQ it turns out DEV_NWK_ROUTE_REQ but I don't see DEV_NWK_ROUTE_REQ in your sniffer log.
  • I also don't see DEV_NWK_ROUTE_REQ in sniffer, Does it mean zstack did not send it out due to some unknown reason ? How do I debug zstack, Should I debug zstack with IAR ?
  • According to your sniffer log, the ZED keeps polling ZC so I don't know why REJOIN_FAIL_ZSTACK_LOG shows to send DEV_NWK_ROUTE_REQ. If you want to debug Z-Stack, you need to use IAR.
  • Because I just take out battery of ZED and put it back quickly, so I think coordinator zstack should not lost ZED's address, so even gateway try to query address of ZED, zstack should return the address right away, that is my understand

    I have IAR, that is why I am asking source code of ZNP coordinator, I am not familiar with it's source code, is there any instruction for it?
  • There is no instruction for ZNP source code.
  • Hi YK,

    Are you TI employee?
  • No, I am not.
  • Hi YK,

    Quick question, how zstack handle ieee address and short address, Will zstack save them in nvram? if zstack received a network address request, how zstack search ieee address and short address? thanks
  • If a device receives network or IEEE address request, it would get the information from NV Flash and responds accordingly.
  • Hi YK,

    I am looking at function zdpProcessAddrReq, In the function, it will call AddrMgrEntryGet to get address from NV Flash, Is that correct ?

    Do you know how to check information content which is saved in NV Flash ?

    BR
    Sha
  • Yes, zdpProcessAddrReq is to process an incoming NWK_addr_req or IEEE_addr_req message and then build and send a corresponding NWK_addr_rsp or IEEE_addr_rsp msg. If IEEE address request is received by end device, it would use saveExtAddr (set by calling NLME_GetExtAddr()) as IEEE address. If IEEE address request is received by router and it finds item in its association list, it would process IEEE address request by AddrMgrEntryGet.