54L15 MESH-packet loss

Dear Nordic,

        The device occasionally fails to receive packets sent by the power switch, but Wireshark can capture packets.The button itself is the trigger and power source for the emission, which is the working mode of the EnOcean energy harvesting switch. The number of copies N for each burst is not fixed and is determined by the energy of that press. Nodes need to support MESH and relay functions. Relay retransmission is 0, and there are no other devices in the network. Each device only has one receiving node. It may be caused by time-division multiplexing. Mesh+scan, burst sent out but it was very short, and then the RF was not on that channel, resulting in packet loss. What parameters can be changed to increase the probability of receiving broadcast messages?


Attempted:
1.#define BT_MESH_SCAN_INTERVAL_MS 10 // 30->10
#define BT_MESH_SCAN_WINDOW_MS 10 // 30->10

2.CONFIG_BT_MESH_GATT_PROXY=n


The above modifications have little effect and packet loss may still occur.

Below is the log, can you help me analyze the specific problem?  


Many Thanks.

  6204.pcapng

3173.Pasted text.txt

1411.ble_rx_mac_filter_patches_20261027.zip(ilter condition: btle.advertisingaddress==e2:15:8a:1c: fd: 01)

  • The enocean sample routine for testing SDK with DK board also has similar packet loss issues.

  • Hello,

    Relay retransmission is 0, and there are no other devices in the network. Each device only has one receiving node. It may be caused by time-division multiplexing.

    Can you clarify one thing for me. When you are not receiving these packets. You say there is only one receiving node, and no other nodes in the network. Does that mean that you have only one mesh node in your network, in addition to the EnOcean switch? 

    In that case, this will significantly increase the chances for packet loss in your "network". The mesh node will mostly be in RX mode, but that depends on your application. If it is doing something else (e.g. BLE for application purposes, or using BLE as a proxy node), then it will not be in RX 100% of the time. 

    If you had one additional node in your network, where the relay count > 0, the chances of the EnOcean packet being missed by the network are significantly smaller. 

    So a Mesh network of only two nodes, especially if the TX burst count is <2 is not a reliable network. This is probably what you are seeing. Even if the mesh node (not the EnOcean node, but the other one) is not doing any other BLE activities, packets may be lost on air (disturbance/noise). In BLE we have retransmissions to encounter this. In mesh we have the advantage that you have multiple devices close by, so the chances are very low that all devices loose the same packet.

    Best regards,

    Edvin

Related