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.

CC2745R10-Q1: Performing GapBondMgr_writeBondToNv for both Peripheral and Central

Part Number: CC2745R10-Q1

Hi
I need to pair+bond  CC2745 with CC2340 in a factory environment with lot of Radio Interferences.
When tried to perform pairing with Justworks,  I see a lot of retries and failures.

I came across Importing Bonding Information https://dev.ti.com/tirex/explore/content/simplelink_lowpower_f3_sdk_9_12_00_19/docs/ble5stack/ble_user_guide/html/ble-stack-5.x/gapbondmngr-cc23xx.html#import-bonding-information

I want to know if I can generate the contents of struct  gapBondNvRecord_t (as per SDK version 9.12) 
gapBondRec_t *pBondRec;
gapBondLTK_t *pLocalLtk;
gapBondLTK_t *pDevLtk;
uint8_t *pIRK;
uint8_t *pSRK;
uint32_t *pSignCount;
gapBondCharCfg_t *pCharCfg;

on a PC with relavent crypto functions.and use GapBondMgr_writeBondToNv  on both BLE Central and Peripheral .

Since a bonding information is present , the pairing flow would be skipped and the link would be encrypted with populated data. 
Kindly let me know if this approach works

  • Hello, 

     From your explanation, I believe you are looking for out of band pairing. Please refer to the out of band pairing documentation here

    OOB is used for external pairing and bonding. OOB is used with wired communication, or other communication which receives the bonding/pairing information from the device before connecting. The bonding/pairing information is then sent to the BLE device, which subsequently adds the bonding information to the NV. As long as the bonding information is valid, I believe you can use the PC to generate the values. 

    Thanks,

    Isaac

  • Hi Issac
    Thanks for the replay

    I'm trying few combinations of populating the gapBondNvRecord_t,

    It would be helpful if you can share what all fields that are to be filled in gapBondNvRecord_t  for central and for peripheral.
    Like gapBondLTK_t *pLocalLtk; -> should be same (?) for both the devices 
    uint8_t *pIRK; -> can be skipped (?)

    Kindly assist 

  • Hello, 

    I apologize; I will provide a response next Monday (11/24). 

    Thanks,
    Isaac

  • Hi
    Any update on this ?

  • Hello, 

    Theoretically, this is possible with the BLE specification. Unfortunately, TI will not support you in this implementation. 

    Thanks,

    Isaac