The stock LPN client for Mesh SDK v4.0.0 throws NRF_MESH_EVT_SAR_FAILED when replying to a publication set message via a friend node.
All code, reproduction data and log output is here: https://github.com/siriobalmelli/nrf_mesh_4.0.0_lpn_SAR
I also tried to implement the suggested answer from this thread:
... this did not work, see this commit:
Have you made any modification to the LPN example?
Hi, thank you for taking a look :)
The only changes from stock SDK are:
1. Add debug print statements to clearly show the bug. See relevant commit details here: https://github.com/siriobalmelli/nrf_mesh_4.0.0_lpn_SAR/commit/91d47205043bddcffa345e280e3cc78380acbcbc
2. Try to use CORE_TX_QUEUE_BUFFER_SIZE_RELAY to resolve the issue (without success), as per this thread: https://devzone.nordicsemi.com/f/nordic-q-a/51486/mesh-sar-time-out
Please note that:
- the bug is the same before and after adding CORE_TX_QUEUE_BUFFER_SIZE_RELAY 512
- details in git commit here: https://github.com/siriobalmelli/nrf_mesh_4.0.0_lpn_SAR/commit/71b4037cf40857351eaf23773783b9314b43bda7
This project is a completely stock SDK used specifically to isolate this bug outside of any other application changes.
I'm not sure if this will make any difference but could you also try using our nRF Mesh app instead of the BubblyNet app? Any difference?
Thanks for looking at this.
Confirmed I'm getting NRF_MESH_EVT_SAR_FAILED with the nRF Mesh App also
It seems like your mobile is still connected to the LPN via GATT even after LPN has established the friendship (Note that, after the provisioning and configuration, the mobile remains connected to the node, unless you disconnect it explicitly). There is a known issue with LPN that when LPN is in friendship with Friend Node, a connected GATT device receives packets encrypted with the wrong encryption key. Therefore, the response to the Model Publication Set is not understood by the mobile app, and hence it fails.
Try to configure the LPN node via Friend node. Disconnect the mobile app from LPN, and explicitly connect to Friend proxy node. Then try configuring the LPN node via Friend node. This should work.