According to Bridging the GAP: Bluetooth LE Security Part 3,

IRK Re-generation

Each time you clear your peripheral’s bonds, and open it up to a new pairing, you should re-generate your IRK. Why? iOS will not pair to your peripheral if there is already a record for your peripheral under “My Devices” in iOS Bluetooth settings. Generating a new IRK is sort of like labeling your peripheral as a brand new device with a new BD_ADDR. This will allow users to pair to your device a 2nd time without needing to go into Bluetooth settings and manually “forget” your peripheral.

This does have the side effect of having your peripheral listed multiple times under My Devices, once for each pairing and bond.

How would I go about regenerating the IRK using the NXP SDK for the QN9020?

Can someone provide me with a example of this?


  • \$\begingroup\$ Broad questions, and especially those requesting examples are really not on topic in the Stack Exchange system. If this question belongs in the system at all, it belongs on Stackoverflow, not here, as it has no connection to any particular chip. \$\endgroup\$ – Chris Stratton Jul 25 at 16:37
  • \$\begingroup\$ I originally wrote the question to be specific to the NXP QN9020 chip, but since I didn't see any similar questions, I removed those details. Let me add them back. \$\endgroup\$ – Lucas Ramage Jul 25 at 16:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.