Other Parts Discussed in Thread: LAUNCHXL-CC26X2R1
Hello.
I have a question about TI CC26X2 SDK.
I am trying to implement Secure Connections Pairing (OOB) between Central and Peripheral using two LAUNCHXL-CC26X2R1.
The OOB pairing sequence appears to be proceeding properly, but I am not getting any notification that the pairing is complete.
Central is using SDK 4.40.04.04 and Peripheral is using SDK 4.30.00.54.
I am not sure if this is related, but it looks like bonding is not working either.
The detailed execution flow I'm assuming is as follows
1) Peripheral starts Advertising.
2) Central scans and requests connection.
3) Central calls L2CAP_ConnectReq().
3) L2CAP CoC is established between Peripheral and Central.
4) Both Peripheral and Central call GAPBondMgr_GenerateEccKeys()
5) When GAPBOND_GENERATE_ECC_DONE is notified, call GAPBondMgr_SCGetLocalOOBParameters() on each to get the local OOB
6) Exchange each other's local OOB via L2CAP CoC
7) Both Peripheral and Central call GAPBondMgr_SCSetRemoteOOBParameters().
8) Central calls GAPBondMgr_Pair().
9) GAPBOND_PAIRING_STATE_STARTED is notified.
10) GAPBOND_PAIRING_STATE_COMPLETE is notified.
We have confirmed that 1) through 9) are executed successfully.
However, 10) is not notified.
Success as well as other error statuses are not notified.
I have collected logs in this situation by sniffer device.
As shown below, we can confirm that the OOB pairing sequence is working correctly and that it is progressing to encryption.
It looks like it is probably also doing LE pings on the encrypted communication channel.
Why is GAPBOND_PAIRING_STATE_COMPLETE not being notified?