<?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>Buttonless DFU works for Android, IOS, but fails desktop</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/98017/buttonless-dfu-works-for-android-ios-but-fails-desktop</link><description>I am able to perform buttonless DFU with android and ios nrf co nnect apps but it fails on desktop. I have attached the Desktop log. Any idea what the issue could be? SDK 17.1.0 nrf52832 7.2.0_softdevice</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 27 Mar 2023 08:36:11 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/98017/buttonless-dfu-works-for-android-ios-but-fails-desktop" /><item><title>RE: Buttonless DFU works for Android, IOS, but fails desktop</title><link>https://devzone.nordicsemi.com/thread/417600?ContentTypeID=1</link><pubDate>Mon, 27 Mar 2023 08:36:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0c6c6e32-1abe-4bce-a181-b45526604918</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Vance,&amp;nbsp;&lt;br /&gt;Sorry about that I thought nRF Conect for Desktop didn&amp;#39;t support Buttonless DFU.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Have you tried to manually put the device to DFU mode and then do DFU on the next step ?&amp;nbsp;&lt;br /&gt;You can test it on a phone as well. Simply enable indication then write 0x01 to the DFU buttonless characteristic. You can see &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/service_dfu.html"&gt;here&lt;/a&gt;. &lt;br /&gt;From what I can see in the log, it&amp;#39;s not the image sending was the problem, it was how the application switch to bootloader causing the problem.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;The sniffer would be very useful to check what&amp;#39;s the difference between Android app and the Desktop app on how they put the device to DFU mode and what&amp;#39;s wrong (and compare the stock buttonless with your application).You just need one extra DevKit to use as the sniffer.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU works for Android, IOS, but fails desktop</title><link>https://devzone.nordicsemi.com/thread/417493?ContentTypeID=1</link><pubDate>Fri, 24 Mar 2023 16:01:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:50718b32-77a1-427b-bb15-77e5515c2223</guid><dc:creator>Vance J Farren</dc:creator><description>&lt;p&gt;Buttonless DFU works with desktop with the buttonless example in&amp;nbsp; nRF5_SDK_17.1.0_ddde560\examples\ble_peripheral\ble_app_buttonless_dfu.&amp;nbsp; I just can&amp;#39;t find the significant difference between that application and my own.&amp;nbsp; The only config that I&amp;#39;m unable to duplicate is&amp;nbsp;NRF_SDH_DISPATCH_MODEL.&amp;nbsp; The buttonless example uses interrupt, my application uses polling.&amp;nbsp; My application also uses FreeRTOS which complains if I try to switch to interrupt dispatch model.&lt;br /&gt;&lt;br /&gt;Additionally, I&amp;#39;ve used my bootloader with UUID count at 4, with the internal buttonless example UUID count set to 4, and successfully did buttonless DFU to my target application.&lt;br /&gt;&lt;br /&gt;Nrf desktop just doesn&amp;#39;t like my application for some reason.&lt;br /&gt;&lt;br /&gt;I&amp;#39;ve found that I needed to increase&amp;nbsp;NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE to accomodate the additional services.&amp;nbsp; I&amp;#39;ve also experimented with&amp;nbsp;CONN_SUP_TIMEOUT in the hopes that perhaps my application needed more time to execute the characteristic interactions.&amp;nbsp; It seems to run a little slow with all of the services.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU works for Android, IOS, but fails desktop</title><link>https://devzone.nordicsemi.com/thread/417488?ContentTypeID=1</link><pubDate>Fri, 24 Mar 2023 15:36:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fcf6c088-c740-4858-8a86-7fc4acfa15fd</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Vance,&amp;nbsp;&lt;br /&gt;As far as I remember, the nRF connect for Desktop doesn&amp;#39;t support buttonless update.&amp;nbsp;&lt;br /&gt;But what you can do is manually write to the buttonless service to switch it to DFU mode (enable indication and then write 0x01 to the buttonless characteristic).&amp;nbsp;&lt;br /&gt;Then it will disconnect and you can start connecting to the DFU bootloader to do DFU.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;If you want to automat the process you can write your own code based on the application.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU works for Android, IOS, but fails desktop</title><link>https://devzone.nordicsemi.com/thread/417454?ContentTypeID=1</link><pubDate>Fri, 24 Mar 2023 14:19:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5c0b594b-cae1-4198-a0d9-86c2da972efc</guid><dc:creator>Vance J Farren</dc:creator><description>&lt;p&gt;Correct.&amp;nbsp; I can use desktop to do update testing bootloader separately.&amp;nbsp; The only modification to the bootloader is to increase the UUID count to 4 to match application custom services count.&amp;nbsp; I&amp;#39;m not yet familiar with the sniffer trace tool and will get back to you when I&amp;#39;ve tried that.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU works for Android, IOS, but fails desktop</title><link>https://devzone.nordicsemi.com/thread/417342?ContentTypeID=1</link><pubDate>Fri, 24 Mar 2023 09:02:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:68ee91dd-eccf-4033-bf04-3dfd875b2a81</guid><dc:creator>Hung Bui</dc:creator><description>[quote user="vance86"]I&amp;#39;m not sure how to switch manually using the DFU service.&amp;nbsp; When testing the bootloader separately, I am able to do DFU using the same update package that is successful with android and ios, but fails on desktop.[/quote]
&lt;p&gt;Could you please&amp;nbsp;elaborate more about the above ? Did you mean that you can do DFU update with nRF Connect for Desktop if you test only with the bootloader separately (not buttonless) ?&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Could you try capture a&lt;a href="https://www.nordicsemi.com/Products/Development-tools/nrf-sniffer-for-bluetooth-le"&gt; sniffer trace&amp;nbsp;&lt;/a&gt;&amp;nbsp;when you do the test ? Did you make any modification to the bootloader?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU works for Android, IOS, but fails desktop</title><link>https://devzone.nordicsemi.com/thread/417144?ContentTypeID=1</link><pubDate>Thu, 23 Mar 2023 14:36:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bbfc0de8-d1e1-45d1-b151-abbfecba96dc</guid><dc:creator>Vance J Farren</dc:creator><description>&lt;p&gt;I&amp;#39;m using the &amp;#39;dfu&amp;#39; button on desktop after connecting:&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1679581931438v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Then it does not past the following screen:&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1679582106480v3.png" alt=" " /&gt;&lt;br /&gt;&lt;br /&gt;It will generate a log as originally attached.&amp;nbsp; I&amp;#39;ve seen the GATT_EVT_TIMEOUT with android in the log, but it retries and is successful.&amp;nbsp; I don&amp;#39;t always see the timeout.&lt;br /&gt;&lt;br /&gt;I&amp;#39;m not sure how to switch manually using the DFU service.&amp;nbsp; When testing the bootloader separately, I am able to do DFU using the same update package that is successful with android and ios, but fails on desktop.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU works for Android, IOS, but fails desktop</title><link>https://devzone.nordicsemi.com/thread/417085?ContentTypeID=1</link><pubDate>Thu, 23 Mar 2023 13:04:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:283e7ede-b201-46ea-81e6-0aa9b23ad67e</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Vance,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Could you describe how you tested and what exactly happened when you try DFU update with nRF Connect for Desktop ?&amp;nbsp;&lt;br /&gt;If you manually switch the device to DFU mode and then do a DFU update, would it work with nRF Connect for Desktop ?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>