This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

[nRF52840 + zigbee ] ZED cannot join to ZC sometimes.

Hi,

I am on  verifying long run test.

environment

SDK : v3.1.0

PS storage : not erase (ZB_FALSE);      ==> zigbee_erase_persistent_storage(ZB_FALSE);

ZC ---------------------------------ZED

Phenomenon:

I reset ZED continuously.

ZED joins ZC well most of the tries.

but sometimes, it fails.

After fails, ZC should be reset. (ZED reset cannot recover the operation).

From  no 7965, abnormal state logging.

No 7729 to no 7964 shows normal operation.

Board parameter is not changed between the trials.

I attached wireshark logging file.

Please check and give solutions.

If you cannot give the reason of the abnormal operation, 

let me know how ZC can detect this situation.

If ZC can detect this it can restart.

Thanks.

join_error_7965.pcapng

  • Hi,

    I will need to consult with our developers about this issue. Please be patient.

    Best regards,

    Marjeris

  • Thanks.. 

    When ZED cannot join, Unhandled signal 16,17 occured.

  • Hi,

    Is there no news about the problem?

    The problem occures frequently when ZC's turn on time is long.(one day or more).

  • Hi,

    Sorry for the late reply, I should have asked about this before, but could you provide network key or other security material, so we can decipher the traffic dump?

    And are there any multiprotocol devices involved?

  • I missed your reply. and i didnot solve the problem yet.

    I don't use multiprotocol.

    I modified the bulb example.

    I modified ZB_ZCL_ON_OFF_SEND_REQ macro to carry user data(16 bytes) as follows.

    ZED wakes up and send ZB_ZCL_ON_OFF_SEND_REQ when external event(door open interrupt)

    and enter system off.

    ZED runs well without fails but ZC somethimes get strange signal and can not accept more 

    join request.

    I expained this first post.

    #define my_ZB_ZCL_ON_OFF_SEND_REQ(node_msg, \
    buffer, addr, dst_addr_mode, dst_ep, ep, prof_id, dis_default_resp, command_id, cb) \
    { \
    zb_uint8_t* ptr = ZB_ZCL_START_PACKET_REQ(buffer) \
    ZB_ZCL_CONSTRUCT_SPECIFIC_COMMAND_REQ_FRAME_CONTROL(ptr, dis_default_resp) \
    ZB_ZCL_CONSTRUCT_COMMAND_HEADER_REQ(ptr, ZB_ZCL_GET_SEQ_NUM(), command_id); \
    ZB_ZCL_PACKET_PUT_DATA8(ptr, node_msg[0]); \
    ZB_ZCL_PACKET_PUT_DATA8(ptr, node_msg[1]); \
    ZB_ZCL_PACKET_PUT_DATA8(ptr, node_msg[2]); \
    ZB_ZCL_PACKET_PUT_DATA8(ptr, node_msg[3]); \
    ZB_ZCL_PACKET_PUT_DATA8(ptr, node_msg[4]); \
    ZB_ZCL_PACKET_PUT_DATA8(ptr, node_msg[5]); \
    ZB_ZCL_PACKET_PUT_DATA8(ptr, node_msg[6]); \
    ZB_ZCL_PACKET_PUT_DATA8(ptr, node_msg[7]); \
    ZB_ZCL_PACKET_PUT_DATA8(ptr, node_msg[8]); \
    ZB_ZCL_PACKET_PUT_DATA8(ptr, node_msg[9]); \
    ZB_ZCL_PACKET_PUT_DATA8(ptr, node_msg[10]); \
    ZB_ZCL_PACKET_PUT_DATA8(ptr, node_msg[11]); \
    ZB_ZCL_PACKET_PUT_DATA8(ptr, node_msg[12]); \
    ZB_ZCL_PACKET_PUT_DATA8(ptr, node_msg[13]); \
    ZB_ZCL_PACKET_PUT_DATA8(ptr, node_msg[14]); \
    ZB_ZCL_PACKET_PUT_DATA8(ptr, node_msg[15]); \
    ZB_ZCL_FINISH_PACKET(buffer, ptr) \
    ZB_ZCL_SEND_COMMAND_SHORT( \
    buffer, addr, dst_addr_mode, dst_ep, ep, prof_id, ZB_ZCL_CLUSTER_ID_ON_OFF , cb); \
    }

Related