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.

CC2530DK: CC2530 assoc full,device can rejoin net

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

HI~

I use Z-Stack Home 1.2.2a.44539 and set :

MAX_NODE_DEPTH                    1
NWK_MAX_DEVICE_LIST          0

NWK_MAX_ROUTERS                1

the zigbee architecture :

        C    (depth 0)

         |

        R   (depth 1)

I try to power off  and power on the router to simulate the router lost and  come back

.

1.the router can't join to the net

2.the coordinator assoc is 0 ( I think is AssociatedDevList full)

3.how to do when the router lost the parent and child to auto maintain the assoc list?

4.Z-Stack-Mesh-1.0.0 is the same result

  • Can you attach original psd file?
  • Hi Anson

    I think that you want the router to remember its previews network, so you have to enable the Nv, so make sure to have these flags enabled NV_INIT and NV_RESTORE in the preprocessor options of the project.
  • Hi Anson Chen69,

    As Luis says, make sure to use the NV_RESTORE flag. Additionally 0xFFFFFFFFFFFFFFFF address on your coordinator is a reserved value by the IEEE association used to represent NULL addresses, uninitialized devices and in some cases a broadcast address or distributed security device so, mi recommendation is to change it to the default IEEE address or any different from 0xFFFFFFFFFFFFFFFF or 0x0000000000000000.

    I hope this helps,

    Regards

  • the coordinator assoc is 0 but it doesn't mean AssociatedDevList is full. It means coordinator doesn't enable permit join at this moment. Do you enable NV_RESTORE when you test this?
  • Projects/zstack/HomeAutomation/SampleLight/CoordinatorEB
    setting:
    MAX_NODE_DEPTH 2
    NWK_MAX_DEVICE_LIST 0
    NWK_MAX_DEVICES ( NWK_MAX_DEVICE_LIST + 1 ) >> 1
    NWK_MAX_ROUTERS 1

    AssociatedDevList[NWK_MAX_DEVICES] >> AssociatedDevList[1] >> only one for child node

    Projects/zstack/HomeAutomation/SampleLight/RouterZLight
    setting:
    NWK_MAX_DEVICE_LIST 1
    NWK_MAX_DEVICES ( NWK_MAX_DEVICE_LIST + 1 ) >> 2
    NWK_MAX_ROUTERS 2

    AssociatedDevList[NWK_MAX_DEVICES] >> AssociatedDevList[2] >> one for parent node, one for child node

    psd file:5482.0215.psd

    C

    R1 (0x031F)

    P.nbr2 >> add router 1
    P.nbr9 >> router 1 association request
    P.nbr13 >> assoc success and get short addr 0x031F

    C

    R1 (0x031F)

    R2 (0xCD9C)


    P.nbr23 >> add router 2
    P.nbr24 >> 0x031F Assoc is 1, Rtr_Cap is 1,Dev_Cap is 1 (AssociatedDevList[2] >> one for parent node 0x0000 ,one for child node)
    P.nbr25 >> 0x0000 Assoc is 0, Rtr_Cap is 0,Dev_Cap is 0 (AssociatedDevList[1] >> only one child node 0x031F)
    P.nbr33 >> router 2 association request
    P.nbr37 >> assoc success and get short addr 0xCD9C

    C

    R1 (0x031F)                   

    R2 (0xCD9C)

    R3(Beacon request)

    P.nbr67 >> add router 3 (beacon request)
    P.nbr68 >> 0x0000 Assoc is 0 (AssociatedDevList[1] >> only one child node 0x031F)
    P.nbr69 >> 0xCD9C Assoc is 1,Rtr_Cap is 1,Dev_Cap is 1 but Dev.Depth is 0x02 so router 3 can't join (MAX_NODE_DEPTH is 2)
    P.nbr75 >> 0x031F Assoc is 0 (AssociatedDevList[2] >> one for parent node 0x0000, one for child node 0xCD9C)

    P.nbr126 >> Power down R3 to stop beacon request

    P.nbr130 >> Power down R1 to simulate the router lost or damage

    P.nbr139 >> Power on R3 , R3 can't join to the zigbee(Beacon request)

    Power on R1, R1 can't rejoin to the zigbee (Beacon request)
    I know to enable NV_INIT and NV_RESTORE the R1 can use 0x031F return the net but that not i want

    ****************************************************************************************************************************
    1.
    I hope when R1 powerdown(simulate lost or damage), the R3 can join to the net but R1 parent AssociatedDevList id full( psd file can't see any disassociation notification)

    I hope is:

    C                                  C                                                 C

    R1      >>>>               R1(lost or damage)      >>>>  R3

    R2                               R2                                              R2

    R3                              R3
    (Beacon request)   (Beacon request)

    2.
    I use AssocRemove to do :
    C                                  C                                                      C AssocRemove child R1                                                                   C

    R1            >>>>          R1(lost or damage)    >>>>>                                                                                                        >>>>     R3

    R2                               R2                                                    R2 AssocRemove parent R1 and rejoin the zigbee                      R2
                                                                                                 
    R3                              R3                                                       R3
    (Beacon request)    (Beacon request)                             (Beacon request)

    but when the node is much. Idon't think it is good idea !!!!!!!

    So,have any suggest or idea
    ***************************************************************************************************************************

  • If you don't enable NV_RESTORE, you have to enable permit join to allow device to join.
  • Hi YiKai,
    You mean is coordinator permit join is disable. so the R1 power off and the R3 can't join the net not the coordinator assoc full.

    1.How to enable permit join ??

    2.I have try NLME_PermitJoiningRequest(0xFF) in the coordinator but not work. The R3 still is beacon request but AssocRemove the R1 don't do anything the R3 can join
  • 1. Call NLME_PermitJoiningRequest(0xFF) on coordinator should enable permit join.
    2. Can you provide sniffer log with coordinator permit join enable but router cannot join? By the way, do you power recycle coordinator when you do this test?
  • I have see this :
    e2e.ti.com/.../538280

    1.so you think when assoc full to enable Call NLME_PermitJoiningRequest(0xFF) the R3 should be join the net
    2.Can I use ZStack-CC2530-2.5.1a to provide sniffer log. Because I development is in ZStack-CC2530-2.5.1a, I just check it is improve in Z-Stack Home 1.2.2a.44539
    3.Do you know Chinese?
  • 1. No, when assoc full to enable Call NLME_PermitJoiningRequest(0xFF), the R3 shouldn't be join the net.
    2. Yes
    3. Yes
  • Hi ~ YiKai

    about 1.~ I'm sure I'm the case.

    Is there any idea and advice can be solved?

  • Yes, your AssociatedDevList is full. It shows on Dev.Cap=0x0 in Beacon Payload (NWK Layer Decode).
  • So~It is not bug in zigbee technology or TI thing It's not bug.

    If association table of ZC or ZR is full, no device can join.

    If the zigbee net device is full(all ZR) and when I remove the one ZR(damaged or can not work) form the net ,I can't add any other device.

    If i want to add new ZR to replace the damaged or can not work ZR.

    I only can do is reset the ZC to reorganization zigbee net.

    I think the remove ZR's(damaged or can not work) parent and child should be clean the remove ZR association recording to add the other new device.

    and one question: Are you TI engineer????
  • No, I am not TI engineer or employee.
  • thanks.
    about the this :
    If association table of ZC or ZR is full, no device can join.

    If the zigbee net device is full(all ZR) and when I remove the one ZR(damaged or can not work) form the net ,I can't add any other device.

    If i want to add new ZR to replace the damaged or can not work ZR.

    I only can do is reset the ZC to reorganization zigbee net.

    I think the remove ZR's(damaged or can not work) parent and child should be clean the remove ZR association recording to add the other new device.

    do you have any idea or suggest ??
  • If you leave ZR with leave request and get response, it would be remove from association table. However, if association table is full and this is not the case, there is no better alternative in Z-Stack Home 1.2.2a and previous stack. Z-Stack 3.0 has child aging and can handle this so I suggest you to use Z-Stack 3.0.
  • Z-Stack 3.0 . Can solve my problem or may be able to solve my problem ??
    thanks!
    I will go to test.
  • Z-Stack 3.0 shall solve the problem.