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

access_model_publish returns NRF_ERROR_FORBIDDEN error

I am working on the nr sdk for mesh application,When the nodes conncted to the network , it needs to configured before using nRF mesh app ,My  device also configured through this and working properly, After some days my device was not working then i debugged using segger tool, at the time i was getting the error like app_error_weak.c,  119, Mesh error 15 at 0x0002750D , then i searched  in nrf error.h file , Mesh error 15 is NRF_ERROR_FORBIDDEN , then i found it is comming from net_state_seqnum_alloc()

Inside the net_state_seqnum_alloc() , The condition  if (m_net_state.seqnum < m_net_state.seqnum_max_available)  got failed and returened  NRF_ERROR_FORBIDDEN.

When we configured the device newly that time ,

the m_net_state.seqnum < m_net_state.seqnum_max_available condition satisfied and when  m_net_state.seqnum is greater than the threshold value it will enter the iv_update_trigger_if_pending() function and it will be reset

m_net_state.seqnum = 0;

but when stop the debugger and  again start doing again and again ,at one point if (m_net_state.seqnum < m_net_state.seqnum_max_available)  condition getting failed and retured NRF_ERROR_FORBIDDEN, it didn't reset the m_net_state.seqnum = 0; and value also not stored in flash using  flash_store_iv_index()

Could anyone share why my device went to NRF_ERROR_FORBIDDEN state?

Related