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.

CC2541 bonding

Other Parts Discussed in Thread: CC2541

When bonding and encryption is enabled, if 10 different devices were connected to the CC2541, the bonding table gets full. At that point the 11th device will initially connect, after entering the passkey, but in any reconnection after that, communication will not work properly.

Basically the table is full with long term keys, and cannot hold new devices.

We tried to erase the table by using the API gapBondMgrEraseAllBondings() or by directly using the snv functions.

if(v16!=(BLE_VERSION)) { /* check if first time at this version */
for(v16=0;v16<LEN_BOND_TABLE;v16++) blank[v16]=0xff;
osal_snv_write(0,LEN_BOND_TABLE,blank);
v16=BLE_VERSION;
osal_snv_write(BLE_NVID_VERSION,sizeof(uint16),&v16); /* erase all */
}

None of these worked.

The only way to clear the table is by using the CC debugger, which is obviously not a good option for the units that are in the field.