We are using SDK 2.20 BLE5 stack, simple peripheral Passkey based pairing method in our application. During this process if we unpair/forget our peripheral (BLE chip) device from our central device (mobile) and try to connect again with peripheral device again, it is not working. During such condition, connection established, but pairing is not successful.
Also we tested the same with SDK 4.40 simple peripheral, example available in SDK. In this also the same issue exists.
Steps we are following is this process:
- Switch ON the CC2640R2F & Open the Mobile app (any BLE supporting apps)
- Select the CC2640R2F BLE advertising name & Passcode pop-up will be appear on the screen (Numeric comparison).
- Enter and Passcode in mobile app – Connected.
- Then we are closing the mobile application and unpair/forget the device option from Mobile Bluetooth setting.
- Again open the Mobile app again. CC2640R2F advertising BLE name is showing in the advertising list in Mobile app.
- If we connect again, connection is established. But boding is not enabled in this process.
As per the step 6, this is new CC2640R2F connection where we already unpaired CC2640R2F from our mobile phone. So, treating this as new connection pairing, connection bonding should happen again. But it’s not happening. After unpaired the device from mobile setting and if we connect again, bonding is not happening. Process end up only with connection state.
In our application we have implemented with Pass code based pairing. Hence, after we unpaired the CC2640R2F device mobile phone setting and connect through mobile app it should treat this as new connection. But that is not working now.
We have tried this scenario with example code available in SDK 2.20.00.49 BLE 5 stack also with 4.30.00.08 for BLE 5 stack. The same issue happens.
Sniffer_Log_PassCode_Pairing_issue.psd