<?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>Thread (Background) DFU - How to get progress in app?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/42396/thread-background-dfu---how-to-get-progress-in-app</link><description>Hello, and thanks for all the great examples! 
 I&amp;#39;ve gotten the COAP transport for background DFU working on my custom hardware platform and app, however I have noticed that occasionally the DFU process will hang, with the app never retrying a block request</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Sun, 31 Mar 2019 19:49:47 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/42396/thread-background-dfu---how-to-get-progress-in-app" /><item><title>RE: Thread (Background) DFU - How to get progress in app?</title><link>https://devzone.nordicsemi.com/thread/179366?ContentTypeID=1</link><pubDate>Sun, 31 Mar 2019 19:49:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:da0ab3fb-5d55-43a2-b6cb-68eefab7eff7</guid><dc:creator>nealjack</dc:creator><description>&lt;p&gt;I found my problem - I was not calling `coap_time_tick` in my application. I set up a timer to call this function every second, and now retransmissions are working as expected.&lt;/p&gt;
&lt;p&gt;I had to kind of dig to find out that I needed to call this function for the COAP stack to function properly. At least for me, it wasn&amp;#39;t obvious from the background dfu documentation what I needed to implement for the coap stack. I assumed all I needed to do was call `coap_dfu_process` in my main loop because that was what I had seen in example applications.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread (Background) DFU - How to get progress in app?</title><link>https://devzone.nordicsemi.com/thread/179348?ContentTypeID=1</link><pubDate>Sat, 30 Mar 2019 20:00:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:81b044f2-b4f6-4d09-8363-36d7e35e006c</guid><dc:creator>nealjack</dc:creator><description>&lt;p&gt;Alright, it appears that `&lt;span&gt;background_dfu_transport_block_request_send` is only called during a multicast update. I think unicast uses `background_dfu_transport_send_request`. This function does set a message handler. I&amp;#39;ll have to investigate more.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread (Background) DFU - How to get progress in app?</title><link>https://devzone.nordicsemi.com/thread/179347?ContentTypeID=1</link><pubDate>Sat, 30 Mar 2019 19:33:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ebe168b8-4296-4d04-ad70-8cb19439c6a2</guid><dc:creator>nealjack</dc:creator><description>&lt;p&gt;I tracked down the problem. In `coap_dfu.c`, the implementation of `background_dfu_transport_block_request_send` does not set a response callback in the message configuration. This means that when the COAP message times out or runs out of retries, there is no indication to the dfu process that this message was lost. The background dfu library should specify a callback to handle messages that time out and resend the block request, or abort the operation. Right now the library just waits forever for a message that won&amp;#39;t arrive because all retries failed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread (Background) DFU - How to get progress in app?</title><link>https://devzone.nordicsemi.com/thread/175131?ContentTypeID=1</link><pubDate>Fri, 08 Mar 2019 18:21:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d7042ce3-80f5-4bf6-9930-178be03dc551</guid><dc:creator>nealjack</dc:creator><description>&lt;p&gt;Hi haakonsh,&lt;/p&gt;
&lt;p&gt;I have integrated the newly released SDK 15.3 with my application, and while it does fix the warnings and errors I encountered, it appears I am having the same problem as before: occasionally the update process hangs, presumably due to a dropped COAP packet. In order to continue the update, the device must be reset or the DFU process must be retriggered. To be clear, I am performing a&amp;nbsp;&lt;em&gt;unicast &lt;/em&gt;update, not a multicast one. I dynamically change my OpenThread polling period to 15ms when performing the update, normally it is one minute.&lt;/p&gt;
&lt;p&gt;It also appears that the `background_dfu_diagnostic_t` structure that is retrieved from `coap_dfu_diagnostic_get` still does not have a properly populated `total_images_blocks_received`, meaning I cannot monitor the DFU progress from my application and retrigger the operation when hung. I will try to dig into the coap dfu internals to see if I can figure out where the process is stalling.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread (Background) DFU - How to get progress in app?</title><link>https://devzone.nordicsemi.com/thread/170590?ContentTypeID=1</link><pubDate>Tue, 12 Feb 2019 11:31:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8cb838d2-d70f-4d86-9da7-3c333f3be2ef</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;From our developer:&lt;br /&gt;&lt;br /&gt;I have spent last two days playing with DFU and I was not able to reproduce the hang issue you mentioned.&lt;/p&gt;
&lt;p&gt;The good thing is that there have been quite a lot changes comparing our master branch to the v2.0.0 release.&lt;/p&gt;
&lt;p&gt;Invalid assert has been already fixed by rework of that part of code. It is still there, but it is OK now ;).&lt;/p&gt;
&lt;p&gt;As there were so many changes and the problem turned out to be unreproducible with my setup(multicast mode with 8 clients), I propose&amp;nbsp;that you check the next release that should be out soon. If the issue persists in&amp;nbsp;your environment we&amp;nbsp;will need to collect more data about your environment/procedure and proceed with more precise troubleshooting.&lt;/p&gt;
&lt;p&gt;Both firmware side and nrfutil have been improved, I expect that you should be fine with the new release, who should be ready by mid-march.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread (Background) DFU - How to get progress in app?</title><link>https://devzone.nordicsemi.com/thread/170008?ContentTypeID=1</link><pubDate>Thu, 07 Feb 2019 18:05:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f15d4e99-ecef-4ba7-91ed-6a26e5ae5fd3</guid><dc:creator>nealjack</dc:creator><description>&lt;p&gt;When is the next planned release?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread (Background) DFU - How to get progress in app?</title><link>https://devzone.nordicsemi.com/thread/169875?ContentTypeID=1</link><pubDate>Thu, 07 Feb 2019 09:58:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b373cc55-3bc9-4844-8295-562d49343528</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;The developers says they will address your issues before their next release.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Again I&amp;#39;m so sorry for neglecting your case. In the future I advice you to ask for an update if you&amp;#39;ve not gotten a reply within a few days :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread (Background) DFU - How to get progress in app?</title><link>https://devzone.nordicsemi.com/thread/169807?ContentTypeID=1</link><pubDate>Wed, 06 Feb 2019 20:41:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9148498d-aafe-407a-a7ee-4a63c0e4b872</guid><dc:creator>nealjack</dc:creator><description>&lt;p&gt;No problem, Thank you for the reply! I just wanted to make sure I wasn&amp;#39;t forgotten!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread (Background) DFU - How to get progress in app?</title><link>https://devzone.nordicsemi.com/thread/169721?ContentTypeID=1</link><pubDate>Wed, 06 Feb 2019 12:52:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3bdd7e7f-f956-4b24-9ed0-1f5b71544af2</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;I&amp;#39;ve forwarded your question and bug reports to the developers, we&amp;#39;ll get you an answer ASAP. I am so sorry for letting you wait for this long.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread (Background) DFU - How to get progress in app?</title><link>https://devzone.nordicsemi.com/thread/169606?ContentTypeID=1</link><pubDate>Tue, 05 Feb 2019 22:55:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5a21a6cd-ae75-4297-a2cd-f9d5f40562b2</guid><dc:creator>nealjack</dc:creator><description>&lt;p&gt;Hello, it&amp;#39;s been nearly a month without a resolution to this. Could I get some resolution on how to enable timeout on a stuck DFU, or some way to get introspection to create my own timeout?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>