This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2540: Possible issue when pairing cc2540 to Android 7.0 and GAPBOND_ERASE_ALLBONDS is incomplete

Part Number: CC2540

Hi, 

The title is coming from a locked discussion, here is the description of the discussion

For the past year I have shipped a cc2540 based device running V1.4.1 of the BLE Stack and have had no issues.  A few days ago I received a message from a customer that he could not pair to his Nexus 6P running Nougat.  I can reproduce the problem on my test phone.

From my preliminary analysis, it appears that if more than 4 devices are paired to the cc2540 prior to the Android 7.0 device pairing, then it fails to pair. 

But even when not attempting to pair and just discovering services, only the 00001800-0000-1000-8000-00805f9b34fb Generic Service is returned.  My other services are not returned WHEN more than 4 devices are already paired.

Again to clarify, the system functions fine when the Nexus 6P one of the first 4 devices to pair.  

As a work-around I tried executing GAPBondMgr_SetParameter( GAPBOND_ERASE_ALLBONDS, 0, 0);  and surprising it doesn't fix the problem.  Even after that instruction a Android 7.0 device will not pair even if it is the first device to do so.  I have to completely reflash the firmware to be able to pair again. Is there some additional command I should execute after erasing all bonds such as reseting an NV index ?

I will continue to update this post.  There is always a possibility the issue is with my Application code.

There is no answer to this question and since it is locked, I can not post on it. 

My question is any solution to this problem?

Thanks a lot!