This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

proxy_stop() causes NRF_FAULT_ID_SD_ASSERT after ~30 Min

I'm trying to disable proxy visibility of mesh node after its been provisioned by calling (from APP timer's context) proxy_stop() function. Though i'm getting NRF_FAULT_ID_SD_ASSERT fault withing 30 min to 1 Hr after call.

I have another node which is running for couple of days that does not call proxy_stop() on power up. So its definately proxy_stop() call is making it happen.

I have also tried caling adv_start(PROXY_ADV_TYPE_NETWORK_ID, true); with mesh_adv_params_set() supplied with 10s interval time, it still fails on SD assert.

Addition: BTW if I were to disable proxy uisng mobile provisioner(nRF Mesh) it still fails on SD assert !

Can anyone share any thoughts ?

Softdevice i'm using is *_s132_7.2.0.hex

Parents
  • Hi,

    Which SDK version are you using?

    What example are you using and proxy_stop() the only modification you made?

    Could you provide the program counter (pc), then we would be able to track where in the softdevice the error occurs.

  • Hi,

     SDKs are nRF5_SDK_17.0.2 & nrf5_SDK_for_Mesh_v5.0.0

    I have adopted dimming_server from mesh SDK. Modifications to dimming server made are as below

    Only generic level server is kept other models removed and Vendor model added.

    Flash Data Storage (FDS) is enabled for app's data storage.

    I have 2 app timers running, one app timer runs every 2ms while serving vendor model requests and then its stopped.Another app timer runs every 1 sec this too is not permanently on. In this 1 sec app timer i'm calling proxy_stop() after 45 min (for testing after 30 sec).

    I also have UART/SPI/PPI going on while handeling vendor model application. All peripheral handled using nrf_drv_* driver.

    app_error_fault_handler() NRF_FAULT_ID_SD_ASSERT assert gets called anything between 10 min to 1 Hr after calling proxy_stop().

    pc 0x00015810, info 0x00000000, id 0x00000001     @app_error_fault_handler()

    What i'm wondering at is why variable time(few min to an hour) for an assert ? Does RC oscillator for RTC clock has anything to do with it?

Reply
  • Hi,

     SDKs are nRF5_SDK_17.0.2 & nrf5_SDK_for_Mesh_v5.0.0

    I have adopted dimming_server from mesh SDK. Modifications to dimming server made are as below

    Only generic level server is kept other models removed and Vendor model added.

    Flash Data Storage (FDS) is enabled for app's data storage.

    I have 2 app timers running, one app timer runs every 2ms while serving vendor model requests and then its stopped.Another app timer runs every 1 sec this too is not permanently on. In this 1 sec app timer i'm calling proxy_stop() after 45 min (for testing after 30 sec).

    I also have UART/SPI/PPI going on while handeling vendor model application. All peripheral handled using nrf_drv_* driver.

    app_error_fault_handler() NRF_FAULT_ID_SD_ASSERT assert gets called anything between 10 min to 1 Hr after calling proxy_stop().

    pc 0x00015810, info 0x00000000, id 0x00000001     @app_error_fault_handler()

    What i'm wondering at is why variable time(few min to an hour) for an assert ? Does RC oscillator for RTC clock has anything to do with it?

Children
No Data
Related