<?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>SD + BL + APP dfu serial update failed</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/53294/sd-bl-app-dfu-serial-update-failed</link><description>Hi, I try to update a nRF52832 with SDK 14.2.0 to SDK 15.3. I created a package with SD + BL + APP with the following command: 
 
 I&amp;#39;m using nrfutil (v5.1.0) to download the update via serial (nrfutil dfu serial -pkg ... ). Now the first part (SD + BL</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 22 Oct 2019 09:19:27 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/53294/sd-bl-app-dfu-serial-update-failed" /><item><title>RE: SD + BL + APP dfu serial update failed</title><link>https://devzone.nordicsemi.com/thread/216098?ContentTypeID=1</link><pubDate>Tue, 22 Oct 2019 09:19:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:646009a2-2cf7-42a3-93f0-8cda76a4cd44</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The printout now indicates that things are&amp;nbsp;working from the nrfutil perspective, though there is an error with the image transfer.&lt;/p&gt;
&lt;p&gt;The best way to debug the bootloader is using logging, but as you write you will get an error by enabling logging out of the box. Therefore, the SDK has a separate set of bootloader projects suffixes with _debug, which has RTT logging enabled, and a lower start address to make it fit. Using this when facing bootloader issues is highly recommended, as it most of the time helps to narrow down the issue significantly. &lt;em&gt;I suggest you do this first.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The SoftDevice always needs to start at address 0. Your application should always start immediately after the bootloader. Regarding the SoftDevice ID, this is checked based on what you enter when you make the DFU image. So if you enter the wrong ID&amp;#39;s (or include ID&amp;#39;s that should not have been included), it will not prevent an incompatible update. The idea here is that it should protect the end customer since you test the upgrade image before you ship it, but you need to have control. If the bootloader is built to use the SoftDevice, it needs to be a compatible version.&lt;/p&gt;
&lt;p&gt;Therefore, a bootloader upgrade should always be accompanied by a new SoftDevice if the versions change. For the application, it is the same, but you do not risk bricking the device if you have a way of putting it in DFU mode, so the requirement is relaxed. But if you set the sd-req wrong, the bootloader may accept the application even though it has an incompatible SoftDevice, and the application will start and crash. Can you list all versions you upgrade from and to?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SD + BL + APP dfu serial update failed</title><link>https://devzone.nordicsemi.com/thread/215994?ContentTypeID=1</link><pubDate>Mon, 21 Oct 2019 15:22:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dbb47004-c847-4585-9597-426853870870</guid><dc:creator>ManuelF</dc:creator><description>&lt;p&gt;I now completly removed all files and reinstall nrfutil and it now run with python 3.7... &lt;br /&gt;But now I again have the same issue as with the v 5.1.0 of nrfutil:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo nrfutil -v -v -v dfu serial -b 115200 -p /dev/ttyUSB0 -pkg app_dfu_package.zip
2019-10-21 16:46:41,364 Using board at serial port: /dev/ttyUSB0
2019-10-21 16:46:41,365 Sending SoftDevice+Bootloader image.
2019-10-21 16:46:44,379 Serial: Set Packet Receipt Notification 0
2019-10-21 16:46:44,411 Sending init packet...
2019-10-21 16:46:44,411 Serial: Selecting Object: type:1
2019-10-21 16:46:44,427 Serial: Object selected:  max_size:256 offset:0 crc:0
2019-10-21 16:46:44,443 Serial: Streaming Data: len:154 offset:0 crc:0x00000000
2019-10-21 16:46:44,635 Sending firmware file...
2019-10-21 16:46:44,636 Serial: Selecting Object: type:2
2019-10-21 16:46:44,651 Serial: Object selected:  max_size:4096 offset:0 crc:0
2019-10-21 16:46:44,667 Serial: Streaming Data: len:4096 offset:0 crc:0x00000000
2019-10-21 16:46:45,152 Serial: Streaming Data: len:4096 offset:4096 crc:0x086FE1F0
......
2019-10-21 16:47:04,451 Serial: Streaming Data: len:596 offset:167936 crc:0x9E5B00C2
2019-10-21 16:47:04,819 Image sent in 20.407888889312744s
2019-10-21 16:47:04,820 Sending Application image.
2019-10-21 16:47:08,824 Serial: No ping response
2019-10-21 16:47:09,826 Serial: No ping response
2019-10-21 16:47:10,827 Serial: No ping response
2019-10-21 16:47:11,829 Serial: No ping response
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I noticed that the device after download the first image, the LED 3 shortly ligths up (1-2s).&amp;nbsp; How can I check, that the update of bootloader + softdevice is successfully? If I enable log, the image is too big (insufficient ressources)...&lt;/p&gt;
&lt;p&gt;Edit:&lt;br /&gt;I today checked, if I flash the device with programmer to SDK 15.3 and then try update with nrftool, every thing was successfully. So from my point of view something went wrong while exchange the bootloader. Or could it be that the softdevice or bootloader is at wrong place? If I use the wrong sd-req or sd-id, would I get an error from nrfutil?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SD + BL + APP dfu serial update failed</title><link>https://devzone.nordicsemi.com/thread/215926?ContentTypeID=1</link><pubDate>Mon, 21 Oct 2019 12:39:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b3dfe81b-c7ee-42ac-9793-aef4b2955ccb</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;To be honest, I don&amp;#39;t know what is going on, but the error &amp;quot;TypeError: can only concatenate list (not &amp;quot;map&amp;quot;) to list&amp;quot; indicates python version mismatch. Can you remove anything nordic related and make sure you erase everything within&amp;nbsp;/usr/local/lib/python3.7/dist-packages/nordicsemi/ and anywhere else you could have something related and try installing again (just an idea, may not be sensible)?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SD + BL + APP dfu serial update failed</title><link>https://devzone.nordicsemi.com/thread/215751?ContentTypeID=1</link><pubDate>Fri, 18 Oct 2019 15:37:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:46f66c58-b14f-4df3-b2e6-0e62aa28372e</guid><dc:creator>ManuelF</dc:creator><description>&lt;p&gt;you&amp;#39;re right, I mixed up the installations... I now using the nrfutil 5.2.0 from pip3 (with python 3.7). But now I have the next python error:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo nrfutil -v -v -v dfu serial -b 115200 -p /dev/ttyUSB0 -pkg app_dfu_package.zip
2019-10-18 17:32:00,363 Using board at serial port: /dev/ttyUSB0
2019-10-18 17:32:00,364 Sending Application image.
2019-10-18 17:32:03,888 Serial: Set Packet Receipt Notification 0
Traceback (most recent call last):
  File &amp;quot;/usr/local/bin/nrfutil&amp;quot;, line 8, in &amp;lt;module&amp;gt;
    sys.exit(cli())
  File &amp;quot;/usr/local/lib/python3.7/dist-packages/click/core.py&amp;quot;, line 764, in __call__
    return self.main(*args, **kwargs)
  File &amp;quot;/usr/local/lib/python3.7/dist-packages/click/core.py&amp;quot;, line 717, in main
    rv = self.invoke(ctx)
  File &amp;quot;/usr/local/lib/python3.7/dist-packages/click/core.py&amp;quot;, line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File &amp;quot;/usr/local/lib/python3.7/dist-packages/click/core.py&amp;quot;, line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File &amp;quot;/usr/local/lib/python3.7/dist-packages/click/core.py&amp;quot;, line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File &amp;quot;/usr/local/lib/python3.7/dist-packages/click/core.py&amp;quot;, line 555, in invoke
    return callback(*args, **kwargs)
  File &amp;quot;/usr/local/lib/python3.7/dist-packages/nordicsemi/__main__.py&amp;quot;, line 1042, in serial
    timeout)
  File &amp;quot;/usr/local/lib/python3.7/dist-packages/nordicsemi/__main__.py&amp;quot;, line 958, in do_serial
    dfu.dfu_send_images()
  File &amp;quot;/usr/local/lib/python3.7/dist-packages/nordicsemi/dfu/dfu.py&amp;quot;, line 129, in dfu_send_images
    self._dfu_send_image(self.manifest.application)
  File &amp;quot;/usr/local/lib/python3.7/dist-packages/nordicsemi/dfu/dfu.py&amp;quot;, line 90, in _dfu_send_image
    self.dfu_transport.open()
  File &amp;quot;/usr/local/lib/python3.7/dist-packages/nordicsemi/dfu/dfu_transport_serial.py&amp;quot;, line 216, in open
    self.__set_prn()
  File &amp;quot;/usr/local/lib/python3.7/dist-packages/nordicsemi/dfu/dfu_transport_serial.py&amp;quot;, line 360, in __set_prn
    + map(ord, struct.pack(&amp;#39;&amp;lt;H&amp;#39;, self.prn)))
TypeError: can only concatenate list (not &amp;quot;map&amp;quot;) to list&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Do I still have not a python3 version of nrfutil? I installed nrfutil with pip3 install nrfutil, so there is not so much to do wrong...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SD + BL + APP dfu serial update failed</title><link>https://devzone.nordicsemi.com/thread/215665?ContentTypeID=1</link><pubDate>Fri, 18 Oct 2019 09:31:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:06b84bf5-1539-474e-8d3e-7413b88a1cdd</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The error message &amp;quot;SyntaxError: invalid syntax&amp;quot; is because in this case, you are using Python3, but the python code you are executing is for python 2 (print being used as a keyword, not a function). Please check your versions and make sure they are compatible. I highly recommend using pip to install nrfutil if you have not done so before since that will ensure that dependencies are correct.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SD + BL + APP dfu serial update failed</title><link>https://devzone.nordicsemi.com/thread/215551?ContentTypeID=1</link><pubDate>Thu, 17 Oct 2019 13:53:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:00453722-1502-477b-9d28-5f7f8b6243f3</guid><dc:creator>ManuelF</dc:creator><description>&lt;p&gt;Hi Einar,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m run nrfutil on linux with python 2. I now updated to nrfutil 6.0.0a0, but with this version I get error while start:&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;Traceback (most recent call last):
  File &amp;quot;/usr/local/bin/nrfutil&amp;quot;, line 11, in &amp;lt;module&amp;gt;
    load_entry_point(&amp;#39;nrfutil==6.0.0a0&amp;#39;, &amp;#39;console_scripts&amp;#39;, &amp;#39;nrfutil&amp;#39;)()
  File &amp;quot;/usr/lib/python3/dist-packages/pkg_resources/__init__.py&amp;quot;, line 489, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File &amp;quot;/usr/lib/python3/dist-packages/pkg_resources/__init__.py&amp;quot;, line 2793, in load_entry_point
    return ep.load()
  File &amp;quot;/usr/lib/python3/dist-packages/pkg_resources/__init__.py&amp;quot;, line 2411, in load
    return self.resolve()
  File &amp;quot;/usr/lib/python3/dist-packages/pkg_resources/__init__.py&amp;quot;, line 2417, in resolve
    module = __import__(self.module_name, fromlist=[&amp;#39;__name__&amp;#39;], level=0)
  File &amp;quot;/usr/local/lib/python3.7/dist-packages/nrfutil_dfu_serial-3.4.0-py3.7.egg/nordicsemi/__main__.py&amp;quot;, line 42
    print os.getcwd()
           ^
SyntaxError: invalid syntax&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SD + BL + APP dfu serial update failed</title><link>https://devzone.nordicsemi.com/thread/215298?ContentTypeID=1</link><pubDate>Wed, 16 Oct 2019 12:31:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:961df1b4-5b80-4592-acfb-e03153315d0f</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Which platform do you run nrfutil on? Linux? Do you get the same behavior with nrfutil 5.2, and is it the same if you use Python 2 or Python 3 (you can easily test both if using pip2 or pip3 if you have that installed)? Is &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/30742/nrfutil-dfu-serial-return-typeerror-nonetype-object-is-not-iterable/122391#122391"&gt;this&lt;/a&gt; relevant?&lt;/p&gt;
[quote user=""]After updating the Bootloader and Softdevice, will still the old bootloader handle the application update or is already the new bootloader started?[/quote]
&lt;p&gt;Yes. When you have a combined BL + SD + app update, the BL + SD is updated first, and after resetting the MBR activates/copies the BL + SD in place. This means that the new bootloader is used to update the application.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>