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.

CC2530ZLLRC-RD: End Device Constantly Keeps Polling For Data

Part Number: CC2530ZLLRC-RD
Other Parts Discussed in Thread: Z-STACK, CC2652R, CC2538, CC2650RC, CC2530, CC2530EM

Hello TI Forum,

I am using Z-Stack Lighting Stack for Touchlink Commissioning using the Z-Light and ZLL-RC. From the attached sniffer captures, the end-device (Remote Control) keeps constantly polling for data post successful rejoin into the network. This is not observed when I bring another node into the network and perform the Touchlink Commissioning.

What is the need for the Remote Control to constantly poll for data from the Light?Sniffer_Captures.cubx.zip

  • Try to set POLL_RATE=0 in project predefined symbols to none-zero value and test again.
  • Hello Chen,

    The ZLL-Remote Control doesn't keep polling for data when I perform Touchlink Commissioning with other Z-Light Devices. It only does so when I try to commission an another Zigbee Touchlink enabled Smart Bulb.
  • Don't you mean to make the Remote Control to constantly poll for data from the Light?
  • I wouldn't want the remote to constantly poll for data as there is no data to be sent by the Light to the Remote (Default Responses Only). When I execute the touchlink procedure between a standard Z-Light and the ZLL-RC, I don't see the constant polling post network start and addition into a group. Whereas, when I try to pair to an another Light Link enabled bulb, it constantly keeps polling for data from it.

  • I couldn't understand your request. Can you elaborate your request/question with your sniffer log?
  • Hello Chen,

    I have three devices:

    1) ZLL Remote Control Device from the TI Lighting Kit

    2) Z-Light from the TI Lighting Kit

    3) Zigbee Touchlink Enabled Smart Bulb

    Case 1: When I try to perform Touchlink Commissioning using ZLL Remote Control Device on Z-Light, from the attached sniffer logs, you can observe that the Remote Control stops the continuous polling for data post successful commissioning.

    Case 2: Whereas, when I use the ZLL Remote Control Device to perform a Touchlink Commissioning with a standard Zigbee Touchlink Enabled Smart Bulb, the Remote Control keeps polling for data post successful commissioning.

    I don't want the Remote Control to keep polling for data. Why is it polling in Case 2 and why not in Case 1?

    Please find attached the sniffer logs for both scenarios. All devices are reset to factory new condition.

    Z-Light.zip 

    Zigbee Touchlink Bulb.zip

  • I cannot see why it stop polling in case 1 and not in case 2. Maybe you can try to use API "NLME_SetPollRate( 0 );" to stop polling in ZLL Remote Control Device by yourself.
  • Ideally, I wouldn't want to make any changes to the ZLL Remote Control firmware.
  • Oops. Don’t know how to help you if you wouldn't want to make any changes to the ZLL Remote Control firmware.
  • Hi Abhay, the current Z-Stack you're using is deprecated along with using a very old legacy hardware solution. Have you tried switching over to using our Zigbee 3.0 Touchlink solution using ZRs to create a distributed network? I'd also recommend using our new CC2652R or CC2538 device.
  • Hello Sean,

    Are there any Remote Control options available? I need a remote control for my application which is currently served by the ZLL-RC.

  • Unfortunately the only alternative RC for Zigbee is our CC2650RC, which still uses our deprecated HA 1.2.2a S/W. There is no out-of-box Zigbee 3.0 remote control hardware currently available.

    Looking at your sniffer captures, I saw that your Z-Light reference capture doesn't contain much captures after the Add Group Response. Could you take a longer capture with also performing some actions on the remote such as an 'On/Off' command?

    Also, is there any reason behind why you're not wishing to modify the RC firmware?

    EDIT: When you switched between these two cases, did you erase/reset/reflash the devices?

  • Hello Sean,

    After the Add Group Response, the ZLL RC stops polling in case of Touchlink with a Z-Light whereas it keeps polling in case of an another Zigbee Light Link bulb. The captures don't differ post that except for the constant poll. We wish to keep the ZLL-RC as a Golden reference and hence don't want to modify the RC firmware.

    Between the two cases, I have reset the Remote Control and the devices as well.

  • From the Z-Stack Lighting Code, I can observe that the NWK Poll Request is scheduled from the NWK Event Loop. Can you help me with the conditions that trigger the same?
  • UPDATE:

    I ran the Sample Remote - EB on SmartRF05EB Platform with CC2530. Upon successful touchlink commissioning, I can observe that the Remote constantly keeps polling for data from the Z-Light.

    The only case where I observed polling to stop was with Z-Light and ZLL-RC. Which is the expected behavior as per the Sample Application?

    As per the specification, the end-device should keep polling at regular intervals. If not, whenever it wakes up, it should send a rejoin request to make sure that it is a part of the network (as per 8.2.5 End device polling of Zigbee Light Link Standard).
  • In the Z-Stack Lighting Developer's Guide, Section 4.2 Optional Compilation Flags, it notes:

    • POWER_SAVING – enables an end-device to sleep and conserve power, when inactive. Should be defined on any battery-powered device.
    • POLL_RATE=0 – override the default poll rate of polling end-devices, allowing them to sleep until wakened by an external event, e.g. user key press on a controller board.
    • ISR_KEYINTERRUPT – set the device to rely on key interrupts instead of polling for key inputs, allowing to fall to deep-sleep (PM3) if defined on end-device with POWER_SAVING and POLL_RATE=0.

    In the ZLLRC - EndDevice configuration, these are set. However, they are not set for the configuration EB - EndDevice. In IAR, please ensure that the example you built was for the SampleRemote and that you configuration set to build was ZLLRC - EndDevice, as shown in the image below: (If you wish to have no polls after commissioning)

    EDIT: Is your end goal to poll after commissioning, or to not poll? The above compilation flags are for you to be able to get your desired effects. From your post above, since you used the EB configuration, it is expected to see polling after commissioning because of the compilation flags.

  • Hello Sean,

    My end goal is that the End-Device shouldn't poll after commissioning. In my previous post, since I didn't want to disturb the ZLL-RC Firmware, I had shifted to the EB setup using SmartRF05EB and CC2530EM. However, please find attached the captures with a Zigbee Smart Bulb and ZLL-RC. Post Commissioning, you can observe that the Remote is constantly polling for data. Also, I have transmitted some ON/OFF commands as well.

    What is the criteria for the ZLL-RC to poll for data even after commissioning? If there is any condition or parameter that is not being properly configured or sent? Since the code is in the library form, I request your support further in clarifying this condition.

    TouchLink_Captures.zip

  • Hello Sean,

    UPDATE:

    I have enabled the flags POWER_SAVING, POLL_RATE = 0 and ISR_KEYINTERRUPT when compiling for the EB-End Device.

    Case 1: Try pairing the Z-Light using SmartRF05EB + CC2530EM configured as the EB-EndDevice-Remote
    No poll request observed post successful commissioning.

    Case 2: Try pairing a standard Zigbee Light using SmartRF05EB + CC2530EM configured as the EB-EndDevice-Remote
    Constant poll requests observed post successful commissioning.

    Please find attached the sniffer captures. Can you please help me with the difference between the two captures (I couldn't find any) so that the End Device stops polling for Case 2 as well?

    SmartRF05EB_Power_Saving.zip

  • Abhay,

    Thanks for providing those captures, they are very helpful. You're right, I'm not seeing any differences between the two captures you have provided that would cause the device to stop polling for one versus the other, unless the Case 2 device is using a different Z-Stack.

    Do you know which Zigbee stack the standard Zigbee Light uses in Case 2?

    I'm still looking into the issue you are seeing, but it would be good to know what kind of device your case 2 is using in case I need to replicate this issue.

    Best,
    Sean
  • Hello Sean,

    The standard Zigbee Bulb is built using Z-Stack Lighting (CC2530). I'm not sure about the model. When I initiate an another TouchLink Scan using the ZLL-Remote Control, I can observe that the End Device stops polling. Well, this happens at times and sometimes it keeps on polling. Please find attached the sniffer captures.

    ED_Polling_Stops.zip

  • Hello Sean,

    I am attaching an another Sniffer Capture. The End Device (ZLL Remote) keeps on polling till about ~600 packets as observed in the sniffer. When I issue an another Scan Request (multiple times), the polling stops. Which condition might have been triggered in order to stop the poll?

    Keeps_On_Polling_Then_Stops.zip

  • Hello Sean,

    Any possible reasons behind this issue that you have come around to?

  • Hi Abhay,

    Apologies for the long delay in between responses!

    I have been in talks with our Zigbee development team in regards to this issue, and we are currently looking into it to see what's up. I will update you as soon as we discover the issue on why the polling stops after issuing a second scan request. While we're waiting for the development team, I will continue looking into what condition may have caused the polling halt as well.

    Best,
    Sean
  • Hi Abhay Joshi,

    From the captures provided in SmartRF05EB_Power_Saving.zip there is no evidence of polling stop. Can you provide a capture where you are sending commands with the remote control and there is no polling.

    Regards,

    Jose Alvarez

  • Hello Jose,

    Please find attached the captures. There are several other captures available in the thread with the constant polling as well as no constant polling (Remote polls only when it sends a command out - For default response probably).

    In the attached capture, I have connected 3 Zigbee bulbs (2 Z-Light + 1 Standard Zigbee Bulb). You can see at the end of the captures that the Remote doesn't even poll after it sends a commands (disable default response is set to 0).  Please suggest the cause of the behavior as well.

    Multiple_Bulbs.zip

  • Thanks Sean, Looking forward to finding out the root cause.
  • Hi Abhay Joshi,

    Use a debugger to look at the value of savedPollRate when ZLL_W4_NWK_JOIN_RSP_EVT event calls initiatorSetNwkToInitState(). Maybe at some point savedPollRate is set to 0x00. My recommendation is to update your application to Zstack 3.0 and control the poll rate from application.

    Regards,