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

Unexpected event:24

When I try to run the 3 server, 1 client light control example, This is the log that follows:

Client log

<t:          0>, main.c,  318, ----- BLE Mesh Light Control Client Demo -----
<t:          0>, main.c,  108, Initializing softdevice
<t:          0>, nrf_mesh_sdk.c,  109, Initializing SoftDevice...
<t:          2>, nrf_mesh_sdk.c,  118, Ram base: 0x200022D8
<t:         14>, nrf_mesh_sdk.c,  123, sd_ble_enable: app_ram_base should be adjusted to 0x200019C0
<t:         19>, main.c,  116, Initializing mesh stack
<t:        326>, main.c,  123, Enabling mesh stack
<t:        335>, main.c,  141, Setting up access layer and models
<t:        368>, main.c,  265, Configuration of device 0 successful
<t:        371>, main.c,  265, Configuration of device 1 successful
<t:        374>, main.c,  265, Configuration of device 2 successful
<t:          0>, main.c,  318, ----- BLE Mesh Light Control Client Demo -----
<t:          0>, main.c,  108, Initializing softdevice
<t:          0>, nrf_mesh_sdk.c,  109, Initializing SoftDevice...
<t:          2>, nrf_mesh_sdk.c,  118, Ram base: 0x200022D8
<t:         15>, nrf_mesh_sdk.c,  123, sd_ble_enable: app_ram_base should be adjusted to 0x200019C0
<t:         19>, main.c,  116, Initializing mesh stack
<t:        316>, main.c,  123, Enabling mesh stack
<t:        327>, main.c,  141, Setting up access layer and models
<t:        362>, main.c,  265, Configuration of device 0 successful
<t:        365>, main.c,  265, Configuration of device 1 successful
<t:        368>, main.c,  265, Configuration of device 2 successful
21, Button 0 pressed
<t:    2217099>, access.c,  398, TX: [aop: 0x00C1]
<t:    2225628>, access.c,  398, TX: [aop: 0x00C1]
<t:    2234147>, access.c,  398, TX: [aop: 0x00C1]
<t:    2251186>, access.c,  398, TX: [aop: 0x00C1]
<t:    2285261>, access.c,  398, TX: [aop: 0x00C1]
<t:    2353417>, access.c,  398, TX: [aop: 0x00C1]
<t:    2386198>, provisioner.c,  235, Unexpected event: 24.
<t:    2484525>, provisioner.c,  235, Unexpected event: 24.
<t:    2489738>, access.c,  398, TX: [aop: 0x00C1]

Server Log

<t:          0>, main.c,  116, ----- BLE Mesh Light Control Server Demo -----
<t:        290>, main.c,   84, Initializing and adding models
<t:      42532>, nrf_mesh_node_config.c,  175, default case 1
<t:      51804>, nrf_mesh_node_config.c,  175, default case 1
<t:     383650>, nrf_mesh_node_config.c,  175, default case 1
<t:     790197>, nrf_mesh_node_config.c,  175, default case 1
<t:     791040>, nrf_mesh_node_config.c,  175, default case 1
<t:     791764>, nrf_mesh_node_config.c,  175, default case 1
<t:     793330>, nrf_mesh_node_config.c,  175, default case 1
<t:     795546>, nrf_mesh_node_config.c,  175, default case 1
<t:     796230>, nrf_mesh_node_config.c,  175, default case 1
<t:     796993>, nrf_mesh_node_config.c,  175, default case 1
<t:     797832>, nrf_mesh_node_config.c,  175, default case 1
<t:     803277>, nrf_mesh_node_config.c,  175, default case 1
<t:     804049>, nrf_mesh_node_config.c,  175, default case 1
<t:     805336>, nrf_mesh_node_config.c,  175, default case 1
<t:     806105>, nrf_mesh_node_config.c,  175, default case 1
<t:     871640>, nrf_mesh_node_config.c,  175, default case 1
<t:     875284>, nrf_mesh_node_config.c,  175, default case 1
<t:     876031>, nrf_mesh_node_config.c,  175, default case 1
<t:     876132>, nrf_mesh_node_config.c,  112, MESH ASSERT at 0x00023242

Also, what does this error imply: provisioner.c, 235, Unexpected event: 24.

thank you Rahul

  • Hi,

    Event 24 is "NRF_MESH_EVT_SAR_FAILED". There is also a reason for the failure which you can find by inspecting p_evt.

    add the following to your code:

    case NRF_MESH_EVT_SAR_FAILED:
    __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, "SAR FAILED: packet %u, reason %u\n", p_evt->params.sar_failed.packet_id, p_evt->params.sar_failed.reason);
    break;
    

    In your case the failure reason is probably

    NRF_MESH_SAR_CANCEL_REASON_RETRY
    

    As you can see in the logs there are many TX's but no RX. your server is not responding to the requests sent by the client and the client is trying to resend them until it hits a limit, and that seems to be because your server has stoped working (see the MESH_ASSERT in your logs.) You should check where the ASSERT is happening.

    Br Faik

  • As Faik mentioned event 24 is "NRF_MESH_EVT_SAR_FAILED". It may not related to the provisioner. As you can see in the log, the provisioning was finished before the unexpected event. It could be just a corrupted SAR packet or a packet didn't receive an ACK.

    Regarding <t: 876132>, nrf_mesh_node_config.c, 112, MESH ASSERT at 0x00023242, How often do you receive this ? Do you get this on all 3 servers or not ? Could you use addr2line to translate 0x00023242 to address ? Syntax should be: addr2line -e light_control_server.elf 0x23343

  • I receive this error everytime the server count is greater than 1. Also entering it into addr2line gave: 681B ldr r3, [r3]

  • I'm aware where the fault is happening and that the servers aren't responding. The ASSERT happens upon multiple calls from the server and immediately after the client is switched on. I would like to know how i could fix this issue. rgds rahul

  • Also I'm not able to understand how the error occurs after the two devices have been successfully configured and when the chips were erased before loading the respective codes to prevent any sort of persistent storage issues.

Related