2025-08-19 2:07 AM
Hello,
I am developing a Sleepy End-Device based on STM32WB5MMG which should read and transmit sensor data periodically. The board is mounted to a PCB with the recommended layout for optimal antenna gain. The sensor readings are transmitted with a custom cluster consisting of two string attributes. Furthermore a time cluster is present. The device makes a time read request to the coordinator and receives its reporting configuration (10s) for the string attributes directly after establishing connection. Connection and reporting work very well. APS security and fragmentation flags are set.
Actual behavior: the devices loose connection at an arbitrary point in time (sometimes a few minutes after connection, sometimes after several hours), despite being close (1-2m) and having direct line of sight to the coordinator.
Expected behavior: the devices shall infinitely long keep up the connection and report their sensor readings.
What i have tried:
config.capability &= ~(MCP_ASSOC_CAP_RXONIDLE | MCP_ASSOC_CAP_DEV_TYPE);
config.endDeviceTimeout=0xFF;
I appreciate any suggestions on why this happens.
Best regards
2025-08-26 12:06 AM - edited 2025-08-26 2:58 AM
Any ideas?
Debug traces
[M4 APPLICATION] APP_ZIGBEE_Init
[M4 APPLICATION] **********************************************************
[M4 APPLICATION] WIRELESS COPROCESSOR FW:
[M4 APPLICATION] VERSION ID = 1.22.1
[M4 APPLICATION] FW Type : RFD Zigbee stack
[M4 APPLICATION] Application flashed: ..
[M4 APPLICATION] Channel used: 26
[M4 APPLICATION] Link Key: ZigBeeAlliance09
[M4 APPLICATION] Link Key value: 5a 69 67 42 65 65 41 6c 6c 69 61 6e 63 65 30 39
[M4 APPLICATION] Clusters allocated are:
[M4 APPLICATION] time Client on Endpoint 17
[M4 APPLICATION] **********************************************************
[M0] [00000000.000][API] Init_ZigbeeStack_Infrastructure
[M4 APPLICATION] APP_ZIGBEE_StackLayersInit
[M4 APPLICATION] Network config : APP_STARTUP_CENTRALIZED_END_DEVICE - NONE SLEEPY
[M0] [00000000.024][PLATFORM] ZbNlmeResetReq : NLME-RESET.request (warmStart = 0)
[M0] [00000000.017][PLATFORM] zb_startup_join_nwk_disc : Attempting network discovery. Scans = 3, Duration = 4
[M0] [00000000.018][PLATFORM] nwk_scan_req : MLME-SCAN.request (wpan0): type=1, page=0, mask=0x04000000, dur=4
[M0] [00000000.286][PLATFORM] nwk_scan_req : MLME-SCAN.request (wpan0): type=1, page=0, mask=0x04000000, dur=4
[M0] [00000000.556][PLATFORM] nwk_scan_req : MLME-SCAN.request (wpan0): type=1, page=0, mask=0x04000000, dur=4
[M0] [00000000.017][PLATFORM] nwk_join_try_next : Associating (src=0x 20004664) to 0xa91dae (epid = 0x 2003569c, lqi = 8446245, ch = 0)
[M0] [00000000.632][PLATFORM] ZbMonitorHandleTransKeyInd : Adding network key, sequence number = 0
[M0] [00000000.633][PLATFORM] ZbZdoDeviceAnnce : Sending Device_Annce for 0x7481
[M4 APPLICATION] ZbStartup Callback (status = 0x00)
[M4 APPLICATION] Startup done !
[M0] [00000019.032][PLATFORM] ZbApsBindTick : ZDO IEEE ADDR request (0x0000) to verify address map for binding entry (0x 20004659)