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

"Failed to add IRK to controller" Error during startup on nrf_connect app

I'm trying to get our mouse to connect to the dongle and it's not working, so I'm troubleshooting.

I noticed that I get 3 of these <err> bt_hci_core: Failed to add IRK to controller errors in the log. Are these a problem? What's the cause of this error? What does it mean? It gets printed because of an error in the hci_id_add function, but when I try to breakpoint in there my whole toolchain crashes and I have to restart Segger Embedded Studio.

I get the same errors with the dongle/BLE switch in either position.

Here's the full debug log:

[00057269] <inf> spi_nrfx_spim: CS control inhibited (no GPIO device)
[00057288] <inf> paw3212: Product ID: 0x30
[00057313] <inf> paw3212: PAW3212 initialized
[00057318] <inf> event_manager: e: module_state_event module:main state:READY
[00057337] <inf> leds: Found LED strip device WS2812
[00057730] <inf> sdc_hci_driver: SoftDevice Controller build revision: 
                                 d9 e2 43 71 3b 2d c0 15  55 e1 1d c8 99 75 01 7a |..Cq;-.. U....u.z
                                 62 85 8d 0a                                      |b...             
[00057736] <inf> hid_state: Init HID state!
[00057743] <inf> power_manager: Activate power manager
[00057750] <inf> event_manager: e: module_state_event module:board state:READY
[00057754] <inf> event_manager: e: module_state_event module:buttons state:READY
[00057757] <inf> event_manager: e: module_state_event module:click_detector state:READY
[00057762] <inf> event_manager: e: selector_event id: 0 position: 0
[00057765] <inf> event_manager: e: module_state_event module:selector state:READY
[00057769] <inf> event_manager: e: module_state_event module:wheel state:READY
[00057773] <inf> event_manager: e: module_state_event module:leds state:READY
[00057778] <inf> event_manager: e: module_state_event module:battery_meas state:READY
[00057782] <inf> event_manager: e: module_state_event module:info state:READY
[00057786] <inf> event_manager: e: module_state_event module:usb_state state:READY
[00057790] <inf> event_manager: e: led_event led_id:0 effect:0x3d598
[00057798] <inf> spi_nrfx_spim: CS control inhibited (no GPIO device)
[00057812] <inf> paw3212: Set CPI: 1178 (requested: 1178, reg:0x1f)
[00057826] <inf> event_manager: e: module_state_event module:hfclk_lock state:READY
[00057950] <inf> bt_hci_core: No ID address. App must call settings_load()
[00057951] <inf> ble_state: Bluetooth initialized
[00057960] <inf> ble_state: LLPM enabled
[00057964] <inf> event_manager: e: module_state_event module:led_stream state:READY
[00057968] <inf> event_manager: e: module_state_event module:motion state:READY
[00057972] <inf> event_manager: e: module_state_event module:ble_state state:READY
[00057982] <inf> hids: Service initialized
[00057985] <inf> event_manager: e: module_state_event module:ble_adv state:READY
[00057989] <inf> event_manager: e: module_state_event module:bas state:READY
[00057993] <inf> event_manager: e: module_state_event module:hids state:READY
[00064366] <wrn> bt_hci_core: opcode 0x2027 status 0x12
[00064366] <err> bt_hci_core: Failed to add IRK to controller
[00064429] <wrn> bt_hci_core: opcode 0x2027 status 0x12
[00064430] <err> bt_hci_core: Failed to add IRK to controller
[00064456] <wrn> bt_hci_core: opcode 0x2027 status 0x12
[00064457] <err> bt_hci_core: Failed to add IRK to controller
[00064467] <inf> settings_loader: Settings loaded
[00064505] <inf> event_manager: e: module_state_event module:settings_loader state:READY
[00064505] <inf> ble_bond: Device has 6 identities
[00064506] <inf> ble_bond: Selected dongle peer
[00064512] <inf> event_manager: e: ble_peer_operation_event SELECTED bt_app_id=3 bt_stack_id=4
[00064515] <inf> event_manager: e: module_state_event module:ble_bond state:READY
[00064517] <inf> ble_adv: Advertising stopped
[00064517] <inf> ble_adv: Use fast advertising
[00064588] <inf> ble_adv: Advertising started
[00064591] <inf> event_manager: e: ble_peer_search_event inactive
[00064592] <inf> event_manager: e: ble_peer_search_event active
[00064601] <inf> paw3212: Enable sleep
[00064643] <inf> paw3212: Set sleep1 timeout: 256 (requested: 256, reg:0x7)
[00064679] <inf> paw3212: Set sleep2 timeout: 20480 (requested: 20480, reg:0x0)
[00064715] <inf> paw3212: Set sleep3 timeout: 20480 (requested: 20480, reg:0x0)
[00064752] <inf> paw3212: Set sleep1 sample time: 32 (requested: 32, reg:0x7)
[00064785] <inf> paw3212: Set sleep2 sample time: 64 (requested: 64, reg:0x0)
[00064828] <inf> paw3212: Set sleep3 sample time: 512 (requested: 512, reg:0x7)

Thanks,

Glen

Parents
  • It seems like it's related to the settings. I modified the nRF52840 gaming mouse code to work on our custom nRF52833 board and maybe I have a memory address wrong or something with the smaller processor. How do the settings work? Are they stored in a file that this settings loader reads in? It's hard to trace where they are coming from.

    EDIT: AAAHHH - I think I have this fixed. I don't understand the settings area well, but it seems like there was old data in that part of flash that my debugger wasn't clearing out. I connected with my flash programmer and erased the entire chip, and then tried debugging. Now I'm not getting those IKR errors and it connected to my dongle (doesn't actually work yet - but this is a big step forward). 

Reply
  • It seems like it's related to the settings. I modified the nRF52840 gaming mouse code to work on our custom nRF52833 board and maybe I have a memory address wrong or something with the smaller processor. How do the settings work? Are they stored in a file that this settings loader reads in? It's hard to trace where they are coming from.

    EDIT: AAAHHH - I think I have this fixed. I don't understand the settings area well, but it seems like there was old data in that part of flash that my debugger wasn't clearing out. I connected with my flash programmer and erased the entire chip, and then tried debugging. Now I'm not getting those IKR errors and it connected to my dongle (doesn't actually work yet - but this is a big step forward). 

Children
No Data
Related