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.

RTOS/CC2640R2F: Issues in Bonding with some Android phones

Part Number: CC2640R2F

Tool/software: TI-RTOS

Hi,

Device CC2640R2F
SDK simplelink_cc2640r2_sdk_1_40_00_45
Example  Multirole

We used bonding with multirole and bonding params are 

uint8_t pairMode = GAPBOND_PAIRING_MODE_INITIATE;
uint8_t mitm = FALSE;
uint8_t ioCap = GAPBOND_IO_CAP_NO_INPUT_NO_OUTPUT;
uint8_t bonding = TRUE;

This bonding works fine with the iPhones but there are some issues observed with  some Android phones.

Refer below table which have different tests for bonding with different android phones. We have experimented with both base software and our custom software (written our application on multirole project).

Mobile Model BLE Version   Bonding initiated Pairing Request pop up Bonding Lost and Pairing Request pop up Bonding process time Bonded Reconnection Reflashed CoMo and bonding not cleared in mobile
Xiaomi Redmi 3S 4.1 Ti ex: MultiRole Yes Yes No Less than 1sec Yes Less than 4sec Not connect with old bonding
Our Custom Application Yes Yes No     Less than 4sec Not connect with old bonding
Samsung  Galaxy Core Prime SM-G360FY 4.0 Ti ex: MultiRole Yes No No Less than 1sec Yes Less than 4sec Connected with old bond
Our Custom Application Yes No No Less than 1sec Yes Less than 4sec Connected with old bond
Samsung  Galaxy Tab S SM-T805 4.0 Ti ex: MultiRole Yes No No Less than 1sec Yes Less than 4sec Connected with old bond
Our Custom Application Yes No No Less than 1sec Yes Less than 4sec Connected with old bond
Motorola G5s   4.2 Ti ex: MultiRole Disconnects immediately No   - - -  
Our Custom Application Disconnects immediately No          
Motorola Moto G  2nd Gen 4.0 Ti ex: MultiRole Yes Yes Observed Less than 1sec Yes Proper Connected with old bond
Our Custom Application Yes Yes Observed Less than 1sec Yes Less than 4sec Connected with old bond
Oppo  

 F1S

4.0 Ti ex: MultiRole Yes No No Less than 1sec Yes Less than 2sec Connected with old bond
Our Custom Application Yes No No Less than 1sec Yes Less than 4sec Connected with old bond
Huawei Honor 6X 4.1 Ti ex: MultiRole Yes Yes No Less than 1sec Yes Less than 4sec Connected with old bond
Our Custom Application Yes Yes Observed Less than 1sec Yes Less than 4sec Connected with old bond
Samsung  Galaxy  S8 5.0 Ti ex: MultiRole Yes No No Less than 1sec Yes Less than 4sec Not connect with old bonding
Our Custom Application Yes No No Less than 1sec Yes Less than 4sec Not connect with old bonding
Motorola Moto G  5Plus 4.2 Ti ex: MultiRole Yes Yes Observed Less than 1sec Yes Less than 4sec Connected without bond
Our Custom Application Yes Yes Observed Less than 1sec Yes Less than 4sec Connected without bond

1. Please  give suggestions and comments on the  enabling the bonding and cases where the bonding fails.  

2. Let consider case as in table if device is bonded with phone and device (cc2640R2F) re-flashed. What happens with the IRK in between mobile and device ? (Considering mobile bonding is not unpaired)

Thanks

Niranjan Hegde

  • Hi Niranjan,

    Which device is the initiator in these cases? Is the phone the initiator or is the phone the peripheral? How are you initiating bonding?

    1. Some phones have trouble with Security Requests. If you change the GAPBOND_PAIRING_MODE_INITIATE to GAPBOND_PAIRING_MODE_WAIT_FOR_REQUEST and initiate pairing by reading Simple Profile Char 5, you may have better results.

    The chart is nice but could you also provide the pairing failed reason or a sniffer capture of the connections?

    2. It depends on which device is the Central, which side is the Peripheral, and which side lost its keys. In the case where the CC2640R2 is reflashed and no longer has the bond record for the phone, when the connection is re-established and if the Central tries to use the Encryption Start procedure, the CC2640R2 will respond with a rejection indicating the PIN OR KEY MISSING error code.