<?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>FOTA Doom Loop After Failed Download</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/117315/fota-doom-loop-after-failed-download</link><description>Toolchain v2.70, SDK v2.7.0, VS Code, Windows 
 Kicked off an application FOTA update, and somehow it failed: 
 [00:02:06.161,315] &amp;lt;err&amp;gt; download_client: Error in recv(), errno 11 [00:02:06.168,243] &amp;lt;err&amp;gt; fota_download: Download client error [00:02:06</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 09 Jan 2025 13:04:19 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/117315/fota-doom-loop-after-failed-download" /><item><title>RE: FOTA Doom Loop After Failed Download</title><link>https://devzone.nordicsemi.com/thread/517700?ContentTypeID=1</link><pubDate>Thu, 09 Jan 2025 13:04:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:36e14c50-79da-4e26-a49f-8f9682eb1ca9</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;That makes sense to me, thanks for the elaboration!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FOTA Doom Loop After Failed Download</title><link>https://devzone.nordicsemi.com/thread/517695?ContentTypeID=1</link><pubDate>Thu, 09 Jan 2025 12:51:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ada96de4-9b84-4aee-83f9-a37f1aa266ac</guid><dc:creator>Mike Granby</dc:creator><description>&lt;p&gt;A watchdog is great and I have it enabled, but it would not be triggered by firmware that is continually re-attempting a download as it would not be able to distinguish between that failure mode and, say, the mere lack of cellular signal. The watchdog can only catch low-level failures or those that are detected by&amp;nbsp;the logic that kicks it. In this case, I have added specific code to spot repeated download failures and to reboot the device, but that required &lt;em&gt;a priori&lt;/em&gt; knowledge of the problem.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FOTA Doom Loop After Failed Download</title><link>https://devzone.nordicsemi.com/thread/517693?ContentTypeID=1</link><pubDate>Thu, 09 Jan 2025 12:44:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:093b05cf-2d1b-4144-b8f5-02f396413ba6</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi Mike,&lt;/p&gt;
&lt;p&gt;I will continue to help with this ticket.&lt;/p&gt;
&lt;p&gt;Just want you to know that we have not forgotten this ticket. Devs are not done looking into it yet, but we are on it.&lt;/p&gt;
&lt;p&gt;A comment from me on previous things you said. Specifically:&lt;/p&gt;
&lt;p&gt;&amp;quot;A reboot fixes it, but unrecoverable FOTA failures are bad news...&amp;quot;&lt;/p&gt;
&lt;p&gt;and &amp;quot;It’s the fact that it gets stuck in a loop trying to recover.&amp;quot;&lt;/p&gt;
&lt;p&gt;I definitely agree that the device should not enter a loop that it can not escape. However, software can in general introduce deadlocks, and it is hard to guarantee 100% that you can never get into one of those.&lt;/p&gt;
&lt;p&gt;However, it is a lot easier to guarantee a stable state on a reboot. This is why we have the Watchdog hardware peripheral. If set up properly, the Watchdog should reboot the device if something puts it into a deadlock. Is this a solution you have tried or considered?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FOTA Doom Loop After Failed Download</title><link>https://devzone.nordicsemi.com/thread/515272?ContentTypeID=1</link><pubDate>Tue, 17 Dec 2024 13:18:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1653bd8e-d514-4016-ba46-d5e3246b8e4b</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Mike,&amp;nbsp;&lt;br /&gt;I&amp;#39;m waiting for R&amp;amp;D team to take a look. The initial response is that&amp;nbsp;they suspect it&amp;#39;s the&amp;nbsp;dfu_target library causing the problem as it&amp;#39;s&amp;nbsp;where&amp;nbsp;the offset comes from.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FOTA Doom Loop After Failed Download</title><link>https://devzone.nordicsemi.com/thread/515159?ContentTypeID=1</link><pubDate>Mon, 16 Dec 2024 15:00:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bccd395c-795a-4731-b30e-08d62bc11014</guid><dc:creator>Mike Granby</dc:creator><description>&lt;p&gt;I&amp;rsquo;m not sure what caused the initial error. I know I was updating the firmware file on&amp;nbsp;the server, but the point is not the initial error. It&amp;rsquo;s the fact that it gets stuck in a loop trying to recover. Obviously a FOTA&amp;nbsp;failure means a potential truck roll, and that&amp;rsquo;s bad.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FOTA Doom Loop After Failed Download</title><link>https://devzone.nordicsemi.com/thread/515098?ContentTypeID=1</link><pubDate>Mon, 16 Dec 2024 12:58:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:00b2de89-3181-4616-b7c2-a70602c3d4a4</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Mike,&amp;nbsp;&lt;br /&gt;I will take a look at the issue. But could you let me know what happen before the&amp;nbsp;&lt;span&gt;Error in recv(), errno 11&amp;nbsp; ?&amp;nbsp;&lt;br /&gt;Could you tell how did you test when did the issue occur and if you see this error 11&amp;nbsp;on every test&amp;nbsp; ?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>