<?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>Low Throughput Issues</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/46728/low-throughput-issues</link><description>According to some benchmarks shown here: https://www.novelbits.io/bluetooth-5-speed-maximum-throughput/ , I should be able to get a connection speed of around 120,000 bytes / second. However, in my testing, I can only get up to 20,000 bytes / second.</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 03 May 2019 02:13:52 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/46728/low-throughput-issues" /><item><title>RE: Low Throughput Issues</title><link>https://devzone.nordicsemi.com/thread/185022?ContentTypeID=1</link><pubDate>Fri, 03 May 2019 02:13:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ba5414bf-aaa6-4916-9eb8-fd0d1903c295</guid><dc:creator>willdavies</dc:creator><description>&lt;p&gt;I was able to resolve the issue, thanks for the help!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Changed connection interval to 400 ms and event length to:&lt;/p&gt;
&lt;p&gt;#define NRF_SDH_BLE_GAP_EVENT_LENGTH 400&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Low Throughput Issues</title><link>https://devzone.nordicsemi.com/thread/185001?ContentTypeID=1</link><pubDate>Thu, 02 May 2019 20:27:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5ec114a8-227b-4c75-a36f-f0c1f1034128</guid><dc:creator>willdavies</dc:creator><description>&lt;p&gt;The Android device is actually reporting the interval:&lt;/p&gt;
&lt;p&gt;D/BluetoothGatt: onConnectionUpdated() - Device=FC:88:C7:C9:5C:82 interval=9 latency=0 timeout=400 status=0&lt;/p&gt;
&lt;p&gt;The interval is 9 ms, so it seems like something else might be causing the issue.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Low Throughput Issues</title><link>https://devzone.nordicsemi.com/thread/184795?ContentTypeID=1</link><pubDate>Thu, 02 May 2019 08:46:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b42db720-3c73-4e00-b370-88f2a530f8ea</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;There&amp;#39;s a difference between what parameters you tell the SoftDevice that you would like to get and what the actual outcome of the negotiations between the Link Layers are. You need to verify those parameters, I suggest you set up a sniffer (&lt;a title="nRF Sniffer User Guide v2.1" href="https://infocenter.nordicsemi.com/pdf/nRF_Sniffer_UG_v2.1.pdf?cp=6_4_0"&gt;nRF Sniffer User Guide v2.1&lt;/a&gt;)&amp;nbsp;to see what the negotiated parameters are.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;My guess is that you get a 100ms connection interval because the android stack does not support 7.5ms and you have not given it any other option but 7.5ms.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;See&amp;nbsp;&lt;a title="Data Length Update Procedure" href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.api.v6.1.1/group___b_l_e___g_a_p___d_a_t_a___l_e_n_g_t_h___u_p_d_a_t_e___p_r_o_c_e_d_u_r_e___m_s_c.html?cp=3_4_1_1_2_1_3_6"&gt;Data Length Update Procedure&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a title="GATTC ATT_MTU Exchange" href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.api.v6.1.1/group___b_l_e___g_a_t_t_c___m_t_u___e_x_c_h_a_n_g_e.html?cp=3_4_1_1_2_2_3_0"&gt;GATTC ATT_MTU Exchange&lt;/a&gt;&amp;nbsp;for examples.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Low Throughput Issues</title><link>https://devzone.nordicsemi.com/thread/184647?ContentTypeID=1</link><pubDate>Tue, 30 Apr 2019 21:10:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c8288ce7-676d-4d4f-8873-7618c7b1beb5</guid><dc:creator>willdavies</dc:creator><description>&lt;p&gt;The Android device reports MTU length 247 and I receive packets of length 244 (data payload). The connection interval is defined as 7.5 min, 7.5 max when setting up the connection. I&amp;#39;m not sure how to read these values on the chip to see if they were successfully setup.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Low Throughput Issues</title><link>https://devzone.nordicsemi.com/thread/184472?ContentTypeID=1</link><pubDate>Tue, 30 Apr 2019 08:23:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6b269b5f-f372-42b4-97c7-6e7ed080687a</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;And what Connection interval, MTU length, Data length extension, and Connection event length are you getting?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Low Throughput Issues</title><link>https://devzone.nordicsemi.com/thread/184421?ContentTypeID=1</link><pubDate>Tue, 30 Apr 2019 03:45:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4bedc5f9-5003-402f-98e1-4493395bac85</guid><dc:creator>willdavies</dc:creator><description>&lt;p&gt;As far as I know, the Android device successfully connects with the connection interval as 7.5 min, 7.5 max.&lt;/p&gt;
&lt;p&gt;The Android device receives a MTU update of 247, and a PHY update of rx=2, tx=2 as well.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I currently call the following function to enable event length extension:&amp;nbsp;&lt;a href="https://github.com/wdavies973/MagiCoil-microcode/blob/943c757fee94b1141a1ee2b6c8374bcdf40c6453/main.c#L642"&gt;https://github.com/wdavies973/MagiCoil-microcode/blob/943c757fee94b1141a1ee2b6c8374bcdf40c6453/main.c#L642&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I do also receive data packets of length 244 on the Android device.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Low Throughput Issues</title><link>https://devzone.nordicsemi.com/thread/184241?ContentTypeID=1</link><pubDate>Mon, 29 Apr 2019 09:04:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:be7eb54f-3b25-4ea0-a501-5e9d28f66269</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;&amp;quot;Connection interval: 7.5 min, 7.5 max&amp;quot; As far as i know the Android BLE controller does not support a lower Connection Interval than 15ms, but I&amp;#39;ve not seen the spec for&amp;nbsp;the galaxy 9.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Have you enabled Connection Event Length Extension?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We need a sniffer trace of the connection establishment and connection parameter negotiation.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>