Simplelink Academy 1.50
TI-RTOS
CCS ver 8.0.0
For our project we use a central and peripheral. We are sending raw data using a custom characteristic using GATTServApp_ProcessCharCfg. We are sending data as notifications.
On the central we read the incoming notifications in the processGATTMsg() : (pMsg->method == ATT_HANDLE_VALUE_NOTI)
We are able to successfully read all notifications being sent.
We are implementing Just Works pairing mode since we do not have any IO capabilities.
We use the following pairing parameters.
PERIPHERAL:
uint32_t passkey = 0; // passkey "000000"
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;
CENTRAL:
uint8_t pairMode = DEFAULT_PAIRING_MODE;
uint8_t mitm = DEFAULT_MITM_MODE;
uint8_t ioCap = DEFAULT_IO_CAPABILITIES;
uint8_t bonding = DEFAULT_BONDING_MODE;
We would like to add Link Layer encryption for the data being sent over the air. I came across a few posts and noticed that all that's required for enabling encryption is to modify the permissions for characteristic value to GATT_PERMIT_ENCRYPT_READ. I have made that change and also added the following :
uint8_t secureConn = GAPBOND_SECURE_CONNECTION_ALLOW;
No changes made on the central side.
However, i am still not able to encrypt the link. I send known data values from the peripheral and using a BLE sniffer, I am able to read the raw data values.
Is there anything i'm missing for enabling the encryption? Any help is appreciated.
Thank you,
Nikhil