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.

LAUNCHXL-CC26X2R1: AF_DATA_REQUEST - No data send/captured from ZC to device

Part Number: LAUNCHXL-CC26X2R1


Hello,

I would like to send data from the coordinator to one device using AF_DATA_REQUEST. However, I see nothing when capturing on my channel (I see other data, so the channel/capture is correct, just not when I would like to send).

AF_DATA_REQUEST - Sending in Cluster 0006

fe102401 b358 01 01 0600 00 00 00 06 18000aababab 67

- Length is 16 (after the command, without FCS) -> 0x10
- DST Address is 58b3 -> b358 (in the command)
- DST Endpoint 01
- SRC Endpoint 01
- Cluster ID: 0006
- Trans ID: 00
- Options: 00
- Radius: 00
- Length of data: 06
- Data: 18000aababab
- FCS is 67

I receive: fe0164010064 (Status 00 -> Success, meaning the command/FCS was OK)

Furthermore, I receive:

AF_DATA_CONFIRM: fe034480 cd 01 00 0b

-> Status: cd
-> Endpoint 01
-> Trans ID: 00

This is obviously not the correct status, as it is supposed to be 00.

I know that you have to register the endpoints first with AF_REGISTER as described here:

e2e.ti.com/.../cc2530-need-help-about-af_data_request-on-z-stack-3-0-znp

I am using:

AF_REGISTER

fe112400 01 0401 0001 00 00 02 00000600 02 00000600 30

- Endpoint 01
- AppProfID = 0104
- AppDevice ID = 0100
- AppDevVer: 00
- Latency: 00
- AppInClusters: 02 (0000 and 0006)
- AppOutClusters: 02 (0000 and 0006)

- This is the basic cluster as well the cluster 0006 used by the device I would like to send to.
- The command is exectued successfully: SRSP - fe01640000 - Status: 00

- What is actually the AppProfId? - This seems to be the Zigbee Profile 0104 Home Automation (HA)
- What is the AppDeviceID? Why is this 0010 (as per the given example)? Where do I get this value from?
- What does status cd in AF_DATA_CONFIRM mean?

What am I missing please? Is there something wrong with my AF_DATA_REQUEST or with the AF_REGISTER? Is there another command missing? Receiving data form my sensor on the ZC is fine. I only have this one ZC and the end devices.

Thanks,

Robert

  • Hi Robert,

    0xCD is defined as a ZNwkNoRoute error.  Hence the short address of the device is not known by the coordinator.  The DstAddr of the AF_DATA_REQUEST should be the direct short address of the device without swapping bytes.  A long (IEEE) address would be listed in order of LSB.  Also be aware that if the device is a sleepy ZED which is not polling often enough then the ZC message will time out due to NWK_INDIRECT_MSG_TIMEOUT (default 7 seconds).

    Regards,
    Ryan

  • Thanks Ryan. I did try the following:

    This is the message I receive on the ZC when the button is sending smth:

    fe1b448100000600 b358 010100c100b2ac09000007184c0a00802002b3581de8 - Cluster ID: 0006 - Short Address (NwkAddr): 58b3 - Link Quality: 193 - ZCL Frame Length: 07 - MAC Source Address: 58b3


    a) Using: fe0c2401 58b3 010106000102030210ab + FCS

    fe0164010064
    fe034480cd01010a -> error "cd" missing route ZNwkNoRoute

    -> ZC sends route request (seen in Wireshark capture)

    ZigBee Network Layer Command, Dst: Broadcast, Src: 0x0000
    Frame Control Field: 0x1209, Frame Type: Command, Discover Route: Suppress, Security, Extended Source Command
    Destination: 0xfffc
    Source: 0x0000
    Radius: 8
    Sequence Number: 238
    Extended Source: TexasIns_00:25:c5:1c:47 (00:12:4b:00:25:c5:1c:47)
    ZigBee Security Header
    Command Frame: Route Request
    Command Identifier: Route Request (0x01)
    Command Options: 0x00, Many-to-One Discovery: Not Many-to-One
    Route ID: 7
    Destination: 0xb358
    Path Cost: 0

    -> This is because ZC does not have the route (which is true, because I guess the DST address should be 58b3)

    b) Using: fe0c2401 b358 010106000102030210ab + FCS

    fe0164010064
    fe034480f0010137 -> error "f0"

    -> Here I get a f0 as an error, not cd anymore. No route request, means the route is OK, but there is another issues

    I would say (b) is the correct format. Still, I cannot capture and frame send by the ZC.

    What does "f0" mean? I did try with several option settings within the AF_DATA_REQUEST command. Does not make any difference.

    Thanks,

    Robert

  • I checked it: ZMacTransactionExpired

    https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1078566/cc2531emk-af_data_confirm-status-0xf0

    I am just sending to a button - which is registered on the ZC. This is just fake as the button has no options to be written/configured. I am just using the DST address of this button to see that the ZC is actually sending a message. That's all. Would like to check the format. I do not have devices which have options to be set.

    Would I be able to get this send out? I know the button will not do anything with this. Or do I actually need a device which is able to have options set? Not sure if this is known by the ZC if one device is only able to send and others can send and receive (by setting attributes on them).

    Thanks,

    Robert

  • The ZED is not polling often enough so the ZC message times out (ZMacTransactionExpired) due to NWK_INDIRECT_MSG_TIMEOUT (default 7 seconds).  You need to find a connected non-sleepy or ZR device, decrease the poll rate of the ZED, or increase the timeout on your ZC.

    Regards,
    Ryan

  • Thanks. Well, I assume it is not polling at all as it is sleeping and I am not supposed to send any data to it in the first place. I will get a device which can be controlled via commands and see how this goes.

    Thanks,

    Robert

  • I have tested with a another device and it works. I can not write the on/off attribute as this is apparently read-only. But I could toggle the switch with the toggle command. Works well. 

    Another things I would like to ask:

    UTIL_GET_DEVICE_INFO - prints the number of associated devices + their short addresses as a list. However, the device count did not change. I still have 4 (because I have 4 sensors). The switch however (5th device), is not listed in the associated device count as well the short address of the switch is not in the associated device list.

    Is this expected as this device is not a passive device (not battery powered)? Device is communicating the the coordinator just fine.

    Is this correct?

    Thanks,

    Robert

  • UTIL_GET_DEVICE_INFO will return RFD/Reduce Function Devices (i.e. ZEDs) from the associated device list.  If the switch is a ZR node (i.e. FFD/Full Function Device) then it will not show on the UTIL_GET_DEVICE_INFO response.  UTIL_ASSOC_COUNT gives more control as to which device relations are returned.

    Regards,
    Ryan

  • Thanks. Sounds good. Appreciate your swift help!

    Regards,

    Robert