<?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>full modem firmware update at boot time</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/92207/full-modem-firmware-update-at-boot-time</link><description>Hello, Is there any way to perform full modem update installation during device boot or startup? 
 if yes, how to do it? 
 
 Best Regards 
 Praveen Deshmane</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 28 Sep 2022 16:44:09 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/92207/full-modem-firmware-update-at-boot-time" /><item><title>RE: full modem firmware update at boot time</title><link>https://devzone.nordicsemi.com/thread/388416?ContentTypeID=1</link><pubDate>Wed, 28 Sep 2022 16:44:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bd8e5cb4-7c62-430c-955c-d27068b7fa65</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hello Praveen,&lt;/p&gt;
[quote user="Praveen Deshmane"]I am not sure this can be used to perform FOTA (firmware over the air) updates.[/quote]
&lt;p&gt;Your assumption is correct. I suggested the sample as a possibility before because it was not clear from your original that you were looking to use FOTA. We can disregard this sample going forward.&lt;/p&gt;
[quote user="Praveen Deshmane"]My next goal is to&amp;nbsp;&lt;span&gt;perform full modem update installation during device bootup or startup not immediately&amp;nbsp;after the download.&lt;/span&gt;[/quote]
&lt;p&gt;Ah, it seems I misunderstood your wishes on this as well. I missed the point that you did not want to download new modem firmware on boot, but only update. &lt;/p&gt;
&lt;p&gt;Adding a line:&amp;nbsp;&lt;code&gt;k_work_submit(&amp;amp;fmfu_work)&lt;/code&gt; in main() after the initialization is completed should start the work of performing the DFU without having to press a button.&lt;/p&gt;
&lt;p&gt;Because of the static partitioning, and the property that the external flash is configured as SPI NOR, this should be fine to do as long as there exists a modem firmware update in the external flash.&lt;/p&gt;
[quote user="Praveen Deshmane"]Yes I am very interested. Kindly explain me how to&amp;nbsp;&lt;span&gt;combine this method with MCUboot.&amp;nbsp;&lt;/span&gt;[/quote]
&lt;p&gt;This is the sample that my colleague updated to include MCUboot: &lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/294297_5F00_http_5F00_update_5F00_full_5F00_modem_5F00_update_5F00_ncs2_5F00_0_5F00_2.zip"&gt;devzone.nordicsemi.com/.../294297_5F00_http_5F00_update_5F00_full_5F00_modem_5F00_update_5F00_ncs2_5F00_0_5F00_2.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Note that the origin is from nRF Connect SDK (NCS) v2.0.2 and that it uses Secure Partition Manager instead of the default Trusted Firmware-M to manage the partitions. The reason for this is a bug which was fixed with the v2.1.0 release of NCS.&lt;/p&gt;
&lt;p&gt;Let me know if you would rather use TF-M over SPM, then I will take a closer look at the sample and modify it to use TF-M instead.&lt;/p&gt;
&lt;p&gt;Another note about the sample is that it contains a static partition layout in pm_static.yml. Here 0xf0000 is used as the slot size for MCUboot. This may need to change in your project.&lt;/p&gt;
&lt;p&gt;To find out where MCUboot should be placed to the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Delete pm_static.yml&lt;/li&gt;
&lt;li&gt;Find the partition layout for your project in the generated build/partitions.yml&lt;/li&gt;
&lt;li&gt;Populate a new pm_static.yml with the partition layout you found in build/partitions.yml&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I hope you find this useful.&lt;/p&gt;
&lt;p&gt;Kind Regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: full modem firmware update at boot time</title><link>https://devzone.nordicsemi.com/thread/388276?ContentTypeID=1</link><pubDate>Wed, 28 Sep 2022 08:32:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f108bbf0-b767-40cb-9431-fbee1b807932</guid><dc:creator>Praveen Deshmane</dc:creator><description>&lt;p&gt;Hello Maria,&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Thank you for the reply.&lt;br /&gt;&lt;br /&gt;I will await for your help.&lt;br /&gt;&lt;br /&gt;Best Ragards&lt;/p&gt;
&lt;p&gt;Praveen Deshmane&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: full modem firmware update at boot time</title><link>https://devzone.nordicsemi.com/thread/388194?ContentTypeID=1</link><pubDate>Tue, 27 Sep 2022 15:13:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d67a665e-90b3-4823-91b5-f0d131e9548a</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hello Praveen,&lt;/p&gt;
&lt;p&gt;Just letting you know that I am still looking into this, and will provide you with more help shortly.&lt;/p&gt;
&lt;p&gt;Kind Regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: full modem firmware update at boot time</title><link>https://devzone.nordicsemi.com/thread/387788?ContentTypeID=1</link><pubDate>Mon, 26 Sep 2022 00:55:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:28582b11-fe23-4240-9c74-23cc6d03a495</guid><dc:creator>Praveen Deshmane</dc:creator><description>&lt;p&gt;Hello Maria,&lt;br /&gt;&lt;br /&gt;Thank you for your time and reply.&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;
If you wish to integrate your own modem firmware update into your application,&amp;#160;nRF9160: HTTP full modem update&amp;#160;is a suitable starting point. Note that this implementation requires at least 4MB of external flash to work, as the modem firmware is stored in external flash before updating the modem. The sample uses a button press to initiate the updating process, and you can change the initiation method according to your preferences.&lt;/pre&gt;&lt;br /&gt;I have already done this, i am using 4MB external flash for storing the modem update. I have followed the procedure from the below html document. I am successfully able to download full modem update and install the update immediately after the download. (I have modified a little, I am not using any button click to perform installation)&lt;br /&gt;&lt;br /&gt;Note: I am downloading modem update from AWS s3 bucket.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a id="" href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/samples/nrf9160/http_update/full_modem_update/README.html"&gt;https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/samples/nrf9160/http_update/full_modem_update/README.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My next goal is to&amp;nbsp;&lt;span&gt;perform full modem update installation during device bootup or startup not immediately&amp;nbsp;after the download.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;pre class="ui-code" data-mode="text"&gt;If you combine this method with MCUboot, you have to change where the modem firmware resides in the external flash. My colleague has modified the sample to include MCUboot. Let me know if you are interested in this.&lt;/pre&gt;&lt;br /&gt;Yes I am very interested. Kindly explain me how to&amp;nbsp;&lt;span&gt;combine this method with MCUboot.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;Another way to implement DFU on startup is to use nRF9160: Full modem firmware update using SMP Server. This sample uses MCU manager and is a good starting point if you wish to use MCU manager for your project.&lt;/pre&gt;&lt;br /&gt;I am not sure this can be used to perform FOTA (firmware over the air) updates.&lt;br /&gt;&lt;br /&gt;Thanks and regards&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;Praveen Deshmane&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: full modem firmware update at boot time</title><link>https://devzone.nordicsemi.com/thread/387643?ContentTypeID=1</link><pubDate>Fri, 23 Sep 2022 09:22:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:88dcfd34-a91d-4a14-9c7f-e35913ac49c6</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hello Praveen,&lt;/p&gt;
&lt;p&gt;Yes, this is possible and can be implemented in a few ways depending on your preferences.&lt;/p&gt;
&lt;p&gt;If you wish to integrate your own modem firmware update into your application, &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/samples/nrf9160/http_update/full_modem_update/README.html"&gt;nRF9160: HTTP full modem update&lt;/a&gt; is a suitable starting point. Note that this implementation requires at least 4MB of external flash to work, as the modem firmware is stored in external flash before updating the modem. The sample uses a button press to initiate the updating process, and you can change the initiation method according to your preferences.&lt;/p&gt;
&lt;p&gt;If you combine this method with MCUboot, you have to change where the modem firmware resides in the external flash. My colleague has modified the sample to include MCUboot. Let me know if you are interested in this. &lt;/p&gt;
&lt;p&gt;Another way to implement DFU on startup is to use &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/samples/nrf9160/fmfu_smp_svr/README.html"&gt;nRF9160: Full modem firmware update using SMP Server&lt;/a&gt;. This sample uses MCU manager and is a good starting point if you wish to use MCU manager for your project.&lt;/p&gt;
&lt;p&gt;Best Regards,&lt;br /&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>