Hello Team,
Our project has the following properties
SDK |
simplelink_cc2640r2_sdk_5_30_00_03 |
IDE |
IAR8.32.2 |
Reference Project |
MultiRole |
1. We are using multi role on both the client(A) and peripheral(B) side.
2. We are using bonding with just works pairing mode, 1 SNV page used.
3. On the Peripheral side(B), our bonding parameters are set as follows:
pairMode = GAPBOND_PAIRING_MODE_WAIT_FOR_REQ;
mitm = FALSE;
ioCap = GAPBOND_IO_CAP_NO_INPUT_NO_OUTPUT;
bonding = TRUE;
replaceBonds = TRUE;
4. On the Client side(A), our bonding parameters are set as follows:
pairMode = GAPBOND_PAIRING_MODE_INITIATE;
mitm = FALSE;
ioCap = GAPBOND_IO_CAP_NO_INPUT_NO_OUTPUT;
bonding = TRUE;
replaceBonds = TRUE;
5. We have encrypted the write property to simpleProfilechar1UUID as GATT_PERMIT_ENCRYPT_WRITE.
After starting both the client(A) and peripheral(B), if I scan from A and connect B, I get the following expected callbacks/events:
GAP_LINK_ESTABLISHED_EVENT |
GAPBOND_PAIRING_STATE_STARTED |
ATT_MTU_UPDATED_EVENT |
BLE_DISC_STATE_CHAR |
GAPBOND_PAIRING_STATE_COMPLETE |
GAPBOND_PAIRING_STATE_BOND_SAVED |
Now keeping A as is, if I re-flash the same software on B (hence erasing the bond information, I guess) and try to scan and connect B to A, I get the following events:
GAP_LINK_ESTABLISHED_EVENT |
ATT_MTU_UPDATED_EVENT |
GAP_LINK_TERMINATED_EVENT |
Hence I am never able to create a new connection unless I power cycle A, in this case it will pair and save a new bond.
Is there any other event or callback we receive in order to track this behavior where the client is notified about the peripheral not having the bond information?
Regards,
Niranjan