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-CC2591EM-RD: How to add CC2530 ZED to CC2530-CC2591 ZRD

Part Number: CC2530-CC2591EM-RD
Other Parts Discussed in Thread: CC2531, Z-STACK, CC2591, CC2530

Hi,
I am using CC2531 as Zigbee Coordinator Device (ZCD) with Z-Stack_Home_1.2 firmware,
                  CC2530_CC2591 as Zigbee  Router Device (ZRD),
                  CC2530 as Zigbee  End Device (ZED).

Initially I have planned to add totally 35 ZED with ZCD. But  ZCD has only limit for 20 devices.

So Now I planning to added  2 ZRD to ZCD and then add more ZED with ZRD.

             |-->ZRD --->ZED(16 quantity)
ZCD--->|
             |-->ZRD --->ZED(17 quantity)

I have added the ZRD with ZCD. When I am trying to add the ZED to ZRD, the ZED is getting added directly with the ZCD.

1. How to add the ZED to a specific ZRD.

2. How to check whether the ZED is added with ZCD (or) ZRD.

3. And how to control the ZED which is added with ZRD.

Thanks & Regards

Pavithran J

  • Hi Pavithran,

    It's possible to increase NWK_MAX_DEVICE_LIST beyond 20 but it is good practice to add ZR devices for network stability.

    1. Which parent the ZED child connects to depends on the Association request response rate.  You can temporarily power off other routing devices or place the ZED closer to the intended ZR and further away from the ZC.

    2. You can check the NIB for nwkCoordAddress inside the ZED firmware after it joins the network and changes its state to DEV_END_DEVICE or confirm which device it communicates with using a sniffer.

    3. EZ-Mode will find any matching clusters and bind as necessary, otherwise you will need to perform endpoint discovery manually and send AF_DataRequest or ZCL packets accordingly.  I recommend that you read through the Z-Stack [Home] Developer's Guide and Sample Application User's Guide for more information.

    Regards,
    Ryan

  • Hi Ryan,

    Thank you for the suggestions.

     I have tried the method that you have mentioned above, but the ZED get is either getting added with ZCD (or) not added at all.

    As I mentioned earlier, I need to add 30+ devices  with CC2531, via Two Router Devices. I am using Z-tool application to add and check the status.

    1) How can I stop the ZED adding with ZCD. So that I can add the ZED with ZRD. Because I am not sure whether ZED is added to ZCD (or) ZRD.

    2) Is there any command to check the capability of ZED, I need to check whether my ZED is capable to act as ZRD.( Because the ZED what we are using has been brought from the third party vendor, there are not sure about the capability ZED and we don't have access to ZED Firmware).

    3) what should I use in Z-tool application to add the ZED with ZRD ,  " ZDO_MGMT_DIRECT_JOIN_REQ "  (or)  "ZDO_MGMT_PERMIT_JOIN_REQUEST".

    Case(1) If  ZDO_MGMT_DIRECT_JOIN_REQ , what should I mention in DstAddr, DeviceAddr, CapInfo. Because I have given the ZRD details in Direct_join_req, where I am getting Status as ZDP_NOT_SUPPORTED.

    Case (2) If ZDO_MGMT_PERMIT_JOIN_REQUEST, what should I mention in AddrMode, DstAddr, Duration, TC significance(ZRD details in it).

    Thanks & Regards

    Pavithran J

  • 1&3. Actually, you cannot control this and does it matter?

    2. You can check capability byte in device announcement to know this.

  • Hi Chen,

    Thanks for suggestions,

    1) Actually, it does not matter, I need to increase the Number of ZED with ZCD, till now I tried up to 20 ZED  with single ZCD which works fine for me. But after that, I can't add the ZED with ZCD. Even though I am increasing the  count in NWK_MAX_DEVICE_LIST, I couldn't add more than 25 devices and that too unstable for me.  That's why I am trying to add like below mentioned method.

                           |-->ZRD --->ZED(16 quantity)

    ZCD--->|

                 |-->ZRD --->ZED(17 quantity)

    2) If there is any other method to add more number ZED with ZCD.

    3) In some article it have mentioned that Ti Zigbee Development Hub are capable to handle 160 devices, is that true ..? Because we are trying to add more number of devices like it.

    4) As you mentioned, in End_device_annce it says Capabilities:0x8E. What does 0x8E mean, whether the device is capable to act as Router .?

    For your Reference:

    ZDO_END_DEVICE_ANNCE_IND (0x45C1)
    SrcAddr: 0xBA97
    NwkAddr: 0xBA97
    IEEEAddr: 0x086BD7FFFE404375
    Capabilities: 0x8E

    Thanks & Regards 

    Pavithran J

  • 1&2. You can add routers into your network first before you join end device. In this way, you don't have to worry about association list full on coordinator.

    3. Yes, our own gateway can join 160 devices without problem.

    4. Please refer to section 2.3.2.3.6 MAC Capability Flags Field in Zigbee spec.

  • Hi Chen,

    Thank you for the document,

    1)  The Capabilities of ZED has following parameter.

          Capabilities: DEVICE_TYPE, POWER_SOURCE, RECEIVER_ON_WHEN_IDLE, ALLOCATE_ADDRESS (0x8E)

    As per the document if DEVICE_TYPE is enabled, then the End Device has Router function within it. Am I right...? 

    2) Does Associated Devices List refers to ZRD in network..? ( Because now I have added 50 ZED with ZCD, in that NumAssocDevices: 0x02 )

    For your Reference:

     <RX>09:54:23.91 COM5 UTIL_GET_DEVICE_INFO_RESPONSE (0x6700)
    Status: SUCCESS (0x0)
    IEEEAddr: 0x00124B0011EB7A80
    ShortAddress: 0x0000
    DeviceType: COORDINATOR, ROUTER, END_DEVICE (0x7)
    DeviceState: DEV_ZB_COORD (0x9)
    NumAssocDevices: 0x02
    AssocDevicesList: 0x69C5, 0x22DA

     

    3) In ZDO_MGMT_LQI_RSP, for the Associated Devices, it shows "Reserved_7_Relationship_6_4_RxOnWhenIdle_3_2_DeviceType_1_0: 0x15" and for remaining devices 0x39. So How can I add a device as associated device.( Because each time after removing and adding the ZED with ZCD, the Associated devices list count varies)

    For your Reference:

    <RX>10:29:36.8 COM5 ZDO_MGMT_LQI_RSP (0x45B1)
    SrcAddr: 0x0000
    Status: ZDP_SUCCESS (0x0)
    NeighborTableEntries: 0x12
    StartIndex: 0x00
    NeighborLqiListCount: 0x03
    NeighborLqiList:
    ExtendedPanID: 0x00124B0011EB7A80
    ExtendedAddress: 0xFFFFFFFFFFFFFFFF
    NetworkAddress: 0x69C5
    Reserved_7_Relationship_6_4_RxOnWhenIdle_3_2_DeviceType_1_0: 0x15
    Reserved_7_2_PermitJoining_1_0: 0x02
    Depth: 0x01
    RxLQI: 0xAA
    ExtendedPanID: 0x00124B0011EB7A80
    ExtendedAddress: 0x086BD7FFFE3F916A
    NetworkAddress: 0x22DA
    Reserved_7_Relationship_6_4_RxOnWhenIdle_3_2_DeviceType_1_0: 0x15
    Reserved_7_2_PermitJoining_1_0: 0x02
    Depth: 0x01
    RxLQI: 0x59
    ExtendedPanID: 0x00124B0011EB7A80
    ExtendedAddress: 0x086BD7FFFE406229
    NetworkAddress: 0xB8B7
    Reserved_7_Relationship_6_4_RxOnWhenIdle_3_2_DeviceType_1_0: 0x39
    Reserved_7_2_PermitJoining_1_0: 0x02
    Depth: 0xFF
    RxLQI: 0x24

     

    Thanks & regards

    Pavithran

     

     

  • 1. If DEVICE_TYPE is set as FFD (Full function device), it has router capability.

    2. For Zigbee 3.0, association list only contains end device.

  • Hi chen,

    1) where can I find the FFD  details of the device.

    2) Which command should I use for Adding ZED with ZCD. Because on "Day1" I have added the 2 ZED with ZCD. Now on "Day 2" I need to add 2 more ZED with ZCD, but can't add it. I have tried 

    "ZDO_MGMT_PERMIT_JOIN_REQ" but no response for it. Each time I need to Run the script("Coordinator_light.zjs") in Z-tool to add ZED with ZCD. Is there any command to add ZED with ZCD.

    Thanks & regards

    Pavithran 

     

  • 1. FFD means a device with routing capability.

    2. Do you use sniffer to check if it is due to association list full?

  • 1) FFD is Full Function Device (routing), RFD is Reduced Function Device (end devices)

    2) ZB_PERMIT_JOINING_REQUEST or ZDO_MGMT_PERMIT_JOIN_REQ should be sufficient but you will have to make sure that the attributes are correct and that a Success response is returned.  I'm not familiar with the script mentioned and thus cannot comment on its operation.

    Regards,
    Ryan

  • Hi chen,

    1)  I don't use sniffer, is there any other way to check whether the association list is full.

    2)  And one more thing, each time after restart the ZCD it shows "DeviceState: DEV_HOLD (0x0)" and after sending "ZB_START_REQUEST" and then the  Device state changes to  "Device state:DEV_ZB_COORD (0x9)". The ZED adds with ZCD only when Device state in COORD state.

    For your Reference:

    <RX>12:13:20.35 COM3 UTIL_GET_DEVICE_INFO_RESPONSE (0x6700)
    Status: SUCCESS (0x0)
    IEEEAddr: 0x00124B0008BDF9ED
    ShortAddress: 0x0000
    DeviceType: COORDINATOR, ROUTER, END_DEVICE (0x7)
    DeviceState: DEV_HOLD (0x0)
    NumAssocDevices: 0x00
    AssocDevicesList

    <TX>12:15:39.33 COM3 ZB_START_REQUEST (0x2600)

    <RX>12:15:39.95 COM3 ZB_START_REQUEST_RSP (0x6600)

    <RX>12:15:39.95 COM3 ZDO_STATE_CHANGE_IND (0x45C0)
    State: 9 (0x9)

    <TX>12:15:47.51 COM3 UTIL_GET_DEVICE_INFO (0x2700)

    <RX>12:15:47.51 COM3 UTIL_GET_DEVICE_INFO_RESPONSE (0x6700)
    Status: SUCCESS (0x0)
    IEEEAddr: 0x00124B0008BDF9ED
    ShortAddress: 0x0000
    DeviceType: COORDINATOR, ROUTER, END_DEVICE (0x7)
    DeviceState: DEV_ZB_COORD (0x9)
    NumAssocDevices: 0x00
    AssocDevicesList

    Thanks & Regards 

    Pavithran J

  • Yes, you have to send "ZB_START_REQUEST" to make ZNP from DEV_HOLD state to DEV_ZB_COORD state otherwise it won't work. I suppose this fixes your issue,right?

  • 1) Yes, but what does DEV_HOLD state means.

    2) What does "ZB_SYSTEM_RESET" command means, because while running script I found  ZB_SYSTEM_RESET on screen, Does it removes the previously add ZED with it ZCD. 

  • 1. DEV_HOLD state means the device is in hold status and wait your instruction to do next.

    2. "ZB_SYSTEM_RESET" would do a software reset to device and it won't removes previously added ZED.

  • Hi Chen,

    Thanks for support,

    1) The ZCD goes to DEV_HOLD state, even if it is not power Restart( Goes to DEV_HOLD state when it is powered on for few minutes). How long does ZCD stay in DEV_ZB_COORD  state.  Is there any time period for ZCD to switch for DEV_HOLD.

    2) Here Is another issue I am facing now,

    Now I have powered 2 ZCD (ZCD1, ZCD2) and now trying to add ZED with  ZCD1, But the ZED does not adding with ZCD1. The ZED adds only when single ZCD is powered up. What can I do for this issue, Because I need to test multiple set of devices simultaneously, each time I am turning off the another ZCD for testing purpose. Is there any other method ..?

    Can I use Channel for issue ..?.Now I am using channel 11. How can I change the channel for ZCD.

    thanks & Regards

    Pavithran J

  • 1. If it goes to DEV_ZB_COORD  state, it shouldn't go back to DEV_HOLD state without ZNP restart.

    2. I have no idea about this issue. I suggest you to use sniffer to check what happens over the air exactly.