<?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>Solved DFU disconnected problem for Android 10 but results in increase in GATT Error</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/67961/solved-dfu-disconnected-problem-for-android-10-but-results-in-increase-in-gatt-error</link><description>Hi there! 
 We faced the problem of not being able to perform Legacy DFU with Android 10 and newer iOS devices and have since applied the fix. However, since doing so we observed that there are more instances of GATT error. We have been monitoring DFU</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 23 Nov 2020 10:07:22 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/67961/solved-dfu-disconnected-problem-for-android-10-but-results-in-increase-in-gatt-error" /><item><title>RE: Solved DFU disconnected problem for Android 10 but results in increase in GATT Error</title><link>https://devzone.nordicsemi.com/thread/281276?ContentTypeID=1</link><pubDate>Mon, 23 Nov 2020 10:07:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e8b12db0-dc5d-4151-93e4-ee78d625815c</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Mxoh,&amp;nbsp;&lt;br /&gt;Could you please check the&amp;nbsp;&lt;span&gt;NRF_SDH_BLE_SERVICE_CHANGED&amp;nbsp;value in sdk_config.h ? (in both the application and the bootloader)&lt;br /&gt;&lt;br /&gt;You can send us the sniffer trace even though it does have the GATT error. It would contain some information about your DFU process that we are interested in.&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Solved DFU disconnected problem for Android 10 but results in increase in GATT Error</title><link>https://devzone.nordicsemi.com/thread/281240?ContentTypeID=1</link><pubDate>Mon, 23 Nov 2020 08:08:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d5811fc9-312f-4892-b120-f3e3043674e0</guid><dc:creator>Mxoh</dc:creator><description>&lt;p&gt;Hey &lt;a href="https://devzone.nordicsemi.com/members/hungbui"&gt;Hung Bui&lt;/a&gt;,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks for your help so far. The problem is that we haven&amp;#39;t been able to replicate the problem on our end and can only tell by the analytics numbers that GATT Error is something our users are experiencing. If we don&amp;#39;t replicate the issue but still pass you the sniffer trace, would it still be useful? We are worried if this GATT Error snowballs into the DFU device disconnected problem we had.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Solved DFU disconnected problem for Android 10 but results in increase in GATT Error</title><link>https://devzone.nordicsemi.com/thread/281102?ContentTypeID=1</link><pubDate>Fri, 20 Nov 2020 12:55:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cd983c84-da0c-4c17-91c9-609512dba32f</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Mxoh,&amp;nbsp;&lt;br /&gt;Yes, we need to see a sniffer trace to understand what happened between the iPhone and the bootloader. The log from the bootloader also nice to have.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I suspect that the phone didn&amp;#39;t do a service discovery (it somehow cached a previous version of the attribute table). To avoid that, both the bootloader and the application should enable Service_changed characteristic (set NRF_SDH_BLE_SERVICE_CHANGED = 1 in sdk_config.h)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Solved DFU disconnected problem for Android 10 but results in increase in GATT Error</title><link>https://devzone.nordicsemi.com/thread/281030?ContentTypeID=1</link><pubDate>Fri, 20 Nov 2020 07:15:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e3d0df08-d119-47c1-93a0-9f252cab0ad2</guid><dc:creator>Mxoh</dc:creator><description>&lt;p&gt;Sorry for the late response &lt;a href="https://devzone.nordicsemi.com/members/hungbui"&gt;Hung Bui&lt;/a&gt; as I needed my developers take on it. Currently our devices broadcast the +1 address. In that case, we definitely need to get&amp;nbsp;&lt;span&gt;a log from the bootloader, or a sniffer trace of an actual device that met with GATT error to determine the cause right?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Solved DFU disconnected problem for Android 10 but results in increase in GATT Error</title><link>https://devzone.nordicsemi.com/thread/278970?ContentTypeID=1</link><pubDate>Mon, 09 Nov 2020 10:57:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ffbd3fda-aa46-4cb2-ac59-83428aac43eb</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Mxoh,&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Thanks for the clarification. So let&amp;#39;s me sum up. You have implemented the fix in the application to erase the bond information before forwarding to the bootloader. Therefore the bootloader will now advertise with address +1 instead of the original application address.&amp;nbsp;&lt;br /&gt;And because of that you have updated the iOS/android app to scan for the address +1 if after 2 seconds it couldn&amp;#39;t find the device original address.&lt;/p&gt;
&lt;p&gt;Currently we don&amp;#39;t know what the GATT error exactly about, we would need either a log from the bootloader, or a sniffer trace to get to know what caused the issue.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In the &lt;a href="https://github.com/NordicSemiconductor/IOS-Pods-DFU-Library/pull/386"&gt;PR &lt;/a&gt;Aleksandre wrote:&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When working with Legacy DFU devices, that may or may not advertise with address + 1, and after setting&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;DFUServiceInitiator. forceScanningForNewAddressInLegacyDfu&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;true&lt;/em&gt;, the library will first try to connect to the same peripheral instance for 2 sec (the original DFU bootloader uses direct advertising with very small advertising interval, so this should work), and will start scanning for a device matching peripheral selector on timeout.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Please check if your bootloader advertises in the original address or the +1 address. I am suspecting if it advertise in original address and if the central couldn&amp;#39;t establish the connection in 2 seconds it will start looking for the +1 address. And for some reason if your bootloader stick to the orignal address (or stick to directed advertising) then the connection won&amp;#39;t be established.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Solved DFU disconnected problem for Android 10 but results in increase in GATT Error</title><link>https://devzone.nordicsemi.com/thread/278711?ContentTypeID=1</link><pubDate>Fri, 06 Nov 2020 05:55:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:da162311-4a57-441e-add1-065b1a54e3b1</guid><dc:creator>Mxoh</dc:creator><description>&lt;p&gt;This workaround was suggested because we had to modify firmware to delete&amp;nbsp;dfu_app_peer_data_set so as to fix the DFU disconnected problem. More information on why we did this workaround is explained here:&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/66015/how-can-ios-dfu-library-v4-8-0-work-with-the-sdk11-workaround-delete-dfu_app_peer_data_set-in-application-of-firmware/272714#272714"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/66015/how-can-ios-dfu-library-v4-8-0-work-with-the-sdk11-workaround-delete-dfu_app_peer_data_set-in-application-of-firmware/272714#272714&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Let me see if I can get the other information for you.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Solved DFU disconnected problem for Android 10 but results in increase in GATT Error</title><link>https://devzone.nordicsemi.com/thread/278612?ContentTypeID=1</link><pubDate>Thu, 05 Nov 2020 13:48:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:39db5434-2123-4f83-b3d6-775743d044af</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Mxoh,&amp;nbsp;&lt;br /&gt;So in the fix you did, you forced scanning for different address of the advertiser ?&amp;nbsp;&lt;br /&gt;I&amp;#39;m not 100% sure it would fix the issue described in here:&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/60658/not-able-to-perform-legacy-dfu-with-android-10-and-ios"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/60658/not-able-to-perform-legacy-dfu-with-android-10-and-ios&lt;br /&gt;&lt;/a&gt;The issue described in the case was about that the&amp;nbsp;DFU bootloader may advertise in directed advertising mode when the central device already changed the address. By having the address changed the central won&amp;#39;t be able to connect to the DFU bootloader. (even if you try to scan for the advertising packet, the directed adveritising will not show up if the target address doesn&amp;#39;t match)&lt;br /&gt;&lt;br /&gt;The best solution for this is to modify the DFU bootloader to not advertising in directed advertising and use the normal advertising instead. Or to bond to the central to get the IRK, but I guess it&amp;#39;s not the case here.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;We would need to have the sniffer trace and maybe DFU log on both the phone side and the nRF52 side when the GATT error happens.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Solved DFU disconnected problem for Android 10 but results in increase in GATT Error</title><link>https://devzone.nordicsemi.com/thread/278544?ContentTypeID=1</link><pubDate>Thu, 05 Nov 2020 08:32:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:50482290-63e8-4c4f-b042-9e23efb027f6</guid><dc:creator>Mxoh</dc:creator><description>&lt;p&gt;Hey &lt;a href="https://devzone.nordicsemi.com/members/hungbui"&gt;Hung Bui&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I just checked with my Android developer and we are using this library:&amp;nbsp;&lt;a class="c-link" href="https://github.com/NordicSemiconductor/Android-DFU-Library" rel="noopener noreferrer" target="_blank"&gt;https://github.com/NordicSemiconductor/Android-DFU-Library&lt;/a&gt;. We downloaded and added it into our app changing one line in the file&amp;nbsp;&lt;span&gt;&lt;em&gt;LegacyButtonlessDfuImpl.java&lt;/em&gt; at line 198 to &lt;em&gt;restartService(newIntent, /* scan only for SDK 6.1, see Pull request #45 */ true);&lt;/em&gt; to solve the problem of Samsung + Android 10 DFU disconnected problem.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;We haven&amp;#39;t been able to replicate the issue in-house as we don&amp;#39;t know what model or phones are showing up with GATT Error. Would it be helpful if we provided you with the zipped file of the DFU library?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Solved DFU disconnected problem for Android 10 but results in increase in GATT Error</title><link>https://devzone.nordicsemi.com/thread/278525?ContentTypeID=1</link><pubDate>Thu, 05 Nov 2020 02:12:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:47042d5c-7103-4907-b2b5-066e4e0e4340</guid><dc:creator>Mxoh</dc:creator><description>&lt;p&gt;Let me check with my developers and get back to you. I have been actively monitoring DFU problems faced by our customers as firmware update of their BT device is a key functionality of our iOS and Android app. I was surprised to see that GATT error shot up by so much since we fixed the legacy DFU highlighted here through the latest Android and iOS DFU library:&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/60658/not-able-to-perform-legacy-dfu-with-android-10-and-ios"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/60658/not-able-to-perform-legacy-dfu-with-android-10-and-ios&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Solved DFU disconnected problem for Android 10 but results in increase in GATT Error</title><link>https://devzone.nordicsemi.com/thread/278482?ContentTypeID=1</link><pubDate>Wed, 04 Nov 2020 14:44:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ea86554e-03e4-42b0-b361-660448bb2872</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Mxoh,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Could you let me now which exact fix you used regarding legacy DFU and Android 10 &amp;amp; iOS ?&lt;/p&gt;
&lt;p&gt;Have you managed to reproduce the issue inhouse ? or you have only received the report from the customers ? If you can reproduce the issue I would suggest to capture a&lt;a href="https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Sniffer-for-Bluetooth-LE"&gt; sniffer trace &lt;/a&gt;so we can have more understanding of the issue.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>