Could you help find the root cause and the solution to fix the BT unpair-pair failure issue?
Thanks in advance.
WICED SDK: WICED Studio 6.0 and WICED Studio 6.1
FW: WICED Studio default demo projects: snip/bt/spp and snip/bt/a2dp.
When donging unpair-pair operations multiple times with Android Phone device, we will PIN code or secret key incorrect issue and unable to pair again issue.
1. After downloaded the demo firmware, then reset to run it.
2. Open the Bluetooth on the Android Phone device, in the bluetooth device list, we can see the demo device, such as "spp test" or "wiced a2dp test", and so on.
3. For the first time pair operation, the Android Phone can connect and pair with the target SPP or A2DP device very fast, and without any issue.
4. Un-pair with the target device, then do the second pairing operation with the same target device,
We found that the pair operation will take much long time than do the same operation during the first time.
But at last, it will connect and pair success.
Note, this steps may success much more time before you get into next step.
5. Un-pair with the target device, then do the third(N times) paring operation with the same target device,
At this time, the pair operation will take very long time, and at last, this operation will failed and not paired with the target device.
And the Android Phone will prompt the information that "PIN code or secret key is incorrect, unable to pair with the target device."
6. After encounter the pair failure issue as shown in step 5. The Android Phone cannot pair with the target device any more.
7. Only after reset the target device, then the Android Phone device can connect and pair with the target device again.
8. But after you redo the steps of step3 to step 6, the same issue will happen again.
So it would be a serious issue when trying to un-paring and paring with the CYW20719-B1 device multiple times.
Note, be sure to do the unpair-pair operations multiple times, the pair failure issue described here at the third time is just a typical example, but indeed, it may happen after multiple times retry.
Issue can be reproduced. Let me explain more for such situation:
1. CYW20719 is A2DP device, Android phone connect to device and pair/bonding successfully at first time.
2. The Android phone delete the bonding info. While the A2DP device not.
3. Then Android phone connect to the A2DP device again. In this situation, Android phone thought A2DP device is a new device which not bonded, while A2DP device take Android phone as a bonding device and exchange the keys stored in bonding info. Then the pairing process should be failed and if A2DP device has the mechanism to delete the old bonding info and init the new pairing process, that will not lead to connection failed but may take some time. If A2DP device has no such mechanism, the connection should be failed. Per your test results, the CYW20719 has such mechanism but it take a lot of time.
Per my test, the CYW20706 works smooth in such situation.