Bluetooth Channel Sounding on iOS 27 Beta — CS Procedures Execute but Distance Always Returns 0

I'm trying to get Apple's new Bluetooth Channel Sounding distance measurement working between an iPhone running iOS 27 Beta and a Nordic nRF54L15-based board.

The CS procedures appear to execute successfully over the air (Mode 0 + Mode 2 with Inline PCT), but the iOS sample app consistently returns 0 distance readings and occasionally throws Channel Sounding configuration failed.

What specific validation does iOS 27 apply to CS results before surfacing them ?

Are there known compatibility requirements for Nordic nRF54L15 with iOS Channel Sounding? (Nordic has indicated they're working on official support but have no timeline)

Is there a publicly available hardware and/or firmware platform already available we can use to test?

This issue is known. Please continue testing with future beta seeds, and if the issue is not resolved, please file bug reports.

We don't as of yet have any recommendations for compatible hardware. I will update this thread if that info becomes available.

@jmarcelino If you can test it again with Beta 2 and report your results here, it would be of great help.

Can confirm it now works. Tested with Nordic nRF54L15's ipt_reflector sample, modified to add RAS (Ranging Service) in Advertisement Data + Enabling Bonding.

Can you confirm Bonding is required for Channel Sounding to work? It was tricky on my end to figure that one out.

Thanks for addressing the issue so quickly.

I am also testing this with the nRF54L15 and I am able to get it functioning with the iOS 27 public beta 1.

However it also seems to require bonding as @dinesharjaninordic mentioned. Is that going to be a requirement vs just pairing?

Also is AccessorySetupKit required to be used before CS? My app connects with CoreBluetooth and bonds the accessory without ASK. In that app, startChannelSoundingSession fails with CBInternalErrorDomain code 10 ("Operation is not allowed") even though the device is bonded. It only begins working after a different app pairs the same accessory via AccessorySetupKit. From that point on, CS works in my non-ASK app.

Bluetooth Channel Sounding on iOS 27 Beta — CS Procedures Execute but Distance Always Returns 0
 
 
Q