<?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>PAwR response delayed by one periodic interval</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/126338/pawr-response-delayed-by-one-periodic-interval</link><description>Hello, 
 We are using 2 nRF5340-based devices running: 
 
 samples/bluetooth/periodic_adv_rsp 
 samples/bluetooth/periodic_sync_rsp 
 
 with the PAwR configuration (modified from the original samples): 
 
 NUM_RSP_SLOTS = 1 
 NUM_SUBEVENTS = 1 
 
 Each</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 06 Jan 2026 21:14:41 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/126338/pawr-response-delayed-by-one-periodic-interval" /><item><title>RE: PAwR response delayed by one periodic interval</title><link>https://devzone.nordicsemi.com/thread/558084?ContentTypeID=1</link><pubDate>Tue, 06 Jan 2026 21:14:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:948d7584-4a3f-4e45-abfa-1ea22557c356</guid><dc:creator>droid</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Together with a timer (to handle the case of no &lt;code&gt;response_cb&lt;/code&gt; in &lt;code&gt;periodic_adv_rsp&lt;/code&gt; sample), this works well.&lt;/p&gt;
&lt;p&gt;Thank you for the recommendation.&lt;/p&gt;
&lt;p&gt;Carl&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: PAwR response delayed by one periodic interval</title><link>https://devzone.nordicsemi.com/thread/558009?ContentTypeID=1</link><pubDate>Tue, 06 Jan 2026 10:45:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c57dad61-cda0-4aec-bbf2-70d38c656f25</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hi Carl,&lt;/p&gt;
&lt;p&gt;The nordic sniffer does not support PAwR so you will have to use something more powerful like an Ellisys or Frontline sniffer.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The application does not have to respond directly in the callback from the host (request_cb in the sample). You can call bt_le_per_adv_set_subevent_data later after receiving the response from the sync. If you are too late the controller will respond with an error code (0x46 TOO_LATE).&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: PAwR response delayed by one periodic interval</title><link>https://devzone.nordicsemi.com/thread/557844?ContentTypeID=1</link><pubDate>Sat, 03 Jan 2026 00:09:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:98b9a986-c45e-4fdd-ae2b-3a298cca8cc1</guid><dc:creator>droid</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Thank you for the information (and Happy New Year!).&lt;/p&gt;
&lt;p&gt;We were not able to capture any LE Periodic Advertising packets for some reason (Windows 11, Wireshark 4.6.2, nRF52840 Dongle with sniffer_nrf52dongle_nrf52840_4.1.1.zip) so could not verify the sniffer trace above, but have extended the&lt;code&gt; slot_delay&lt;/code&gt; (up to 200ms in another application) which should be sufficient to set a subevent response in the LE Periodic Sync (with subevents) device in the same LE Periodic Advertising interval as the subevent request.&lt;/p&gt;
&lt;p&gt;We greatly appreciate the Nordic developer reproducing our results. And, the following would then explain the results:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The controller raises the data request event right after sending the AUX_SYNC_SUBEVENT_IND, before any responses have been received. So the timeline is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Controller sends AUX_SYNC_SUBEVENT_IND with counter=N, requests data for next subevent&lt;/li&gt;
&lt;li&gt;App responds to data request, sets data with counter=N+1&lt;/li&gt;
&lt;li&gt;Sync responds with counter=N&lt;/li&gt;
&lt;li&gt;App receives the response with counter=N&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;This means the LE Periodic Advertising (with subevents) device will&amp;nbsp;&lt;strong&gt;not&amp;nbsp; &lt;/strong&gt;be able to send a request based on the previous subevent response from the LE Periodic Sync (with subevents) device in the next LE Periodic Advertising interval after the subevent response is received, but rather must wait for the following LE Periodic Advertising interval to do so.&lt;/p&gt;
&lt;p&gt;Of course this guarantees sufficient time for SD scheduling the next LE Periodic Advertising interval transmission, but reduces the rate of such &amp;#39;ping pong&amp;#39; transactions by 50%.&lt;/p&gt;
&lt;p&gt;In the LE Periodic Advertising (with subevents) device, would it be at all possible to defer the request for data by the SD controller until after &lt;code&gt;slot_delay&lt;/code&gt;&amp;nbsp;time has passed? For sufficiently long LE Periodic Advertising intervals, that should supply sufficient time to process a request.&lt;/p&gt;
&lt;p&gt;Thank you,&lt;/p&gt;
&lt;p&gt;Carl&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: PAwR response delayed by one periodic interval</title><link>https://devzone.nordicsemi.com/thread/557819?ContentTypeID=1</link><pubDate>Fri, 02 Jan 2026 13:25:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:806ca4b3-3019-4060-8e61-d5187e91d9cd</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I have limited experience with PAwR so I forwarded this to our developers. Here&amp;nbsp;is the response I got:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;The sync is allowed to respond up to one periodic interval later. Which periodic interval it will respond in depends on the timing of the &amp;quot;LE Set Periodic Advertising Response Data&amp;quot; HCI command. If there is time to respond in the current subevent SDC will do that, if not the response will be one periodic interval delayed. In addition, SDC will enqueue the &amp;quot;LE Periodic Advertising Subevent Data Request&amp;quot; event when the AUX_SYNC_SUBEVENT_IND has been sent so it will be fetched by the host before the response events.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;The way to make sure the sync can respond in the same subevent is to increase the response slot delay, like the customer tried. I dont know what values they tried. The data has to go through the zephyr host and HCI so there will be some delays here. They are using 53 so there are additional delays in IPC between app and net cores as well.&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: developer&amp;nbsp;also tested the sample himself:&lt;/p&gt;
&lt;p&gt;&lt;span data-teams="true"&gt;Ran the samples on 54L with modifications mentioned in the devzone post. With a sniffer I see the sync consistently responding in the same subevent (response slot delay is 10 ms in the sample, periodic interval is 318.75 ms):&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-teams="true"&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1767362536079v1.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-teams="true"&gt;However, I see the same logs as the customer on the advertiser side:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-teams="true"&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1767362546808v2.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-teams="true"&gt;So ideally they would use a sniffer to see if the sync is responding in the same periodic interval or not&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I think there are two things confusing here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The controller raises the data request event right after sending the AUX_SYNC_SUBEVENT_IND, before any responses have been received. So the timeline is:
&lt;ul&gt;
&lt;li&gt;Controller sends AUX_SYNC_SUBEVENT_IND with counter=N, requests data for next subevent&lt;/li&gt;
&lt;li&gt;App responds to data request, sets data with counter=N+1&lt;/li&gt;
&lt;li&gt;Sync responds with counter=N&lt;/li&gt;
&lt;li&gt;App receives the response with counter=N&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The sample prints &amp;quot;Subevent data set N&amp;quot; after it set data with counter=N-1. It is the &amp;quot;request: counter N-1&amp;quot; print that tells which counter value was set.&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>