Retries on Reporting Errors

We are developing a ZigBee-based end device using the nRF52840. We have implemented most of the functionalities and also reporting and are able to receive reporting information on the coordinator (Deconz -Conbee). Though most of the time, the reporting works properly, sometimes the reporting fails even with less zigbee traffic (one end device and coordinator in the network).  When we print the status code in the reporting callback (zb_zcl_reporting_cb) we get -1192. Also we don't see any reporting information in the Wireshark logs. (Please find the attached screenshots of wireshark log)

The log printed when reporting Fails is : 
zb_zcl_reporting_cb param, send status fffffb58.

See zb_zcl_reporting_cb function: 

void zb_zcl_reporting_cb(zb_uint8_t param)
{
  LOG_DBG("inside report cmd callback");
  zb_uindex_t i, j;
  zb_zcl_reporting_info_t *rep_info;
  zb_zcl_command_send_status_t *cmd_send_status =
  ZB_BUF_GET_PARAM(param, zb_zcl_command_send_status_t);
  ZVUNUSED(cmd_send_status);
  TRACE_MSG(TRACE_ZCL1, "zb_zcl_reporting_cb param %hd, send status %hx",
            (FMT__H_H, param, cmd_send_status->status));
  LOG_DBG("zb_zcl_reporting_cb param, send status %x",cmd_send_status->status); 
  for (j = 0; j < ZCL_CTX().device_ctx->ep_count; j++)
  {
    if (ZCL_CTX().device_ctx->ep_desc_list[j]->reporting_info)
    {
      rep_info = ZCL_CTX().device_ctx->ep_desc_list[j]->reporting_info;
      for (i = 0; i < ZCL_CTX().device_ctx->ep_desc_list[j]->rep_info_count; i++)
      {
        if (ZB_ZCL_GET_REPORTING_FLAG(rep_info, ZB_ZCL_REPORTING_SLOT_BUSY) &&
            ZB_ZCL_GET_REPORTING_FLAG(rep_info, ZB_ZCL_REPORT_IS_SENT) &&
            !ZB_ZCL_GET_REPORTING_FLAG(rep_info, ZB_ZCL_REPORTING_STOP))
        {
          ZB_ZCL_CLR_REPORTING_FLAG(rep_info, ZB_ZCL_REPORT_IS_SENT);
          zb_zcl_update_reporting_info(rep_info);
        }
        rep_info++;
      }
    }
  }
  zb_zcl_adjust_reporting_timer(0);
  /* Send next reporting info */
  zb_buf_reuse(param);
  ZCL_CTX().reporting_ctx.buf_ref = param;
  ZB_SCHEDULE_CALLBACK(zb_zcl_report_attr, 0);
}


Please find the following question:

1.Can you give us some information about this error code or Why this scenario occurs?
2.Can you also point to any documentation about the error codes?
3.Will there be any retries in the reporting when this error occurs?
4.If there is retries, what will be the time gap between retries?
5.If there is retires, how many retires will happen?

Below  is the screenshot of wireshark logs when there is successful reporting




Below  is the screenshot of wireshark logs when the reporting fails and we have the error code.



Hardware: Custom hardware with nrf52840
SDK: nrf Connect SDK version 2.0.0

Thanks, and regards,
Kavitha

Parents Reply Children
Related