Hello,
Two issues were discovered while using LL Connection Parameter Request procedure.
<Condition>
* Master - TI stack (3.10)
* Slave - Android phone
<Procedure>
Master's application calls GAP_UpdateLinkParamReq() to send LL_CONNECTION_PARAM_REQ with desired parameters. Slave responds with LL_CONNECTION_PARAM_RSP including valid Reference Connection Event Count and Offset0. Master rejects the response with the error code 0x1E(Invalid Link Layer Parameters). See attached. Reject_Indication.zip
<Issues>
1. The Reference Connection Event Count and Offset0 looks valid from the BLE spec's point of view. If the master cannot accept them due to its internal constraints, it shall respond with the error code 0x3B(Unacceptable Connection Parameters).
2. When it happens, the master's application that initiated the procedure doesn't get GAP_LINK_PARAM_UPDATE_EVENT from the stack. It should be notified by GAP_LINK_PARAM_UPDATE_EVENT with some error status, like it is in the case where the master's request was rejected by the slave.
<Question>
1. Is TI stack supposed to reject LL_CONNECTION_PARAM_RSP if it comes with Reference Connection Event Count which is not 0 and/or OffsetX which is not 0xFFFF? Can it not accept any value other than the default values 0 and 0xFFFF respectively?
2. Is there any way for the master's application to know if the master's Connection Parameter Request procedure has ended up with failure due to master's having rejected slave's response? If there's no way, please make one for a future version. Thanks.
- Cetri