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!