<?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 9160 modem programming issue</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/113952/nrf-9160-modem-programming-issue</link><description>Hi, 
 we are ramping up production, and need to make many production jigs, and programming in parrallell since the programming of the modem takes 1 min +. 
 We are using an stm32 on each jig, and programming the 4 processrs successfully (9160, 822, 840</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 03 Sep 2024 17:02:05 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/113952/nrf-9160-modem-programming-issue" /><item><title>RE: nrf 9160 modem programming issue</title><link>https://devzone.nordicsemi.com/thread/501033?ContentTypeID=1</link><pubDate>Tue, 03 Sep 2024 17:02:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:67319945-144e-4156-b489-d42898fa972d</guid><dc:creator>Michal</dc:creator><description>[quote user="Hjalmar"]Ok, the alternative method works when I program in 64 k sections ONLY.[/quote]
&lt;p&gt;I will ask for the details about that.&lt;/p&gt;
&lt;p&gt;Also, does that mean that this has managed to help you solve the issue completely?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf 9160 modem programming issue</title><link>https://devzone.nordicsemi.com/thread/500760?ContentTypeID=1</link><pubDate>Mon, 02 Sep 2024 12:07:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ac43dc23-0d20-49e1-bc86-8967d09f77fb</guid><dc:creator>Hjalmar</dc:creator><description>&lt;p&gt;Ok, the alternative method works when I program in 64 k sections ONLY.&lt;br /&gt;The recommended doesn&amp;#39;t work on our chips that we just bought from digikey and has 1.1.6 (that requires the correct fw that for the later modems )&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf 9160 modem programming issue</title><link>https://devzone.nordicsemi.com/thread/499976?ContentTypeID=1</link><pubDate>Tue, 27 Aug 2024 12:05:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:72584590-eefb-4457-9a1a-ad55ad91fd50</guid><dc:creator>Michal</dc:creator><description>&lt;p&gt;Sorry for the delay, here are some notes from our engineers:&lt;/p&gt;
&lt;p&gt;&lt;span&gt;4.4.1 Recommended method&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;This method is supported for modem firmware versions from 1.3.5 and higher.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;2. Split the contents of the HEX file into contiguous sections that are &lt;/span&gt;&lt;b&gt;&lt;span&gt;8 KB aligned&lt;/span&gt;&lt;/b&gt;&lt;span&gt; and up to &lt;/span&gt;&lt;b&gt;&lt;span&gt;56KB&lt;/span&gt;&lt;/b&gt;&lt;span&gt; large.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;3. Write the data to 0x2000001C + offset, where the offset is 0 or &lt;/span&gt;&lt;b&gt;&lt;span&gt;0xE000&lt;/span&gt;&lt;/b&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Add a new step between 3. and 4.:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; If not programming the first section, poll IPC.MODEM_CTRL_EVENT…&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;4: If all sections not yet programmed, write the following&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;4a: starting → target&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;5: last page → last section&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;7. Poll IPC.MODEM_CTRL_EVENT. If you get 0x5A000001, the command is not supported, and you should use the alternative method instead. You should get 0xA5000005 if the command succeeded.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;9: pages → sections&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;9: Step 4 → (New step between 3. and 4.)&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;consider copying IPC.MODEM_CTRL_EVENT response description from &amp;#39;Alternative method&amp;#39; step 5.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;4.4.2 Alternative method&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;2. Split the contents of the HEX file into contiguous sections that are &lt;/span&gt;&lt;b&gt;&lt;span&gt;8 KB aligned&lt;/span&gt;&lt;/b&gt;&lt;span&gt; and up to &lt;/span&gt;&lt;b&gt;&lt;span&gt;64KB &lt;/span&gt;&lt;/b&gt;&lt;span&gt;large.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;4.5 Verifying the modem&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;The digest is in &lt;/span&gt;&lt;b&gt;&lt;span&gt;0x20000010-0x2000002C, stored in little-endian words&lt;/span&gt;&lt;/b&gt;&lt;span&gt;. For example, a digest of 925372E7512EBE1C06805F6BC58721BBE2ED2A82F362F05151ED25FBB2A48E4D would read out as the following words: {0x925372e7, 0x512ebe1c, 0x6805f6b, 0xc58721bb, 0xe2ed2a82, 0xf362f051, 0x51ed25fb, 0xb2a48e4d}.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Ranges in the digest.txt file are given in inclusive notation, so “0x00006000--0x0000FFFF” would be a length of 0xa000 (40KB).&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf 9160 modem programming issue</title><link>https://devzone.nordicsemi.com/thread/499812?ContentTypeID=1</link><pubDate>Mon, 26 Aug 2024 15:26:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cff0f616-9bee-4a9d-b4aa-70de4ba79296</guid><dc:creator>Hjalmar</dc:creator><description>&lt;p&gt;ping?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf 9160 modem programming issue</title><link>https://devzone.nordicsemi.com/thread/499440?ContentTypeID=1</link><pubDate>Thu, 22 Aug 2024 19:38:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:95a200a4-83c7-4143-8c72-8c655dc0bcfa</guid><dc:creator>Michal</dc:creator><description>&lt;p&gt;I have found out a few things internally, I&amp;#39;ll try to summarize it to you tomorrow.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Michal&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf 9160 modem programming issue</title><link>https://devzone.nordicsemi.com/thread/499115?ContentTypeID=1</link><pubDate>Tue, 20 Aug 2024 18:45:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7f5fecb3-7c34-49e0-86b9-5edf605c81b4</guid><dc:creator>Michal</dc:creator><description>&lt;p&gt;Just wanted to let you know, that we are still looking into it. It is quite a complicated question, so I&amp;#39;m not exactly sure when I will have more information, but I will get back to you when I will find out more.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Michal&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf 9160 modem programming issue</title><link>https://devzone.nordicsemi.com/thread/498622?ContentTypeID=1</link><pubDate>Fri, 16 Aug 2024 12:12:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9736cf68-aad6-4810-970f-8f0e675e5ac8</guid><dc:creator>Michal</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Thank you for the update.&lt;/p&gt;
&lt;p&gt;We are looking into it internally and I will hopefully have some more information next week.&lt;/p&gt;
&lt;p&gt;Please let us know if you get any further in the meantime.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Michal&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf 9160 modem programming issue</title><link>https://devzone.nordicsemi.com/thread/498574?ContentTypeID=1</link><pubDate>Fri, 16 Aug 2024 08:23:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1e6dc0fa-169e-4fc5-8eea-f0c14a4b21d6</guid><dc:creator>Hjalmar</dc:creator><description>&lt;p&gt;**UPDATE**&lt;/p&gt;
&lt;p&gt;After sniffing how nrfjprog does this, verification now works, the trick is that you can&amp;#39;t send larger chunks than 65k for verificationm, I have also verified this with the python code, where your python code gets the same error as I had before changing to only verify 65 k chunks at the time..&lt;/p&gt;
&lt;p&gt;Also, note that you can&amp;#39;t verify the first file, ie on adress&amp;nbsp;0x59602000 with length&amp;nbsp;2360, since then it responds with an error.&lt;/p&gt;
&lt;p&gt;I still don&amp;#39;t get the programming to work, so please, &lt;strong&gt;can you send me the relevant sections of nrfjprog python code so I can get that to work?&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>