I've seen many posts about LL_LENGTH_REQ causing disconnection on certain Android phones and the solution from Nordic is to add a 100ms delay. Can someone from Nordic definitively say what the problem is and fix it officially in the SDK or SD?
https://devzone.nordicsemi.com/f/nordic-q-a/53262/ble-disconnects-with-samsung-phones
https://devzone.nordicsemi.com/f/nordic-q-a/39271/unexpected-connection-termination/155149#155149
From my capture, I can see this sequence:
Exchange MTU Request from nRF
LL_LENGTH_REQ from nRF
Exchange MTU Response from phone
Shouldn't the nRF wait for the Exchange MTU Response before sending the LL_LENGTH_REQ? Is the correct fix just to add 100ms delay before calling data_length_update()? It doesn't seem to fix the problem for everyone. I don't have enough devices to test to make a conclusion.