<?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>BLE bootloader failing on specific Android tablet</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/118185/ble-bootloader-failing-on-specific-android-tablet</link><description>On Friady we were finishing off our final testing for our nRF5340 based product (SDK 2.1) when we discovered we couldnt do firmware updates from Samsung Galaxy Tab A8 tablets (Android 14). We developed the product using the Tab A9+&amp;#39;s which work fine </description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 31 Jan 2025 14:59:22 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/118185/ble-bootloader-failing-on-specific-android-tablet" /><item><title>RE: BLE bootloader failing on specific Android tablet</title><link>https://devzone.nordicsemi.com/thread/520916?ContentTypeID=1</link><pubDate>Fri, 31 Jan 2025 14:59:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5a4b843c-f571-4b46-9db6-229f2b3475b5</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;This is a problem with the Bluetooth stack on the Android side, and unfortunately there isn&amp;#39;t really any good ways of dealing with this from the nRF side, since the A8 tablets will try to negotiate for a higher MTU than what is supported, which will result in the SoftDevice controller disconnecting due to the Bluetooth spec. violations. The best way to work around this would be to not support longer packets, and for example decrease the max MTU size allowed on the nRF side if you run into one of these disconnects.&lt;/p&gt;
&lt;p&gt;The correct way to fix this is in the Bluetooth stack on the tablet side, but that is something that must be done by the tablet vendor.&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: BLE bootloader failing on specific Android tablet</title><link>https://devzone.nordicsemi.com/thread/520586?ContentTypeID=1</link><pubDate>Wed, 29 Jan 2025 15:21:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:24329a12-6397-480d-b183-bf4ce618dbd2</guid><dc:creator>damras</dc:creator><description>&lt;p&gt;This didn&amp;#39;t seem to work. I can see that it changes the Tx_LEN, but in DFU we are concerned with Rx_LEN which I think can only be negotiated by the Central.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE bootloader failing on specific Android tablet</title><link>https://devzone.nordicsemi.com/thread/520583?ContentTypeID=1</link><pubDate>Wed, 29 Jan 2025 15:17:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:547de5ca-1b80-43fd-902f-5046163a6996</guid><dc:creator>damras</dc:creator><description>&lt;p&gt;Some more findings from using the&amp;nbsp;le_param_updated &amp;amp;&amp;nbsp;on_le_data_len_updated callbacks on our nrf5340 zephyr code and the nrf ble sniffer.&lt;/p&gt;
&lt;p&gt;We have noticed in the failure scenario the len gets updated to 27 bytes but Central sends 28 bytes, which causes the Peripheral to disconnect. This is the first DFU packet.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Samsung A9&lt;/strong&gt; CONFIG_BT_CTLR_DATA_LENGTH_MAX=251 (SUCCESS)&lt;br /&gt;00&amp;gt; [00:01:52.076,507] &amp;lt;inf&amp;gt; bluetooth: Data length updated. Length TX:251/RX:27 bytes, time 2120/328 us&lt;br /&gt;00&amp;gt; [00:01:52.931,549] &amp;lt;inf&amp;gt; bluetooth: Data length updated. Length TX:251/RX:&lt;span style="color:#339966;"&gt;31&lt;/span&gt; bytes, time 2120/2120 us&lt;br /&gt;00&amp;gt; [00:01:53.561,187] &amp;lt;inf&amp;gt; bluetooth: Connection parameters updated: interval 15 ms, latency 0 intervals, timeout 5000 ms&lt;br /&gt;00&amp;gt; [00:01:56.996,002] &amp;lt;inf&amp;gt; bluetooth: Connection parameters updated: interval 45 ms, latency 0 intervals, timeout 420 ms&lt;/p&gt;
&lt;p&gt;640 26.601 Central_0x639cb678 LE 1M LE LL &lt;span style="color:#339966;"&gt;31&lt;/span&gt; 14522&amp;micro;s 1 1 True 35 L2CAP Fragment Start&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Samsung A8&lt;/strong&gt; CONFIG_BT_CTLR_DATA_LENGTH_MAX=27&amp;nbsp;&lt;span&gt;&amp;nbsp;(SUCCESS)&lt;/span&gt;&lt;br /&gt;00&amp;gt; [00:00:55.239,135] &amp;lt;inf&amp;gt; bluetooth: Data length updated. Length TX:27/RX:&lt;span style="color:#339966;"&gt;27&lt;/span&gt; bytes, time 2120/328 us&lt;br /&gt;00&amp;gt; [00:00:56.503,204] &amp;lt;inf&amp;gt; bluetooth: Connection parameters updated: interval 15 ms, latency 0 intervals, timeout 5000 ms&lt;br /&gt;00&amp;gt; [00:01:00.010,528] &amp;lt;inf&amp;gt; bluetooth: Connection parameters updated: interval 37 ms, latency 0 intervals, timeout 420 ms&lt;/p&gt;
&lt;p&gt;6512 116.366 Peripheral_0x9b2d1355 LE 1M LE LL &lt;span style="color:#339966;"&gt;27&lt;/span&gt; 149&amp;micro;s 0 1 True 33 L2CAP Fragment Start&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Samsung A8&lt;/strong&gt; CONFIG_BT_CTLR_DATA_LENGTH_MAX=251&amp;nbsp;&lt;span&gt;&amp;nbsp;(FAIL)&lt;/span&gt;&lt;br /&gt;00&amp;gt; [00:01:50.524,414] &amp;lt;inf&amp;gt; bluetooth: Data length updated. Length TX:251/RX:&lt;span style="color:#ff0000;"&gt;27&lt;/span&gt; bytes, time 2120/328 us&lt;br /&gt;00&amp;gt; [00:01:51.739,501] &amp;lt;inf&amp;gt; bluetooth: Connection parameters updated: interval 15 ms, latency 0 intervals, timeout 5000 ms&lt;/p&gt;
&lt;p&gt;00&amp;gt; [00:01:56.793,609] &amp;lt;err&amp;gt; bluetooth: Disconnected (reason 0x08)&lt;/p&gt;
&lt;p&gt;333 8.185 Central_0x48302c55 LE 1M LE LL &lt;span style="color:#ff0000;"&gt;28&lt;/span&gt; 151&amp;micro;s 0 0 True 36 L2CAP Fragment Start&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE bootloader failing on specific Android tablet</title><link>https://devzone.nordicsemi.com/thread/519734?ContentTypeID=1</link><pubDate>Thu, 23 Jan 2025 11:39:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:526c3ddf-5097-4806-ae69-b95259ea8889</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;See &lt;a href="https://academy.nordicsemi.com/topic/blefund-lesson-3-exercise-2/"&gt;https://academy.nordicsemi.com/topic/blefund-lesson-3-exercise-2/&lt;/a&gt; on how to update_data_length(). Does this work?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE bootloader failing on specific Android tablet</title><link>https://devzone.nordicsemi.com/thread/519517?ContentTypeID=1</link><pubDate>Wed, 22 Jan 2025 11:55:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:438b437d-029e-47f9-bc94-fd9d6f23710b</guid><dc:creator>damras</dc:creator><description>&lt;p&gt;CONFIG_BT_CTLR_DATA_LENGTH_MAX=27 in&amp;nbsp;&lt;span&gt;hci_rpmsg/zephyr/.config&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE bootloader failing on specific Android tablet</title><link>https://devzone.nordicsemi.com/thread/519515?ContentTypeID=1</link><pubDate>Wed, 22 Jan 2025 11:50:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7922147b-dddd-4ede-b485-8f887446a436</guid><dc:creator>damras</dc:creator><description>&lt;p&gt;I am also working with Mathew on this issue.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;changing&amp;nbsp;&lt;span&gt;CONFIG_BT_CTLR_DATA_LENGTH_MAX=27 (Default) fixed the issue on the A8.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;If there a way for the Nrf Connect Device Manager to request this from the nrf5340 or changing&amp;nbsp;CONFIG_BT_CTLR_DATA_LENGTH_MAX at runtime in the nrf5340 s&lt;/span&gt;&lt;span&gt;o that for tablets that are non-A8 we can set a higher rate.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE bootloader failing on specific Android tablet</title><link>https://devzone.nordicsemi.com/thread/519513?ContentTypeID=1</link><pubDate>Wed, 22 Jan 2025 11:47:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:80d285e1-871e-4a2f-a97d-4242890b0bcc</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>[quote user="matkey"]In our proj.conf we comment out CONFIG_BT_CTLR_DATA_LENGTH_MAX=251 and then the bootloader is working again. Is that what you had in mind?[/quote]
&lt;p&gt;Sounds reasonable to me. Can you check what CONFIG_BT_CTLR_DATA_LENGTH_MAX defaults to in build/hci_rpmsg/zephyr/.config when you no longer set it explicitly?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE bootloader failing on specific Android tablet</title><link>https://devzone.nordicsemi.com/thread/519386?ContentTypeID=1</link><pubDate>Tue, 21 Jan 2025 17:11:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d5519873-3ef4-405e-925c-4a6a045143b3</guid><dc:creator>Mathew Key</dc:creator><description>&lt;p&gt;Not the proj.conf - the child_image/hci_rpmsg.conf&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE bootloader failing on specific Android tablet</title><link>https://devzone.nordicsemi.com/thread/519365?ContentTypeID=1</link><pubDate>Tue, 21 Jan 2025 16:20:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:802469bb-164c-4da8-b64e-97a672061ec9</guid><dc:creator>Mathew Key</dc:creator><description>&lt;p&gt;Hi Sigurd,&lt;/p&gt;
&lt;p&gt;If I understand it right, the A8 can only handle 27 byte packets as the radio is screwed up (still 3 years later from that ticket).&lt;/p&gt;
&lt;p&gt;In our proj.conf we comment out CONFIG_BT_CTLR_DATA_LENGTH_MAX=251 and then the bootloader is working again. Is that what you had in mind?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Mat&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE bootloader failing on specific Android tablet</title><link>https://devzone.nordicsemi.com/thread/519343?ContentTypeID=1</link><pubDate>Tue, 21 Jan 2025 14:41:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:816b4776-1256-41e5-8fdb-0845ae6c58ea</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;We have seen issues with the A8 before. See &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/88202/dfu-error-unable-to-write-op-code-3-error-133/372825#372825"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/88202/dfu-error-unable-to-write-op-code-3-error-133/372825#372825&lt;/a&gt;. Does this comment tell you what you need?&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>