Channel Sounding with Pixel 10 as Reflector

Hi,

I managed to get Channel Sounding with Pixel 10 as Initiator working, based on this change on mainline.

https://github.com/nrfconnect/sdk-nrf/commit/30f67fc0b6be8051b5d8f73d900675dd98758631#diff-e3a61f36efd9606cddb696eee5aa300141429f7f9755f07a13769e5c9ac34b0a

But for my use case I need the Pixel 10 to be the Reflector and the nRF54L15DK the Initiator.

I've updated the ras_initiator example to add similar changes as in the above mentioned patch (mainly took over the android_ranging.conf).

It connects and seems to exchange the CS capabilities but the CS procedure enable fails with status 0x2A

W: Procedure Enable failed with status 0x2A
W: CS procedures enable failed. (HCI status 0x2a)

Has someone managed to get it working? What could be the error. Let me know what logs I should provide to narrow this down. I tried to enable debug logs but then it does not even go past the connection step.

0x2A is probably "BT_HCI_ERR_DIFF_TRANS_COLLISION"?

I tried the changes mentioned here: 

 Specific Android tablet model isn't able to reliably connect 

to manually update the PHY to 2M but it still shows the error.

Here is the full output.

I: Starting Channel Sounding Initiator Sample
I: 2 Sectors of 4096 bytes
I: alloc wra: 0, fc0
I: data wra: 0, 0
I: SoftDevice Controller build revision: 
I: 5c 54 22 56 50 b4 1a 40 |\T"VP..@
I: 82 87 e0 59 87 be d0 2a |...Y...*
I: 31 69 b0 f5             |1i..    
I: HW Platform: Nordic Semiconductor (0x0002)
I: HW Variant: nRF54Lx (0x0005)
I: Firmware: Standard Bluetooth controller (0x00) Version 92.8788 Build 448024662
I: No ID address. App must call settings_load()
I: HCI transport: SDC
I: Identity: FA:22:F4:AF:17:1B (random)
I: HCI: version 6.1 (0x0f) revision 0x30a9, manufacturer 0x0059
I: LMP: version 6.1 (0x0f) subver 0x30a9
I: Filters matched. Address: 47:6B:33:37:B9:BB (random) connectable: 1
I: Connecting
I: Connected to 47:6B:33:37:B9:BB (random) (err 0x00)
I: PHY updated. New PHY: 2M
I: Security changed: 47:6B:33:37:B9:BB (random) level 2
I: MTU exchange success (498)
I: The discovery procedure succeeded
I: Read RAS feature bits: 0x1
I: CS capability exchange completed.
I: CS config creation complete.
 - id: 0
 - mode: 2 (PBR)
 - min_main_mode_steps: 0
 - max_main_mode_steps: 0
 - main_mode_repetition: 0
 - mode_0_steps: 3
 - role: Initiator
 - rtt_type: AA only
 - cs_sync_phy: LE 1M PHY
 - channel_map_repetition: 1
 - channel_selection_type: Algorithm #3b
 - ch3c_shape: Hat shape
 - ch3c_jump: 2
 - t_ip1_time_us: 30
 - t_ip2_time_us: 20
 - t_fcs_time_us: 80
 - t_pm_time_us: 10
 - channel_map: 0x1FFFFFFFFFFFFC7FFFFC

I: CS security enabled.
I: Connection parameters: interval 20.00 ms, latency 0 intervals, timeout 4000 ms
W: Procedure Enable failed with status 0x2A
W: CS procedures enable failed. (HCI status 0x2a)

  • Hi,

    0x2A is probably "BT_HCI_ERR_DIFF_TRANS_COLLISION"?

    Yes, I agree. That is, the error code is "Different Transaction Collision". Please note that this error stems from any LL Procedure collision, not only those involving a PHY update. Adding a PHY update most likely wouldn't help (as it would only add another procedure.)

    Do you have logs with more context from the original occurrence of the issue (without the added PHY update)?
    Alternatively, have you come further in your end?

    Regards,
    Terje

Related