LPN Friendship Communication

Hello, 

I have a few questions regarding ble mesh lpn and friend nodes.

Let's call

Node A (A node that can become a friend node)
Node B (A node that can become an low power node)

Are these scenarios correct. This is what I am observing

Node B has set "bt_mesh_lpn_set"
I am still able to send a message "bt_mesh_model_send", however the acknowledgement is always missed if there is no friend. Always returning -116 on the bt_mesh_send_cb end function. 

Node A has established friendship with Node B. However Node B has lost friendship and has not successfully notified node A.
Node A still thinks it is friends with node B. "bt_mesh_model_send" will always fail as it is adding to a friend queue for a node that is no longer friends. 

Is there a way of manually triggering a new friend request? lpn_poll only works if friendship has already been established. 

Another thing I have noticed is that my coms are as follows

LPN sets data to the Friend via a vendor model of 80 - 100 bytes
Friend receives the data and sends back a vendor model message of 8-12 bytes. 
Friend Message is queued and sent on the next friend poll. 

More often than not, When the lpn sends data to the friend, it loses friendship

 

Related