This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Bus fault error when initiating connection on 2M/Coded PHY

Hi all,

I have two nRF52840-DK boards advertising on legacy(1M) and Coded PHY mode.

Connections on 1M PHY are working fine, however, for Coded or 2M, I am having a "Precise data bus error" on functions that I believe are part of S140 Soft Device library.

  • r14/lr: 0x00004f17 > ncs/v1.8.0/nrfxlib/softdevice_controller/lib/cortex-m4/hard-float/libsoftdevice_controller_multirole.a(libsoftdevice_controller_s140_debug_hardfp__obfuscated.elf)
  • Faulting instruction address (r15/pc): 0x00019e14 > ncs/v1.8.0/nrfxlib/softdevice_controller/lib/cortex-m4/hard-float/libsoftdevice_controller_multirole.a(libsoftdevice_controller_s140_debug_hardfp__obfuscated.elf)

I have tried to trigger the connection manually within scan_filter_match() callback function, but the result it is the same. Connections on1M PHY are opened successfully and Bus fault error on 2M/Coded PHY.

I am working with nRF Connect SDK v1.8.0 and SoftDevice HCI Controller.

Please find attached debug output screenshot and project folder.

Any suggestion would be much appreciated.

Kindest regards,

6740.reactec_test_nrf52840.rar

Parents
  • Hi,

    I was not able to trigger the issue with the code uploaded as-is, I guess it needs some minor modifications to trigger it.

    I have tried to trigger the connection manually within scan_filter_match() callback function
    Did you also remember to set this in the init_scan_param ?
    .connect_if_match   = false,
    I see it is set to true in the code that was uploaded.
  • Morning Sigurd,

    Thanks for your response.

    Yes, I did try initially by setting connect_if_match to true, that was when I saw the issue for the first time. Then, I set connect_if_match to false in order to test connection manually within scan_filter_match() function. That piece of code is disabled in the uploaded project.

    Either in ble_ext_start_advertising() and ble_ext_stop_advertising() you could disable advertising on 1M PHY by commenting out "bt_le_ext_adv_start(std_adv_ctx, NULL);" and "bt_le_ext_adv_stop(std_adv_ctx);" functions call. That way, advertising will only be enabled on Coded PHY and I believe you will see Bus fault error when trying to connect to the device.

    Could you please run a test as above and let me know if you see the error?

    Thanks again,

Reply
  • Morning Sigurd,

    Thanks for your response.

    Yes, I did try initially by setting connect_if_match to true, that was when I saw the issue for the first time. Then, I set connect_if_match to false in order to test connection manually within scan_filter_match() function. That piece of code is disabled in the uploaded project.

    Either in ble_ext_start_advertising() and ble_ext_stop_advertising() you could disable advertising on 1M PHY by commenting out "bt_le_ext_adv_start(std_adv_ctx, NULL);" and "bt_le_ext_adv_stop(std_adv_ctx);" functions call. That way, advertising will only be enabled on Coded PHY and I believe you will see Bus fault error when trying to connect to the device.

    Could you please run a test as above and let me know if you see the error?

    Thanks again,

Children
No Data
Related