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

What factors make it fail to transmit packets to the air after successful network packet allocation on mesh?

Hello,

I have some problem on my mesh application. (similar application as simple-onoff model)

Sometimes, the server(sensor) devices fail to transmit packet while receiving is ok.

I checked the tx path and found packet-allocations are successful but can not get NRF_MESH_EVT_TX_COMPLETE event.

What factors can disturb the tx to the air even the buffer is allocated successfully?

Please help me.

(NRF52832, nRF5_SDK_15.0.0_a53641a, nrf5_SDK_for_Mesh_v2.1.1_src, S132)

Parents Reply Children
  • Hi Hung,

    Yes I received NRF_SUCCESS after calling access_model_publish.

    The issue happens irregularly after heavy packet traffic. Sometimes it solved after some time but mostly it stays at the situation forever.

    I coded my application based on light-switch example. 

    I found the problem seemed to be solved when I execute re-init function as below at run time.

    void core_tx_forced_reinit(void)

    {

      list_remove(&mp_bearers, &p_bearer->list_node);
      m_bearer_count--;

      advertiser_disable(&m_bearer_roles[CORE_TX_ROLE_ORIGINATOR].advertiser);
      advertiser_disable(&m_bearer_roles[CORE_TX_ROLE_RELAY].advertiser);

      core_tx_adv_init();

    }

    I think advertiser had corrupted by something.

    I need your additional advice.

    1. what can make this issue happen?

    2. if I run core_tx_forced_reinit() function at run time, what additional issues are expected?

    3. Do you recommend me to migrate to v3.1.0? Is it easy? (^^)

    Thank you for your advice in advance.

    Charlie

  • Hi Charlie,

    Thanks for your update. We are checking with the team to see what could be the problem. 

    It would be great if you can provide an example that show the issue so we can reproduce here. 

  • Hi Charlie, 

    We do have some bug fix in SDK v3.1 regarding buffer management that maybe related to your case. 

    We would be really appreciate if you can provide us an minimum example that we can reproduce the issue here (prefer with SDK v3.1). 

Related