[NRF MESH SDK5] Unable to send more than 50 bytes payload

Hi,

I have modify the payload of the Light Switch example of the NRF MESH SDK. When I send 50 bytes or less, all works fines : the server nodes received all the bytes but when I send more than 50 bytes, nothing append, the message isn't received by the node (I got an ack timeout on the client node).

I have changed the timeout to 60s for the Ack and I am sure that the message memory field is available during all the sending process.

Log for 49 bytes or less :

<t:     199893>, main.c,  236, Button 1 pressed
<t:     199896>, main.c,  260, Sending msg: ONOFF SET 1
<t:     199932>, access.c,  425, TX: [aop: 0x8202] 
<t:     199935>, access.c,  426, TX: Msg: 820242000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF
<t:     199984>, access.c,  253, RX: [aop: 0x8202]
<t:     199988>, access.c,  276, RX: Msg: 42000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF
<t:     211612>, access.c,  253, RX: [aop: 0x8204]
<t:     211614>, access.c,  276, RX: Msg: 01
<t:     211618>, main.c,  170, Acknowledged transfer success.
<t:     211620>, main.c,  200, OnOff server: 0x0014, Present OnOff: 1
<t:     628641>, main.c,  236, Button 1 pressed
<t:     628643>, main.c,  260, Sending msg: ONOFF SET 1
<t:     628679>, access.c,  425, TX: [aop: 0x8202] 
<t:     628682>, access.c,  426, TX: Msg: 820242000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF
<t:     628731>, access.c,  253, RX: [aop: 0x8202]
<t:     628734>, access.c,  276, RX: Msg: 42000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF
<t:     641033>, access.c,  253, RX: [aop: 0x8204]
<t:     641036>, access.c,  276, RX: Msg: 01
<t:     641039>, main.c,  170, Acknowledged transfer success.
<t:     641042>, main.c,  200, OnOff server: 0x0014, Present OnOff: 1

Logs for 51 bytes or more :

<t:     131570>, main.c,  236, Button 1 pressed
<t:     131572>, main.c,  260, Sending msg: ONOFF SET 1
<t:     131613>, access.c,  425, TX: [aop: 0x8202] 
<t:     131617>, access.c,  426, TX: Msg: 8202420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF
<t:     131673>, access.c,  253, RX: [aop: 0x8202]
<t:     131676>, access.c,  276, RX: Msg: 420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF
<t:     167668>, access_reliable.c,  131, [er8] <= access_model_publish()
<t:     203712>, access_reliable.c,  131, [er8] <= access_model_publish()
<t:     275840>, access.c,  425, TX: [aop: 0x8202] 
<t:     275843>, access.c,  426, TX: Msg: 8202420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF
<t:     275899>, access.c,  253, RX: [aop: 0x8202]
<t:     275903>, access.c,  276, RX: Msg: 420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF
<t:     420018>, access.c,  425, TX: [aop: 0x8202] 
<t:     420022>, access.c,  426, TX: Msg: 8202420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF
<t:     420077>, access.c,  253, RX: [aop: 0x8202]
<t:     420080>, access.c,  276, RX: Msg: 420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF
<t:     708377>, access.c,  425, TX: [aop: 0x8202] 
<t:     708381>, access.c,  426, TX: Msg: 8202420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF
<t:     708436>, access.c,  253, RX: [aop: 0x8202]
<t:     708439>, access.c,  276, RX: Msg: 420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF
<t:    1285093>, access.c,  425, TX: [aop: 0x8202] 
<t:    1285097>, access.c,  426, TX: Msg: 8202420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF
<t:    1285151>, access.c,  253, RX: [aop: 0x8202]
<t:    1285155>, access.c,  276, RX: Msg: 420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF
<t:    2097703>, main.c,  175, Acknowledged transfer timeout.

Can you help me please ?

Regards

Parents
  • Hi,

    I have looked into the issue, and I am afraid I cannot yet tell what might be the cause. The message size limit for Bluetooth mesh is 380 bytes, so the fact that you experience issues at 50 bytes worries me. Also, the missing packets number 4 looks strange.

    When increasing the message size even further, are there other packets missing as well?

    Can you share code for reproducing the issue on an nRF DK in my end?

    Please note that this is a public thread. If you want to share anything that is confidential, then please either ask me to change this thread to private first, or post in a private thread and refer to this thread.

    Regards,
    Terje

Reply
  • Hi,

    I have looked into the issue, and I am afraid I cannot yet tell what might be the cause. The message size limit for Bluetooth mesh is 380 bytes, so the fact that you experience issues at 50 bytes worries me. Also, the missing packets number 4 looks strange.

    When increasing the message size even further, are there other packets missing as well?

    Can you share code for reproducing the issue on an nRF DK in my end?

    Please note that this is a public thread. If you want to share anything that is confidential, then please either ask me to change this thread to private first, or post in a private thread and refer to this thread.

    Regards,
    Terje

Children
Related