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)

Parents
  • 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

Reply
  • 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

Children
  • Dear Edvin,

          Thank you for your reply. The packet loss rate has indeed decreased, but with more nodes, there is still a probability of not receiving. Can you tell me what parameters the software can add or modify to reduce the packet loss rate?

    Many Thanks,

    Nathan

  • Tell me, are your other mesh nodes (the ones that are not the EnOcean switch) doing anything other than Bluetooth Mesh? Are they all proxy nodes, for example? Are they using the radio for anything else?

    And how many nodes are within radio range of the EnOcean device?

    If they are in e.g. a Bluetooth connection, try keeping the connection interval long, and the connection event length short. This is to provide as much radio time as possible for Bluetooth Mesh RX, as this is the backbone for Bluetooth Mesh.

    Best regards,

    Edvin

Related