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: Report Attribute Problem in Z-Stack 3.0.2

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

Hello,

We want to move from Z-Stack 1.2.2 to Z-Stack 3.0.2 in order to can support more Zigbee devices. I used the SampleSwitch application of Z-Stack 3.0.2 package to build our devices based on it. Now the main problem is that when I send a Attribute Report from a Router to Coordinator, it is not received in the Gateway Application side. In the Z-Stack 1.2.2 I used zcl_SendReportCmd  API in order to send an Attribute Report to coordinator and after doing a Binding between the device and coordinator on related cluster, all reports were received successfully in the Gateway Application side but with Z-Stack 3.0.2. no data is received after binding.  I also used the SampleTemperatureSensor example that has a reporting attribute with bdb_RepChangeAttrValue() but nothing is received.  I hope you can help me to solve this issue.

  • Hello Ahmad,

    Are you aware of the Zigbee 3.0.2 Known Issues and Fixes E2E post and have you made all applicable changes?  Can you provide a sniffer log of the device binding and reporting in both successful and unsuccessful cases?  I would like to know whether the report is sent over-the-air but not processed by the gateway, or if the message never leaves the router.  Is a bind created locally on the SampleTemperatureSensor with the correct source/destination addresses/endpoints?

    Thanks,
    Ryan

  • I would suggest you to use sniffer to check if binding is success and if there is attribute reporting sent over the air first.

  • Hello Ryan,

    Yes I am but I think most of problems are solved in the Z-Stack 3.0.2, is that right?

    Here is part of packet sniffer logs when binding a device to coordinator and then reporting data from device. In the P.nbr 16, binindg is started from coordinator, and in P.nbr 74 an attribute report is sent from device. It seems binding is done successfully because I see "bind successful" in the Gateway Application logs, also data is sent over the air but is not received or processed in the GW server.

    Bind-Success-Report-Fail.psd

  • I recommend you use Wireshark and Packet Sniffer 2 instead of Packet Sniffer, which is deprecated and does not parse all Zigbee 3.0 packets properly.  You can review the Packet Sniffing Solutions E2E post for more information.

    If the reports are being sent over-the-air then it should be simple to compare these to the other expected use case.  Then you can determine the differences concerning endpoints and clusters.  Can you debug your ZNP or use the gateway log to determine whether the AF_DATA_REQUEST is passed to the gateway application before being ignored?  Either your gateway has not registered the endpoint with the proper cluster list or the application is not prepared to read incoming reports from the specific Cluster ID.  Your previous E2E post implies that you are using either the Z-STACK-LINUX-GATEWAY or ZIGBEE-LINUX-SENSOR-TO-CLOUD, the latter should be referenced as it utilizes Zigbee 3.0 and I advise that you reference this relevant E2E post.

    Regards,
    Ryan

  • Your Bind-Success-Report-Fail.psd only contains a few lines. Please follow Ryan's suggestion to use packet sniffer 2 and Wireshark to provide more complete sniffer log for us to check what exactly happens.

  • Hello Ryan, thank you for your reply.

    Here is Packet Sniffer logs with Wireshark. I has remarked 3 points that is for beginning of join process, beginning of binding process, and a data report from device, respectively. The short address of target device is 0xEAAB and PAN ID is 0xD800. Also GW server logs while binding process is attached. I hope it can helps to solve the problem.

    Binding-and-Report-New.rar

    Binding-GW-Logs.txt
    [15:54:31.725,646] [NWK_MGR/LSTN] PKTTYPE: [                           NWK_MGR<<<<<<<<<<<SMPLAPP] NwkSetBindingEntryReq
    [15:54:31.725,820] [NWK_MGR/LSTN] PKTBODY:                                                          cmdId = NWK_SET_BINDING_ENTRY_REQ
    [15:54:31.725,880] [NWK_MGR/LSTN] PKTBODY:                                                          srcAddr :
    [15:54:31.725,928] [NWK_MGR/LSTN] PKTBODY:                                                            addressType = UNICAST
    [15:54:31.725,987] [NWK_MGR/LSTN] PKTBODY:                                                            ieeeAddr = 00:12:4B:00:10:14:23:1E
    [15:54:31.726,041] [NWK_MGR/LSTN] PKTBODY:                                                            endpointId = 0x00000008 (8)
    [15:54:31.732,609] [NWK_MGR/LSTN] PKTBODY:                                                          clusterId = 0x00000402 (1026)
    [15:54:31.732,748] [NWK_MGR/LSTN] PKTBODY:                                                          dstAddr :
    [15:54:31.732,803] [NWK_MGR/LSTN] PKTBODY:                                                            addressType = UNICAST
    [15:54:31.732,863] [NWK_MGR/LSTN] PKTBODY:                                                            ieeeAddr = 00:12:4B:00:0D:85:B3:58
    [15:54:31.732,918] [NWK_MGR/LSTN] PKTBODY:                                                            endpointId = 0x00000002 (2)
    [15:54:31.732,969] [NWK_MGR/LSTN] PKTBODY:                                                          bindingMode = BIND
    [15:54:31.733,226] [NWK_MGR/LSTN] PKTTYPE: [                  Z_STACK<<NWK_MGR                  ] zdoBindReq
    [15:54:31.733,304] [NWK_MGR/LSTN] PKTBODY:                                                          cmdID = ZDO_BIND_REQ
    [15:54:31.733,358] [NWK_MGR/LSTN] PKTBODY:                                                          nwkAddr = 0x0000E1F6 (57846)
    [15:54:31.733,405] [NWK_MGR/LSTN] PKTBODY:                                                          bindInfo :
    [15:54:31.733,455] [NWK_MGR/LSTN] PKTBODY:                                                            srcAddr = 00:12:4B:00:10:14:23:1E
    [15:54:31.733,505] [NWK_MGR/LSTN] PKTBODY:                                                            srcEndpoint = 0x00000008 (8)
    [15:54:31.733,552] [NWK_MGR/LSTN] PKTBODY:                                                            clusterID = 0x00000402 (1026)
    [15:54:31.733,599] [NWK_MGR/LSTN] PKTBODY:                                                            dstAddr :
    [15:54:31.733,643] [NWK_MGR/LSTN] PKTBODY:                                                              addrMode = EXT
    [15:54:31.733,701] [NWK_MGR/LSTN] PKTBODY:                                                              extAddr = 00:12:4B:00:0D:85:B3:58
    [15:54:31.733,750] [NWK_MGR/LSTN] PKTBODY:                                                              endpoint = 0x00000002 (2)
    [15:54:31.747,877] [Z_STACK/LSTN] PKTTYPE: [         NPISRVR<<Z_STACK                           ] [SREQ] 17:25:21:F6:E1:1E:23:14:10:00:4B:12:00:08:02:04:03:58:B3:85:0D:00:4B:12:00:02
    [15:54:31.759,217] [NPISRVR/MAIN] PKT_HEX: [SOCZIGB<<NPISRVR                                    ] [send] 17:25:21:F6:E1:1E:23:14:10:00:4B:12:00:08:02:04:03:58:B3:85:0D:00:4B:12:00:02
    [15:54:31.786,828] [NPISRVR/U_RX] PKT_HEX: [SOCZIGB>>NPISRVR                                    ] [SRSP] 01:65:21:00
    [15:54:31.789,068] [Z_STACK/LSTN] PKTTYPE: [                  Z_STACK>>NWK_MGR                  ] zstackDefaultRsp
    [15:54:31.789,200] [Z_STACK/LSTN] PKTBODY:                                                          cmdID = ZDO_BIND_REQ
    [15:54:31.789,259] [Z_STACK/LSTN] PKTBODY:                                                          status = ZSuccess
    [15:54:31.788,466] [NPISRVR/MAIN] PKT_HEX: [         NPISRVR>>Z_STACK                           ] [ucst] 01:65:21:00
    [15:54:31.796,973] [NWK_MGR/LSTN] PKTTYPE: [                           NWK_MGR>>>>>>>>>>>SMPLAPP] NwkZigbeeGenericCnf
    [15:54:31.797,121] [NWK_MGR/LSTN] PKTBODY:                                                          cmdId = ZIGBEE_GENERIC_CNF
    [15:54:31.797,183] [NWK_MGR/LSTN] PKTBODY:                                                          status = STATUS_SUCCESS
    [15:54:31.797,237] [NWK_MGR/LSTN] PKTBODY:                                                          sequenceNumber = 0x00000000 (0)
    [15:54:31.826,355] [NPISRVR/U_RX] PKT_HEX: [SOCZIGB>>NPISRVR                                    ] [ASNC] 03:45:A1:F6:E1:00
    [15:54:31.826,581] [NPISRVR/U_RX] PKT_HEX: [SOCZIGB>>NPISRVR                                    ] [ASNC] 0A:45:FF:F6:E1:00:21:80:00:1C:00:00:00
    [15:54:31.827,917] [Z_STACK/MAIN] PKTTYPE: [                  Z_STACK>>NWK_MGR                  ] zdoBindRspInd
    [15:54:31.828,060] [Z_STACK/MAIN] PKTBODY:                                                          cmdID = ZDO_BIND_RSP
    [15:54:31.828,122] [Z_STACK/MAIN] PKTBODY:                                                          srcAddr = 0x0000E1F6 (57846)
    [15:54:31.828,172] [Z_STACK/MAIN] PKTBODY:                                                          status = SUCCESS
    [15:54:31.826,886] [NPISRVR/ACBK] PKT_HEX: [         NPISRVR>>Z_STACK                           ] [bcst] 03:45:A1:F6:E1:00
    [15:54:31.827,222] [NPISRVR/ACBK] PKT_HEX: [         NPISRVR>>Z_STACK                           ] [bcst] 0A:45:FF:F6:E1:00:21:80:00:1C:00:00:00
    [15:54:31.828,765] [NWK_MGR/HNDL] PKTTYPE: [                           NWK_MGR>>>>>>>>>>>SMPLAPP] NwkSetBindingEntryRspInd
    [15:54:31.828,895] [NWK_MGR/HNDL] PKTBODY:                                                          cmdId = NWK_SET_BINDING_ENTRY_RSP_IND
    [15:54:31.828,957] [NWK_MGR/HNDL] PKTBODY:                                                          sequenceNumber = 0x00000000 (0)
    [15:54:31.829,007] [NWK_MGR/HNDL] PKTBODY:                                                          status = 0x00000000 (0)
    [15:54:31.829,056] [NWK_MGR/HNDL] PKTBODY:                                                          srcAddr :
    [15:54:31.829,102] [NWK_MGR/HNDL] PKTBODY:                                                            addressType = UNICAST
    [15:54:31.829,159] [NWK_MGR/HNDL] PKTBODY:                                                            ieeeAddr = 00:12:4B:00:10:14:23:1E
    [15:54:31.829,213] [NWK_MGR/HNDL] PKTBODY:                                                            endpointId = 0x00000008 (8)
    [15:54:36.801,718] [NWK_MGR/LSTN] PKTTYPE: [                           NWK_MGR<<<<<<<<<<<SMPLAPP] NwkGetGwEndpointInfoReq
    [15:54:36.801,869] [NWK_MGR/LSTN] PKTBODY:                                                          cmdId = NWK_GET_GW_ENDPOINT_INFO_REQ
    [15:54:36.801,997] [NWK_MGR/LSTN] PKTTYPE: [                           NWK_MGR>>>>>>>>>>>SMPLAPP] NwkGetGwEndpointInfoCnf
    [15:54:36.802,080] [NWK_MGR/LSTN] PKTBODY:                                                          cmdId = NWK_GET_GW_ENDPOINT_INFO_CNF
    [15:54:36.802,133] [NWK_MGR/LSTN] PKTBODY:                                                          deviceInfoList :
    [15:54:36.802,181] [NWK_MGR/LSTN] PKTBODY:                                                            networkAddress = 0x00000000 (0)
    [15:54:36.802,239] [NWK_MGR/LSTN] PKTBODY:                                                            ieeeAddress = 00:12:4B:00:0D:85:B3:58
    [15:54:36.802,291] [NWK_MGR/LSTN] PKTBODY:                                                            manufacturerId = 0x00000007 (7)
    [15:54:36.802,337] [NWK_MGR/LSTN] PKTBODY:                                                            simpleDescList :
    [15:54:36.802,380] [NWK_MGR/LSTN] PKTBODY:                                                              [000] :
    [15:54:36.802,426] [NWK_MGR/LSTN] PKTBODY:                                                                endpointId = 0x00000004 (4)
    [15:54:36.802,475] [NWK_MGR/LSTN] PKTBODY:                                                                profileId = 0x00000104 (260)
    [15:54:36.802,524] [NWK_MGR/LSTN] PKTBODY:                                                                deviceId = 0x00000007 (7)
    [15:54:36.802,571] [NWK_MGR/LSTN] PKTBODY:                                                                deviceVer = 0x00000000 (0)
    [15:54:36.802,616] [NWK_MGR/LSTN] PKTBODY:                                                                inputClusters :
    [15:54:36.802,662] [NWK_MGR/LSTN] PKTBODY:                                                                  [000] = 0x00000000 (0)
    [15:54:36.802,707] [NWK_MGR/LSTN] PKTBODY:                                                                  [001] = 0x00000003 (3)
    [15:54:36.802,752] [NWK_MGR/LSTN] PKTBODY:                                                                  [002] = 0x00000501 (1281)
    [15:54:36.802,798] [NWK_MGR/LSTN] PKTBODY:                                                                outputClusters :
    [15:54:36.802,842] [NWK_MGR/LSTN] PKTBODY:                                                                  [000] = 0x00000006 (6)
    [15:54:36.802,887] [NWK_MGR/LSTN] PKTBODY:                                                                  [001] = 0x00000004 (4)
    [15:54:36.802,932] [NWK_MGR/LSTN] PKTBODY:                                                                  [002] = 0x00000005 (5)
    [15:54:36.802,977] [NWK_MGR/LSTN] PKTBODY:                                                                  [003] = 0x00000500 (1280)
    [15:54:36.803,021] [NWK_MGR/LSTN] PKTBODY:                                                                  [004] = 0x00000009 (9)
    [15:54:36.803,067] [NWK_MGR/LSTN] PKTBODY:                                                                  [005] = 0x00000101 (257)
    [15:54:36.803,112] [NWK_MGR/LSTN] PKTBODY:                                                                  [006] = 0x00000020 (32)
    [15:54:36.803,158] [NWK_MGR/LSTN] PKTBODY:                                                              [001] :
    [15:54:36.803,217] [NWK_MGR/LSTN] PKTBODY:                                                                endpointId = 0x000000F2 (242)
    [15:54:36.803,265] [NWK_MGR/LSTN] PKTBODY:                                                                profileId = 0x0000A1E0 (41440)
    [15:54:36.803,314] [NWK_MGR/LSTN] PKTBODY:                                                                deviceId = 0x00000061 (97)
    [15:54:36.803,362] [NWK_MGR/LSTN] PKTBODY:                                                                deviceVer = 0x00000000 (0)
    [15:54:36.803,410] [NWK_MGR/LSTN] PKTBODY:                                                                outputClusters :
    [15:54:36.803,456] [NWK_MGR/LSTN] PKTBODY:                                                                  [000] = 0x00000021 (33)
    [15:54:36.803,507] [NWK_MGR/LSTN] PKTBODY:                                                            deviceStatus = DEVICE_ON_LINE

  • All parameters in the Bind Request appear correct except for the Destination Endpoint, which I suspect should be 0x04 if using the ZIGBEE-LINUX-SENSOR-TO-CLOUD solution.  Please refer to gateway_config.tlg, the Z-Stack Linux Gateway User's Guide, and this E2E thread: https://e2e.ti.com/f/1/t/998509 

    Regards,
    Ryan

  • You are right, the problem was with gateway endpoint id in the Sample Application source which was set to 2 and after I changed it to 4 I could successfully receive report indications. I think the same problem was happened in the E2E thread you mentioned it. Thank you for your help.

  • I have another problem regarding report attribute from a 3rd party device (a Zigbee 3 Motion Sensor from Tuya). It successfully joins coordinator and then I get list of its clusters and do binding on them successfully, nevertheless no report data is received from sensor. Here is the sniffer logs when joining and binding this device.

  • I don’t see your sniffer attached.

  • There is no binding or enroll process to IAS zone cluster in your sniffer log Binding-and-Report-3rd-party-Sensor.rar. I suppose you have to do binding to IAS zone cluster to make a IAS zone device report IAS zone status.