<?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>Different transmission behavior between coded PHY (125kbps) and 1Mbps PHY</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/64036/different-transmission-behavior-between-coded-phy-125kbps-and-1mbps-phy</link><description>Hi, 
 During our development, we observed that when BLE central and peripheral devices are communicating, then often central device will not receive data from peripheral device at the specified connection interval but receive new data and old data in</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 03 Aug 2020 13:58:10 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/64036/different-transmission-behavior-between-coded-phy-125kbps-and-1mbps-phy" /><item><title>RE: Different transmission behavior between coded PHY (125kbps) and 1Mbps PHY</title><link>https://devzone.nordicsemi.com/thread/262824?ContentTypeID=1</link><pubDate>Mon, 03 Aug 2020 13:58:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:61e78be7-5b5d-4813-9693-e1e08f4296c1</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;I suggest you use Rev 3.1 of the sniffer:&amp;nbsp;&lt;a title="Revision history" href="https://infocenter.nordicsemi.com/topic/ug_sniffer_ble/UG/sniffer_ble/revision_history.html?cp=8_4_0"&gt;Revision history&lt;/a&gt;.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;That sniffer trace looks alright. A CONNECT_REQ, followed by empty PDUs (to maintain the connection), and a LL_PHY_REQ.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Can you share the rest of the sniffer trace?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Different transmission behavior between coded PHY (125kbps) and 1Mbps PHY</title><link>https://devzone.nordicsemi.com/thread/262630?ContentTypeID=1</link><pubDate>Fri, 31 Jul 2020 23:59:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c724d313-35d8-4099-b53c-fa7205749ada</guid><dc:creator>ankurt</dc:creator><description>&lt;p&gt;I tried increasing event length to maximum on D3 (25ms).&lt;/p&gt;
&lt;p&gt;Since D2 is running multiple roles at the same time and I couldn&amp;#39;t figure out the way to set different event length for different connections, I also set event length as 25ms on D2 as well.&lt;/p&gt;
&lt;p&gt;att_mtu_throughput examples also has this&amp;nbsp;comment about event length&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;static void gap_evt_len_cmd(nrf_cli_t const * p_cli, size_t argc, char ** argv)
{
    nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot;This value cannot be set at runtime.\n&amp;quot;
                                           &amp;quot;Modify NRF_SDH_BLE_GAP_EVENT_LENGTH in sdk_config.h &amp;quot;
                                           &amp;quot;and recompile the application.\n&amp;quot;);
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;But packet loss is still occurring. I also tried enabling event length extension but no improvement.&lt;/p&gt;
&lt;p&gt;Is there anything else that would recommend?&lt;/p&gt;
&lt;p&gt;Now I am trying to setup sniffer to capture packets bewteen D2 &amp;amp; D3. This is what I am doing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Configured following versions of s/w: nrf_sniffer_for_bluetooth_le_3.0.0_129d2b3, Wireshark 3.2.1 as per nRF_Sniffer_UG_v2.2.pdf&lt;/li&gt;
&lt;li&gt;I can see nRF Sniffer for Bluetooth LE COM29 in interfaces and select it to start capture&lt;/li&gt;
&lt;li&gt;Select device D3 in list of devices (WLSab6da871, MAC db:3c:ab:6d:a8:71)&lt;/li&gt;
&lt;li&gt;Start connection bewteen D3 &amp;amp; D2&lt;/li&gt;
&lt;li&gt;I see connection request on D3 but then capture stops and no data between D2 &amp;amp; D3 is captured. Sniffer automatically starts capturing some other devices&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1596239846648v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Is there any other constraint for sniffer to work? Since D3 &amp;amp; D2 uses coded PHY to communicate, can sniffer capture coded PHY packets?&lt;/p&gt;
&lt;p&gt;thanks&lt;/p&gt;
&lt;p&gt;Ankur&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Different transmission behavior between coded PHY (125kbps) and 1Mbps PHY</title><link>https://devzone.nordicsemi.com/thread/261592?ContentTypeID=1</link><pubDate>Fri, 24 Jul 2020 12:10:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e8af0f90-3d1c-41e5-a258-4446010745f0</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;I think you need to increase the event length for the Coded PHY link. Try increasing the max value and see if it helps.&lt;br /&gt;&lt;br /&gt;Also, we need logs and sniffer traces.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;I&amp;#39;m going on vacation for a week, but I&amp;#39;ll assign your case to another Tech Supporter.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;BR,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Håkon HoldhusI&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Different transmission behavior between coded PHY (125kbps) and 1Mbps PHY</title><link>https://devzone.nordicsemi.com/thread/261533?ContentTypeID=1</link><pubDate>Fri, 24 Jul 2020 08:51:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:49f354e4-7366-482f-860b-267a27a02c3e</guid><dc:creator>ankurt</dc:creator><description>&lt;p&gt;Let me explain the full use case so that you can help me better :)&lt;/p&gt;
&lt;p&gt;I have three devices D1, D2, D3. Following are the roles of the devices:&lt;/p&gt;
&lt;p&gt;D1 - central (for D2)&lt;/p&gt;
&lt;p&gt;D2 - peripheral (for D1) and central (for D3)&lt;/p&gt;
&lt;p&gt;D3 - peripheral (for D2)&lt;/p&gt;
&lt;p&gt;D1 and D2 communicate using 1Mbps PHY with characteristic size of 20 bytes.&lt;/p&gt;
&lt;p&gt;D2 and D3 communicate using coded PHY&lt;span&gt;&amp;nbsp;with characteristic size of 9 bytes.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Based upon my understanding of specification about connection intervals and connection event lengths, this is how configured the devices:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;D1 &amp;amp; D2:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; connection interval - 75 ms&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;connection event length(NRF_SDH_BLE_GAP_EVENT_LENGTH) - 10 ms&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;D2 &amp;amp; D3:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;connection interval - 25 ms&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;connection event length(NRF_SDH_BLE_GAP_EVENT_LENGTH) - 10 ms&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;So now when the devices start to communicate, everything goes well but once in a while data loss happens between D2 &amp;amp; D3.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Flow of software connection is like this:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;D1 scanning using 1Mpbs PHY, with 75 ms as min &amp;amp; max connection interval&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;D2 scanning &amp;amp; advertising using 1Mpbs PHY, with 25 ms as min &amp;amp; 75 ms as max connection interval&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;D3 advertising using 1Mpbs PHY, with 25 ms as min &amp;amp; max connection interval&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;D1 connects with D2&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;D2 connects with D3 and send coded PHY update request&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Any suggestions or improvement on how I am configuring the system to avoid data loss?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Different transmission behavior between coded PHY (125kbps) and 1Mbps PHY</title><link>https://devzone.nordicsemi.com/thread/261527?ContentTypeID=1</link><pubDate>Fri, 24 Jul 2020 08:37:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6e23b657-5dd6-428c-99cf-bd776e55a28c</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;Yes, but the connection event length is usually much shorter than the connection interval. In a rough estimate, you&amp;#39;ll need 3-6ms connection event length for 3-byte payload on Coded PHY.&lt;br /&gt;&lt;br /&gt;Call&amp;nbsp;&lt;a title="sd_ble_gap_data_length_update" href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v7.0.1/group___b_l_e___g_a_p___f_u_n_c_t_i_o_n_s.html?cp=4_7_4_1_2_1_3_16#gac4a6ef5c106107eb2a1707bb26f3245c"&gt;sd_ble_gap_data_length_update&lt;/a&gt;&amp;nbsp;to update the Connection Event Length as well as the number of bytes in each packet.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Different transmission behavior between coded PHY (125kbps) and 1Mbps PHY</title><link>https://devzone.nordicsemi.com/thread/261473?ContentTypeID=1</link><pubDate>Thu, 23 Jul 2020 22:29:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d8118402-a92b-40d2-87ca-e3fabb874ce4</guid><dc:creator>ankurt</dc:creator><description>&lt;p&gt;Didn&amp;#39;t do MTU exchange after updating PHY, can try that now.&lt;/p&gt;
&lt;p&gt;I was also thinking that connection interval might be too small for code PHY (8x slower) to re-transmit + send regular packet but after looking on the oscilloscope, it doesn&amp;#39;t seem so. My regular packet size is 3 bytes and connection interval is 12.5 ms which is enough, in theory, to send regular packet &amp;amp; re-transmit&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Different transmission behavior between coded PHY (125kbps) and 1Mbps PHY</title><link>https://devzone.nordicsemi.com/thread/261439?ContentTypeID=1</link><pubDate>Thu, 23 Jul 2020 16:45:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e70c3ad5-66eb-489d-8723-daf16bca5665</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;Do you run the MTU exchange after you changed the PHY?&lt;br /&gt;&lt;br /&gt;I&amp;#39;m wondering if the connection event length is too short for a re-transmit + regular packet in one connection event on Coded PHY.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>