<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Reduce time to start channel sounding</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/127472/reduce-time-to-start-channel-sounding</link><description>We have an application where response time is critical, and we are trying to minimize the time from advertising to an active channel sounding session. 
 What we have already optimized: 
 
 Connection interval set to 7.5 ms 
 Advertising interval reduced</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 16 Apr 2026 10:23:07 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/127472/reduce-time-to-start-channel-sounding" /><item><title>RE: Reduce time to start channel sounding</title><link>https://devzone.nordicsemi.com/thread/565021?ContentTypeID=1</link><pubDate>Thu, 16 Apr 2026 10:23:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d81b9d32-2927-4893-9c7c-0f16570feae5</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Okay, so we would need to know what the controller is doing at this time. Can you capture a sniffer trace of the process so we can see what&amp;#39;s going on over the air here? Please set&amp;nbsp;&lt;span&gt;CONFIG_BT_USE_DEBUG_KEYS=y on both sides to get into the application correctly.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;We also had a jab at reducing the time from the &lt;strong&gt;connected_cb&lt;/strong&gt; to the CS &lt;strong&gt;procedure_enable_cb&lt;/strong&gt; in the initiator/reflector samples with a sequence of quick improvements. We were able to get down from 977ms to 219ms, and managed to use the cached remote capabilities here. Maybe the PR here might serve as inspiration for you:&amp;nbsp;&lt;a href="https://github.com/nrfconnect/sdk-nrf/pull/28197/commits"&gt;https://github.com/nrfconnect/sdk-nrf/pull/28197/commits&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reduce time to start channel sounding</title><link>https://devzone.nordicsemi.com/thread/564910?ContentTypeID=1</link><pubDate>Tue, 14 Apr 2026 11:00:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:021a1eff-2f63-46b3-a88d-37d71409f8a3</guid><dc:creator>nikeub</dc:creator><description>&lt;p&gt;Hi,&lt;br /&gt;&lt;br /&gt;This happened on the initiator if that&amp;#39;s what you are asking. bt_le_cs_security_enable is not called on the reflector side.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reduce time to start channel sounding</title><link>https://devzone.nordicsemi.com/thread/564873?ContentTypeID=1</link><pubDate>Mon, 13 Apr 2026 13:52:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0a159341-0f62-4795-9bd8-4849daff3946</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Just to understand what&amp;#39;s going on with the &lt;strong&gt;bt_le_cs_security_enable&lt;/strong&gt;() taking extra time, is this on the BLE host side or server side? I don&amp;#39;t have any obvious suggestions, so I have to ask the devs about what this could be due to.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reduce time to start channel sounding</title><link>https://devzone.nordicsemi.com/thread/564545?ContentTypeID=1</link><pubDate>Tue, 07 Apr 2026 15:39:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:99584267-703b-4fe6-b8ca-5e5d6ada19b4</guid><dc:creator>nikeub</dc:creator><description>&lt;p data-start="46" data-end="237"&gt;The timing is critical since this is used for an access control use case. We need to determine quickly if a person is close. From scan to connect we are aiming for something closer to 300 ms.&lt;/p&gt;
&lt;p data-start="239" data-end="551"&gt;I tried compile-time hardcoding the capabilities struct and calling &lt;code data-start="307" data-end="361"&gt;HCI_LE_CS_Write_Cached_Remote_Supported_Capabilities&lt;/code&gt; on both sides, but then bt_le_cs_procedure_enable fails with status 0x1E. Should this be possible, or does at least one capabilities exchange need to happen after reboot before calling write cached?&lt;/p&gt;
&lt;p data-start="553" data-end="756"&gt;I also noticed that even if I optimize everything before the CS functions, I eventually get capped by &lt;code data-start="655" data-end="681"&gt;bt_le_cs_security_enable&lt;/code&gt;. It seems like it&amp;rsquo;s blocked on something underlying that the SDC is doing.&lt;/p&gt;
&lt;p data-start="758" data-end="1004"&gt;As a test, I stripped the path down to bare minimum to rule stuff out (no capabilities exchange, config, subscribe, discovery, etc.) and just called &lt;code data-start="889" data-end="915"&gt;bt_le_cs_security_enable&lt;/code&gt;, but it took ~82 ms. If I add delay ~100 ms sleep before calling it, the time to execute it drops to ~27 ms. Any idea what could be causing that?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reduce time to start channel sounding</title><link>https://devzone.nordicsemi.com/thread/563732?ContentTypeID=1</link><pubDate>Fri, 20 Mar 2026 06:59:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:20d482f0-c244-45dc-8ce7-4616096eefa4</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;It does not seem to be possible to cache the MTU exchange and CS security within the BLE specification at least, but some more information on the CS capabilities. It should be possible to use the&amp;nbsp;&lt;span&gt;LE CS Write Cached Remote Supported Capabilities command if the peer&amp;#39;s capabilities are known. It&amp;#39;s also possible to use the&amp;nbsp;LE CS Create Config command with Create_Context=0 if both devices create a pre-defined identical configuration.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Any further changes I think might be breaking with the BLE specification. What&amp;#39;s the target time you&amp;#39;re looking at for getting a Channel Sounding session started? And is this just one to one pairing, or are you planning on having multiple devices being tracked regularly which is why the timing is critical?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Simon&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reduce time to start channel sounding</title><link>https://devzone.nordicsemi.com/thread/563587?ContentTypeID=1</link><pubDate>Wed, 18 Mar 2026 14:35:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ec3691c5-27bf-4dc0-9c20-b5456dd4a064</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Channel Sounding config/cap exchange: I&amp;#39;m not sure how much this would reduce the timing, but from&amp;nbsp;&lt;strong&gt;...\nrfxlib\softdevice_controller\include\sdc_hci_cmd_le.h&lt;/strong&gt;&amp;nbsp;The host may store a copy of the remote device&amp;#39;s capabilities and write the remote capabilities in the local controller when it reconnects to the same remote device by using the&amp;nbsp;&lt;strong&gt;HCI_LE_CS_Write_Cached_Remote_Supported_Capabilities&lt;/strong&gt; command.&lt;/li&gt;
&lt;li&gt;As far as I know, I think this is per BLE specification, and the MTU exchange&amp;nbsp;&lt;strong&gt;must&lt;/strong&gt; be done. I&amp;#39;ll have to double check that and get back to you though.&lt;/li&gt;
&lt;li&gt;I will also need to find out and get back to you whether this is a must or not, my initial guess is that it is required.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>