I send 25 byte long messages to unicast addresses in a Mesh network. Because of their size messages become segmented. access_model_reliable_publish() is used for sending. Then device waits for reliable_status_cb() and additionally checks access_reliable_model_is_free() before sending next one.
The problem is that sometimes messages are received corrupted (i.e. not the same data as sent). How is this possible? Furthermore, despite the corruption, ACCESS_RELIABLE_TRANSFER_SUCCESS is signaled.
What could be reason for this and how to fix it?
[Mesh 3.1, SD140 6.1, nRF52840]
Sorry for the delayed response. Due to the Easter holiday, DevZone response time may be slower than usual. In the mesh SDK, you have 11 bytes of useful payload package for every message. Do you notice the same corruption if you send shorter messages (i.e. <= 11 bytes)? Do you see any pattern in the corrupted data when comparing the sent data with the corrupted data?