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

How to use an IRK

I know that I am supposed to use an IRK for bonding with devices like iPhones, how do I actually add it to a whitelist and resolve it?

I am using SDK 10 and softdevice s130.

  • Are you using Device Manager or Peer Manager or none of them? Are you using the advertising module?

  • I am using the Device Manager.

  • I believe that I am using the advertising module.

  • If I may add one question, how this IRK work while iOS randomly change its mac address? Once we have this IRK we can somehow figure out "original" mac address?

  • If you use device manager and the advertising the whitelisting is handled by them.

    See the ble_app_hids_keyboard example. You have to enable whitelist advertising when you call ble_advertising_init(), see advertising_init().

    From the documentation you can see that the advertising moduel will request a whitelist by sending an event to the application, the BLE_ADV_EVT_WHITELIST_REQUEST event. You can see how this is handled in on_adv_evt(). The device manager creates the whitelist and you give it to the advertising module.

1 2