This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

OOB Bonding SDK15. Question

Hi!

1. Is there any method to make paring and bonding without radio channel? For ex. write any data directly to .hex to periph and central devices.

2. Is it possible to use some OOB Bonding algorithm for mass storage production? For ex., write to both devices some password in to flash and then execute the code that makes the OOB using this code?

Parents
  • Hi,

    1. You can use out of band pairing/bonding via some other communication channel (e.g. NFC), but you can also simply use static passkey.

    2. Yes. You can program a pass key somewhere in flash during production, read that and supply it to the SoftDevice as a static passkey. See for example this MSC: Bonding: Passkey Entry with static passkey. In your case you would program the same key in both devices, so that there is no need to display the key on one device and enter it on the other.

    Best regards,

    Einar

  • Hi!

    Thanks for answer. I mean that I want to write into SD some key and without any radio key exchange to have 2 bonded devices. For ex., flash central with some key, switch of power, than flash periph with key (same or not?), switch of power periph. And those two devices will already bonded. Is it possible?

  • Hi,

    I read your previous post too quickly. My understanding when I wrote the previous post was that you wanted to bond the two devices without any RF communication between them until after they have been bonded, but I see now that you only wanted to avoid sending the key over the air. That was what I briefly described in my initial answer.

    To be more specific, you can use normal OOB pairing method, using keys that you have already programmed to the flash during production. In this case, you provide the key with sd_ble_gap_auth_key_reply() when you get a BLE_GAP_EVT_AUTH_KEY_REQUEST event. You should configure the Peer manager for OOB pairing as described here.

  • Sorry, a lot of buttons in a page)

    If I want to use sd_ble_gap_auth_key_reply()? I see this function call in the OOB-NFC pairing.

    Is it enought to transfer key via sd_ble_gap_auth_key_reply() function? Or I need make some actions do?

    Or enough send via sd_ble_gap_auth_key_reply() my key? Should I send same key in to both devices?

    If I'll use  sd_ble_gap_auth_key_reply(), another exchange will do via air? Means, The peer's Bluetooth address and identity resolution key (IRK), LTK...

    May be in my case best way to use OOB set and sd_ble_gap_auth_key_reply()?

  • May you incorrect inderstand me. I don't want to any RF communication between them until after they have been bonded. Not only avoid a key over the air.

    I just want to flash some data in the both devices and they they have been bonded.

    As I can undestand, the OOB request some RF channel for exchange data. Therefore I don't need the OOB. Correct? 

  • I can't understand- can I make OOB bonding wo ble air exchange?
    I see diagram- bonding: passkey entry, User inputs on peripherial or OOB
    and correct me:
    I set flag OOB and MITM to periph and in to central.
    next via ble channel I from central try to connect to peripherial. And send BLE_GAP_EVT_AUTH_KEY_REQUEST
    Only in that place I use NFC for get some temp key. And transfer this key into SD - sd_ble_gap_auth_key_reply.
    Correct I undestand that OOB pairing possible to use only with ble channel?

  • Normal OOB bonding means that the key exchange is out of band (not over BLE), but other parts of the pairing process is handled over the air. If you want to do full bonding without any RF traffic, then you must implement that yourself as I have outlined in this answer. There is no example in of this in the SDK.

Reply Children
Related