<?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>Nrf DFU Application Library</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/123920/nrf-dfu-application-library</link><description>Hi all, 
 I have Nrf52 devices that use Nrf DFU with &amp;quot;Buttonless Secure DFU Service&amp;quot;. 
 I would like to integrated the ability do to firmware update the devices to our &amp;quot;fleet management software&amp;quot;. 
 I could not find a clear definition of the internal</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 15 Sep 2025 12:19:24 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/123920/nrf-dfu-application-library" /><item><title>RE: Nrf DFU Application Library</title><link>https://devzone.nordicsemi.com/thread/548743?ContentTypeID=1</link><pubDate>Mon, 15 Sep 2025 12:19:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1434eac0-f4ad-4e9e-aa80-177571070777</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello Mark,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote user="Mark G."]This shows that for the transfer of the data a &amp;quot;Response PRN Success&amp;quot; should be notified. I have never received this response from the device. But it seems to work nevertheless[/quote]
&lt;p&gt;Did you enable indications on the DFU service?&lt;/p&gt;
&lt;p&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/pastedimage1757938420322v2.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;I believe you did, since you are receiving other packets from the DFU Target, right?&lt;/p&gt;
&lt;p&gt;Can you try setting&amp;nbsp;NRF_DFU_PROTOCOL_REDUCED to 0 in your bootloader&amp;#39;s sdk_config.h.&lt;/p&gt;
[quote user="Mark G."] In the actual firmware transfer. After sending the &amp;quot;Select Command&amp;quot; with 0x06, 0x02. The Device responses with &amp;quot;max_size&amp;quot; 4096. What does this max_size refer to?[/quote]
&lt;p&gt;It has been a while since looking into this, but I believe that it is the object size. This is aligned with the flash page size.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Nrf DFU Application Library</title><link>https://devzone.nordicsemi.com/thread/548622?ContentTypeID=1</link><pubDate>Fri, 12 Sep 2025 14:49:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b11898a7-c127-4ff7-b207-1695ec6cd0c2</guid><dc:creator>Mark G.</dc:creator><description>&lt;p&gt;Hi Edvin,&lt;br /&gt;&lt;br /&gt;Thanks for the reply.&lt;br /&gt;&lt;br /&gt;The solution is coming along. But while implementing I noticed several strange things.&lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;&lt;a href="https://docs-be.nordicsemi.com/bundle/nrf5_SDK_v17.1.1/page/msc_inline_mscgraph_20.png?_LANG=enus"&gt;https://docs-be.nordicsemi.com/bundle/nrf5_SDK_v17.1.1/page/msc_inline_mscgraph_20.png?_LANG=enus&lt;/a&gt;&lt;br /&gt;This shows that for the transfer of the data a &amp;quot;Response PRN Success&amp;quot; should be notified. I have never received this response from the device. But it seems to work nevertheless.&lt;/p&gt;
&lt;p&gt;2. In the actual firmware transfer. After sending the &amp;quot;Select Command&amp;quot; with 0x06, 0x02. The Device responses with &amp;quot;max_size&amp;quot; 4096. What does this max_size refer to? I expected it is the Image size. but its way to small and with nordic connect the app will also allow to send bigger files, which the devices accepts without issue.&lt;/p&gt;
&lt;p&gt;Thanks Best regards&lt;/p&gt;
&lt;p&gt;Mark&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Nrf DFU Application Library</title><link>https://devzone.nordicsemi.com/thread/547023?ContentTypeID=1</link><pubDate>Thu, 28 Aug 2025 08:01:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:907e0cf4-8c67-4184-9058-fe15b8b847cc</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Packet loss is always handled by the Bluetooth stack, so that is not something you need to take into consideration. It is specified in the specification, so as long as the application that you develop for your management fleet uses a certified Bluetooth controller, then that is already handled for you. All packets are retransmitted until they are acknowledged correctly.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;In events of a disconnect, it is a bit up to you. One way is to start over, but it is possible to save the progress, and continue where you left off. This depends on the configurations in the bootloader, but there should be something in sdk_config.h in your bootloader called &amp;quot;Save progress in flash&amp;quot; or something. It depends on what SDK version you are using for your bootloader. Let me know what version you are using if you can&amp;#39;t find it. In SDK 17.1.0, it is called&amp;nbsp;NRF_DFU_SAVE_PROGRESS_IN_FLASH.&lt;/p&gt;
&lt;p&gt;So if you disconnect, and resume directly after, the progress will be saved either way, but if your nRF e.g. runs out of battery, or has a reboot for some other reason, then you will need to start over, if this option is not set.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;For the computer side, please read the sections: &amp;quot;Transfer of an init packet&amp;quot; and &amp;quot;Transfer of a firmware image&amp;quot; from the second link in my previous reply.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Nrf DFU Application Library</title><link>https://devzone.nordicsemi.com/thread/547006?ContentTypeID=1</link><pubDate>Thu, 28 Aug 2025 06:50:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aba9351e-8816-40cd-bebd-b0947f8c17fd</guid><dc:creator>lennyfrank</dc:creator><description>&lt;p&gt;Hi Edvin,&lt;/p&gt;
&lt;p&gt;Do you know if Nordic has any guidance or examples on handling BLE-specific edge cases during DFU, like packet loss or reconnection after a dropped link? &lt;span style="color:#ffffff;font-size:75%;"&gt;&lt;a style="color:#ffffff;" href="https://pipsnyt.com"&gt;Pips NYT&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Nrf DFU Application Library</title><link>https://devzone.nordicsemi.com/thread/546929?ContentTypeID=1</link><pubDate>Wed, 27 Aug 2025 13:16:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f152df0c-dfd4-44df-8e14-eacaa2142377</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello Mark,&lt;/p&gt;
&lt;p&gt;It has been a while since I looked into this, and our documentation platform has changed a couple of times since this was released, but it should be able to find the relevant information from here:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.nordicsemi.com/bundle/nrf5_SDK_v17.1.1/page/lib_bootloader_modules.html"&gt;https://docs.nordicsemi.com/bundle/nrf5_SDK_v17.1.1/page/lib_bootloader_modules.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Particularly the message sequence chart is relevant:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.nordicsemi.com/bundle/nrf5_SDK_v17.1.1/page/lib_dfu_transport_ble.html"&gt;https://docs.nordicsemi.com/bundle/nrf5_SDK_v17.1.1/page/lib_dfu_transport_ble.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Also, this site describes all the opcodes and their parameters:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.nordicsemi.com/bundle/nrf5_SDK_v17.1.1/page/lib_dfu_transport.html"&gt;https://docs.nordicsemi.com/bundle/nrf5_SDK_v17.1.1/page/lib_dfu_transport.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Another point of interrest that I can think of is the DFU Master Code from this blog post:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/guides/short-range-guides/b/software-development-kit/posts/getting-started-with-nordics-secure-dfu-bootloader#h108sjziaxo3m81rkgr1has5r1d72qtu"&gt;https://devzone.nordicsemi.com/guides/short-range-guides/b/software-development-kit/posts/getting-started-with-nordics-secure-dfu-bootloader#h108sjziaxo3m81rkgr1has5r1d72qtu&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I know that this is a serial implementation, and not BLE, but the protocol is the same as in BLE. It is just the transport layer that has changed.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>