Because of the Thanksgiving holiday in the U.S., TI E2E™ design support forum responses may be delayed from November 25 through December 2. Thank you for your patience.

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.

CC2640R2F: CC2640R2F Can not re-connect to central device after successfully pairing

Part Number: CC2640R2F

Hi there,

I have been working on a project with custom peripheral running on CC2640R2. My project works nicely both with iOS and Android devices. However, when I try to test against to Windows 10, I can not re-connect after successful pairing MITM enabled with LE Legacy(Pin Entry).

I am running simplelink_cc2640r2_sdk_1_50_00_58 stack on CC2640R2 chip. I have a custom GATT profile. Following stack options are enabled for this project on factory_config.opt:

-DBLE_V41_FEATURES=V41_FEATURES+V41_CTRL_CFG+L2CAP_COC_CFG
-DBLE_V42_FEATURES=V42_FEATURES+PRIVACY_1_2_CFG+EXT_DATA_LEN_CFG+SECURE_CONNS_CFG
-DBLE_VS_FEATURES=EXTRA_ADV_FEAT+EXTRA_SCAN_FEAT

Here are the config for build_config.opt

-DHOST_CONFIG=PERIPHERAL_CFG
-DGAP_BOND_MGR
-DV41_FEATURES=L2CAP_COC_CFG+V41_CTRL_CFG
-DHCI_TL_NONE

Here is my GAP Configurations:

uint32_t passkey = DEFAULT_PAIRING_PIN_CODE;
uint8_t pairMode = GAPBOND_PAIRING_MODE_WAIT_FOR_REQ
uint8_t mitm = TRUE;                                  
uint8_t ioCap = GAPBOND_IO_CAP_DISPLAY_ONLY;
uint8_t bonding = TRUE;
uint8_t gapbondSecure = GAPBOND_SECURE_CONNECTION_NONE;
uint8_t autoSyncWhiteList = TRUE;
        
GAPBondMgr_SetParameter(GAPBOND_DEFAULT_PASSCODE, sizeof(uint32_t),&passkey);
GAPBondMgr_SetParameter(GAPBOND_PAIRING_MODE, sizeof(uint8_t), &pairMode);
GAPBondMgr_SetParameter(GAPBOND_MITM_PROTECTION, sizeof(uint8_t), &mitm);
GAPBondMgr_SetParameter(GAPBOND_IO_CAPABILITIES, sizeof(uint8_t), &ioCap);
GAPBondMgr_SetParameter(GAPBOND_BONDING_ENABLED, sizeof(uint8_t), &bonding);
GAPBondMgr_SetParameter(GAPBOND_SECURE_CONNECTION, sizeof(uint8_t), &gapbondSecure);
GAPBondMgr_SetParameter(GAPBOND_AUTO_SYNC_WL, sizeof(uint8_t), &autoSyncWhiteList);


Both for Android and iOS I can re-connect multiple times and exchange information with test application. However, I can not re-connect to the Windows 10 Machine. Please see the BLE Analyzer logs.

Master device (Windows 10 Machine) can not read/write from this point on. I am highly suspicious about RPA is enabled and Windows 10 can not re-discover the prebonded device. Is there a way to disable RPA on 1.50.00.58 stack? I think it should be something related with LE Privacy 1.2 features.

Any idea/comment would be very very appreciated!

Thanks!




  • Hello,

    The device will not use an RPA unless instructed to do so. (using GAP Addr config function call)

    It appears the issue is related to the reconnecting box you have highlighted in black, is this correct?
    What is the behavior after this, does the connection drop? Is there further traffic from either device?

    Can you attach the full sniffer captures?
  • Ok, the issue is resolved. Tried this on a different Windows 10 machine and it magically works!..
    Thank you for your time again.