<?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>Mesh DFU over serial</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/90407/mesh-dfu-over-serial</link><description>Hello, 
 My goal is to make DFU over a mesh network. 
 Using this guide , I did the following: 
 nrfjprog --program bin/softdevice/s132_nrf52_7.2.0_softdevice.hex --chiperase 
 nrfjprog --program bin/bootloader/gccarmemb/mesh_bootloader_serial_gccarmemb_nrf52832_xxAA</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 15 Aug 2022 18:29:54 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/90407/mesh-dfu-over-serial" /><item><title>RE: Mesh DFU over serial</title><link>https://devzone.nordicsemi.com/thread/381637?ContentTypeID=1</link><pubDate>Mon, 15 Aug 2022 18:29:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e45f81bd-6fc8-4f9a-bf40-f54a94b10aee</guid><dc:creator>lidorelias3</dc:creator><description>&lt;p&gt;Hey thanks in advance!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The issue was solved&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Mesh DFU over serial</title><link>https://devzone.nordicsemi.com/thread/381584?ContentTypeID=1</link><pubDate>Mon, 15 Aug 2022 13:00:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:de9f207a-9d2a-4c7f-96af-fd663371a4c1</guid><dc:creator>Elfving</dc:creator><description>&lt;p&gt;Sorry for the delay, I&amp;#39;ve been away on vacation.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Is this still an issue for you, or have you gotten any further on it. I see that you&amp;#39;ve at least gotten further in your case with Edvin?&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Elfving&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Mesh DFU over serial</title><link>https://devzone.nordicsemi.com/thread/379322?ContentTypeID=1</link><pubDate>Fri, 29 Jul 2022 12:38:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:404d9943-39d7-45b6-a412-d6cab18ba24b</guid><dc:creator>lidorelias3</dc:creator><description>&lt;p&gt;The debug level I&amp;#39;m using is 3.&lt;/p&gt;
&lt;p&gt;I get the following logs from the device:&lt;pre class="ui-code" data-mode="text"&gt;&amp;lt;t:          0&amp;gt;, main.c,  189, ----- Bluetooth Mesh Serial Interface Application -----
&amp;lt;t:       8767&amp;gt;, nrf_mesh_dfu.c,  753, Version info: BL(ver, id): 0x01 0x01 SD: 0x0101
&amp;lt;t:       8770&amp;gt;, nrf_mesh_dfu.c,  755, Version info: APP company: 0x00000059 id: 0x0001 version: 0x00000001
&amp;lt;t:       8797&amp;gt;, main.c,  175, Enabling ECDH offloading...
&amp;lt;t:       8802&amp;gt;, main.c,  178, Initializing serial interface...
&amp;lt;t:       8804&amp;gt;, serial_handler_prov.c,  279, Generating encryption keypair...
&amp;lt;t:      13645&amp;gt;, main.c,  198, Initialization complete!
&amp;lt;t:      18420&amp;gt;, mesh_app_utils.c,   66, Device UUID (raw): B66F3B2F0D6A4BD089E64985D5E52C70
&amp;lt;t:      18423&amp;gt;, mesh_app_utils.c,   67, Device UUID : B66F3B2F-0D6A-4BD0-89E6-4985D5E52C70
&amp;lt;t:      18433&amp;gt;, nrf_mesh_dfu.c,  554, 	RADIO TX! SLOT 0, count 15, interval: periodic, handle: FFFE
&amp;lt;t:      18437&amp;gt;, nrf_mesh_dfu.c,  593, 	SERIAL TX (type: 65534)
&amp;lt;t:      18445&amp;gt;, main.c,  224, Bluetooth Mesh Serial Interface Application started!
&amp;lt;t:     389576&amp;gt;, serial_handler_device.c,  125, Echo data: : AABBCCDD
&amp;lt;t:     390092&amp;gt;, nrf_mesh_dfu.c,  418, 	New firmware!
&amp;lt;t:     456569&amp;gt;, nrf_mesh_dfu.c,  418, 	New firmware!
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;If I try to send a new packet over serial, I get the following output from mesh-nrfutil:&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;D:\Nordic\mesh-nrfutil&amp;gt;nrfutil-mesh --verbose dfu serial -pkg dfu_test.zip -p COM3 -b 115200 --mesh
Upgrading target on COM3 with DFU package D:\Nordic\mesh-nrfutil\dfu_test.zip. Flow control is disabled.
Flushing com-port...
Opened com-port
Starting DFU upgrade of type 4, SoftDevice size: 0, bootloader size: 0, application size: 2416
Sending DFU start packet, afterwards we wait for the flash on target to be initialized before continuing.
1: PC -&amp;gt; target: 0502aabbccdd
target -&amp;gt; PC: 0582aabbccdd
Got echo response
Sending DFU init packet
Sending ready packet
1: PC -&amp;gt; target: 1378fdff040fea4e3e9159000000020004000000
target -&amp;gt; PC: 16a6045900000002000400000059000000010001000000
target -&amp;gt; PC: 03847800
1: PC -&amp;gt; target: 1378fdff040fea4e3e9159000000020004000000
target -&amp;gt; PC: 16a6045900000002000400000059000000010001000000
target -&amp;gt; PC: 03847800
Sending start packet
1: PC -&amp;gt; target: 1478fcff0000ea4e3e91ffffffff5c02000040000c
target -&amp;gt; PC: 03847887
2: PC -&amp;gt; target: 1478fcff0000ea4e3e91ffffffff5c02000040000c
target -&amp;gt; PC: 03847887
3: PC -&amp;gt; target: 1478fcff0000ea4e3e91ffffffff5c02000040000c
target -&amp;gt; PC: 03847887
4: PC -&amp;gt; target: 1478fcff0000ea4e3e91ffffffff5c02000040000c
target -&amp;gt; PC: 03847887
5: PC -&amp;gt; target: 1478fcff0000ea4e3e91ffffffff5c02000040000c
target -&amp;gt; PC: 03847887
6: PC -&amp;gt; target: 1478fcff0000ea4e3e91ffffffff5c02000040000c
target -&amp;gt; PC: 03847887
7: PC -&amp;gt; target: 1478fcff0000ea4e3e91ffffffff5c02000040000c
target -&amp;gt; PC: 03847887
8: PC -&amp;gt; target: 1478fcff0000ea4e3e91ffffffff5c02000040000c
target -&amp;gt; PC: 03847887
9: PC -&amp;gt; target: 1478fcff0000ea4e3e91ffffffff5c02000040000c
target -&amp;gt; PC: 03847887
10: PC -&amp;gt; target: 1478fcff0000ea4e3e91ffffffff5c02000040000c
target -&amp;gt; PC: 03847887


Failed to upgrade target. Error is: Device returned status code ERROR_INVALID_DATA (135) on a DFU data packet.

Possible causes:
- bootloader, SoftDevice or application on target does not match the requirements in the DFU package.
- baud rate or flow control is not the same as in the target bootloader.
- target is not in DFU mode. If using the SDK examples, press Button 4 and RESET and release both to enter DFU mode.
- if the error is ERROR_BUSY at the beginning of the DFU process,increase the value of PAGE_ERASE_TIME_MAX by few milliseconds.
Closing serial port...&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Mesh DFU over serial</title><link>https://devzone.nordicsemi.com/thread/379041?ContentTypeID=1</link><pubDate>Thu, 28 Jul 2022 07:31:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b3b5957a-6719-401f-9f53-de25920bb3b0</guid><dc:creator>Elfving</dc:creator><description>&lt;p&gt;Case 0xB0, or 0d11 is NRF_ERROR_INVALID_DATA.&lt;/p&gt;
&lt;p&gt;So you are not getting any error codes like &lt;em&gt;&amp;quot;Failed to upgrade target. Error is: Device returned status code &lt;/em&gt;&lt;em&gt;ERROR_INVALID_DATA&amp;quot; &lt;/em&gt;from either of the devices?&lt;/p&gt;
&lt;p&gt;What log level are you using?&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Elfving&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Mesh DFU over serial</title><link>https://devzone.nordicsemi.com/thread/378919?ContentTypeID=1</link><pubDate>Wed, 27 Jul 2022 12:51:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cc81e23a-d995-4f17-a054-2efc85da8898</guid><dc:creator>lidorelias3</dc:creator><description>&lt;p&gt;&lt;/p&gt;
&lt;p&gt;You understood correctly. I changed serial_translate_error as follows:&lt;/p&gt;
&lt;div&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;uint8_t serial_translate_error(uint32_t error)
{
&amp;#160; &amp;#160; &amp;#160;if (error)
&amp;#160; &amp;#160; &amp;#160;{
&amp;#160; &amp;#160; &amp;#160; &amp;#160; __LOG_XB(LOG_SRC_SERIAL, LOG_LEVEL_INFO, &amp;quot;Error type data: &amp;quot;, &amp;amp;error, 1);
&amp;#160; &amp;#160; &amp;#160;}
&amp;#160; &amp;#160; switch (error)
&amp;#160; &amp;#160; {
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case NRF_SUCCESS:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_SUCCESS;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case NRF_ERROR_SVC_HANDLER_MISSING:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_INVALID_STATE;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case NRF_ERROR_SOFTDEVICE_NOT_ENABLED:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_INVALID_STATE;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case NRF_ERROR_INTERNAL:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_INTERNAL;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case NRF_ERROR_NO_MEM:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_REJECTED;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case NRF_ERROR_NOT_FOUND:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_REJECTED;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case NRF_ERROR_NOT_SUPPORTED:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_REJECTED;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case NRF_ERROR_INVALID_PARAM:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_INVALID_PARAMETER;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case NRF_ERROR_INVALID_STATE:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_INVALID_STATE;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case NRF_ERROR_INVALID_LENGTH:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_INVALID_LENGTH;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case NRF_ERROR_INVALID_FLAGS:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_INVALID_STATE;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case NRF_ERROR_INVALID_DATA:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_INVALID_DATA;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case NRF_ERROR_DATA_SIZE:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_INVALID_LENGTH;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case NRF_ERROR_TIMEOUT:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_TIMEOUT;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case NRF_ERROR_NULL:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_INTERNAL;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case NRF_ERROR_FORBIDDEN:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_REJECTED;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case NRF_ERROR_INVALID_ADDR:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_INVALID_DATA;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case NRF_ERROR_BUSY:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_BUSY;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; case BLE_ERROR_NOT_ENABLED:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_REJECTED;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; default:
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return SERIAL_STATUS_ERROR_UNKNOWN;
&amp;#160; &amp;#160; }
}&lt;/pre&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Also to check, I downloaded the mesh SDK5 again and worked with a new unzipped Mesh SDK and the results are the same.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Mesh DFU over serial</title><link>https://devzone.nordicsemi.com/thread/378891?ContentTypeID=1</link><pubDate>Wed, 27 Jul 2022 11:50:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4ff79c2f-360b-4621-89a7-79ebdeb95bae</guid><dc:creator>Elfving</dc:creator><description>&lt;p&gt;Hello Lidor,&lt;/p&gt;
&lt;p&gt;I believe you&amp;#39;ll have to wait until Edvin gets back to get help with the main issue of Mesh DFU.&lt;/p&gt;
&lt;p&gt;If I&amp;#39;ve understood you and your case history correctly, you are trying to get our proprietary Mesh DFU solution from nRF5 SDK to work, and it currently does not. The only error message you get, is one you&amp;#39;ve added yourself as a log someplace in&amp;nbsp;serial.c, that happens to be on line 226. Without it (which the project is by default), there is no error, the DFU simply does not work.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Is this correct? And in what function did you add this &amp;quot;&lt;span&gt;Error type data: : 0B&amp;quot; log?&amp;nbsp;serial_translate_error?&amp;nbsp;serial_process? Could you share this modified function with me?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Elfving&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>