BLE Mesh Vendor Model: How to Force Unacknowledged Messages & Suppress Warnings

Eshwar487
Posts: 12
Joined: Fri Oct 04, 2024 7:32 am

BLE Mesh Vendor Model: How to Force Unacknowledged Messages & Suppress Warnings

Postby Eshwar487 » Wed Apr 02, 2025 2:46 pm

I’m implementing a custom vendor model in ESP-IDF’s BLE Mesh stack and need to:

Force unacknowledged messages (no ACK) for group addresses (0xC000).

Suppress warnings like:

Copy
W (BLE_MESH) Not sending ack for non-unicast address
W (BLE_MESH) Replay: src 0x0001 dst 0xc000 seq 0x0000b6

I am using esp32 example code
https://github.com/espressif/esp-idf/bl ... ain/main.c
#define ESP_BLE_MESH_VND_MODEL_ID_CLIENT 0x0000
#define ESP_BLE_MESH_VND_MODEL_ID_SERVER 0x0001

#define ESP_BLE_MESH_VND_MODEL_OP_SEND ESP_BLE_MESH_MODEL_OP_3(0x00, CID_ESP)
#define ESP_BLE_MESH_VND_MODEL_OP_STATUS ESP_BLE_MESH_MODEL_OP_3(0x01, CID_ESP)

Questions
How to properly configure a vendor model for unacknowledged-only messaging?
Is there a clean way to suppress these warnings without stack modification?
Why does the replay protection warning persist even with incremental sequence numbers?

Problem Description:
I'm implementing a large-scale BLE Mesh network with 100+ ESP32 nodes using custom vendor models. The current implementation is causing significant performance issues due to:
ACK Storm Problem - When sending acknowledged messages, the flood of response ACKs is overwhelming the network
Latency Issues - Message delivery becomes unreliable as network size increases
Warning Messages - Getting many "Not sending ack for non-unicast address" warnings

Who is online

Users browsing this forum: No registered users and 1 guest