Mesh Chat Model - Error Message = No free slots for new incoming segmented messages

We are getting this message on our RELAY - via PuTTY.

"No free slots for new incoming segmented messages"

uart:~$ [01:00:53.683,380] <wrn> bt_mesh_transport: trans_seg: No free slots for new incoming segmented messages

then >>>

ASSERTION FAIL @ WEST_TOPDIR/zephyr/lib/os/ring_buffer.c:73

We are getting this error - using CHAT MODEL in MESH.  The RELAY gives us this same error message - we have increased the CONFIG_BT_MESH_ADV_BUF_COUNT value from 13 to 50.

We read here >>>  "No free slots" error while sending message  that adding a timing delay may help. 

We have not added a timing delay yet but lets say we use 0.1s between receiving and transmitting on to the proxy or the next Relay. Is this because of timing issues between the next available Tx slot being ready and the device being ready - or mistiming i should say.

How do we add a small delay?

We put this into our VS Code build - yes?

Please help if you can give us some information - many thanks.

We have nRF52840 BLE > nRF21540 DK as RELAY > nRF21540 DK as proxy.  

Thanks - Richard 

Parents
  • Hi,

    Based on my understanding of the case it looks like you might be changing the wrong parameter. https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/kconfig/index.html#CONFIG_BT_MESH_ADV_BUF_COUNT states "Number of advertising buffers available for sending local messages. This should be chosen based on the number of local messages that the node can send simultaneously.", while afaik you have issues with relaying messages, so I believe that increasing  https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/kconfig/index.html#CONFIG_BT_MESH_RELAY_BUF_COUNT should resolve your issue

    Could you attempt to increase this configuration and to post the complete device log if this does not resolve the issue?

    Kind regards,
    Andreas

  • Hi Andreas, I'm working with Richard.

    I've added 

    CONFIG_BT_MESH_RELAY_BUF_COUNT=256 into the prj.conf file and the messages No free slots" error while sending message have disappeared.
    i also added to the KConfig file the lines below (please let me know if it is completely redundant)
    config BT_MESH_RELAY_BUF_COUNT
    int "Number of advertising buffers for relayed messages"
    default 32
    range 1 256
    help
    Number of advertising buffers available for messages to be relayed.
    High number of advertising buffers increases the reliability of the
    mesh network. Low number of advertising buffers reduces the message
    latency on the Relay Node, but at the same time increases the amount
    of packet drops. When considering the message latency, also consider
    the values of BT_MESH_RELAY_RETRANSMIT_COUNT and
    BT_MESH_RELAY_RETRANSMIT_INTERVAL. A higher number of
    BT_MESH_RELAY_ADV_SETS allows the increase in the number of buffers
    while maintaining the latency.
  • Hi Tim,

    No worries about the response time. We can resync now.

    Regarding the building issue: Does the same behavior occur if you roll back to the previous programmer you've used successfully? You can install other versions through nRF Connect for Desktop


    If rolling back the version does not resolve the issue, we would like you to raise a new ticket for that issue for easier trackability. Please feel free to refer to this ticket in the new one if you believe anything there is relevant.

    TimD said:
    I ran a test with 2 proxy's.  Proxy2 crashed at 01:16:46. The log of the Proxy1 finally captured a message (but didn't crash). Any idea what this is?

    Regarding the error you see I've yet to find anyone who's seen this before. Could you update me regarding if the issue still persists on your end or if you've been able to resolve it? Whats the status on this part now?

    Kind regards,
    Andreas

  • Hi Andrea, The proxy crash issue doesn't seem to be happening anymore. I did a fix by calling my python script with nohup python .....

  • The flashing issue is intermittent.

    If I install Programmer with a version > 4.0.1 then I get JLink DLL errors when flashing. It does not work.

    If I install Programmer v4.0.1 with JLink v7.88j then flashing our XM122 beacons is intermittent i.e sometimes it works, sometimes it doesn't. 

  • Hi Andreas, Another question, is there a way of checking the voltage/battery/power supply level on a nrf21540 board? I can't see anything in the SDK.

  • TimD said:
    The proxy crash issue doesn't seem to be happening anymore. I did a fix by calling my python script with nohup python .....

    Glad to hear that this were resolved

    TimD said:
    Another question, is there a way of checking the voltage/battery/power supply level on a nrf21540 board? I can't see anything in the SDK.

    I think I need to restate our need for you to create a new case when you have questions unrelated to the topic you have ongoing. Your original topic was related to ring buffers and now we're looking into nRF21540 boards. I know the questions are quick and easy to answer, so this is both to ensure that you get an engineer with the proper expertise assigned to your case and to ensure that you get an avaialble engineer assigned to your case. Currently I am not available as I am working on other projects for a few weeks so to ensure that you get proper follow up from us it would be best if you create new cases for new topics and to keep a clean case/topic separation

    AHaug said:
    If rolling back the version does not resolve the issue, we would like you to raise a new ticket for that issue for easier trackability. Please feel free to refer to this ticket in the new one if you believe anything there is relevant.

    The same goes with the question related to the programmer as well. It is not to push you away from this ticket, but it is to ensure that you get an available engineer that can answer your questions.

    I hope you understand and that it is not too inconvenient for you

    Kind regards,
    Andreas

Reply
  • TimD said:
    The proxy crash issue doesn't seem to be happening anymore. I did a fix by calling my python script with nohup python .....

    Glad to hear that this were resolved

    TimD said:
    Another question, is there a way of checking the voltage/battery/power supply level on a nrf21540 board? I can't see anything in the SDK.

    I think I need to restate our need for you to create a new case when you have questions unrelated to the topic you have ongoing. Your original topic was related to ring buffers and now we're looking into nRF21540 boards. I know the questions are quick and easy to answer, so this is both to ensure that you get an engineer with the proper expertise assigned to your case and to ensure that you get an avaialble engineer assigned to your case. Currently I am not available as I am working on other projects for a few weeks so to ensure that you get proper follow up from us it would be best if you create new cases for new topics and to keep a clean case/topic separation

    AHaug said:
    If rolling back the version does not resolve the issue, we would like you to raise a new ticket for that issue for easier trackability. Please feel free to refer to this ticket in the new one if you believe anything there is relevant.

    The same goes with the question related to the programmer as well. It is not to push you away from this ticket, but it is to ensure that you get an available engineer that can answer your questions.

    I hope you understand and that it is not too inconvenient for you

    Kind regards,
    Andreas

Children
No Data
Related