<?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>nrfutil 6.1.0 on raspberry pi 4 -- what SD API version to use?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/76870/nrfutil-6-1-0-on-raspberry-pi-4----what-sd-api-version-to-use</link><description>Hi 
 I want to use nrfutil as a command line tool on a Raspberry Pi 4 box. 
 Out of the box, I could not install nrfutil (missing drivers?) compatible with Python3 so I tried Python 2. I was able to install nrfutil but could not run it -- kept getting</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 08 Jul 2021 17:30:10 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/76870/nrfutil-6-1-0-on-raspberry-pi-4----what-sd-api-version-to-use" /><item><title>RE: nrfutil 6.1.0 on raspberry pi 4 -- what SD API version to use?</title><link>https://devzone.nordicsemi.com/thread/319245?ContentTypeID=1</link><pubDate>Thu, 08 Jul 2021 17:30:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:75cbbe25-0c73-460d-897b-4abdfae7211a</guid><dc:creator>RVM</dc:creator><description>[quote userid="4240" url="~/f/nordic-q-a/76870/nrfutil-6-1-0-on-raspberry-pi-4----what-sd-api-version-to-use/317792#317792"]pc_ble_driver_py-0.15.0-cp37-cp37m-linux_armv7l.whl[/quote]
&lt;p&gt;Just a suggestion based on my use case.&lt;/p&gt;
&lt;p&gt;The top level function raises exceptions for different kinds of failures.&lt;/p&gt;
&lt;p&gt;Specifically, the &amp;#39;NordicSemiException&amp;#39; generates descriptive error messages but those are quite verbose and different to match even with regular expressions.&lt;/p&gt;
&lt;p&gt;However, this class also has the attribute ErrorCode which is currently always set to &amp;#39;None&amp;#39;. It would be helpful if this attribute could be updated with perhaps some integral values to designate specific errors so that the callee can quickly distinguish betwee the error conditions and take corrective action.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil 6.1.0 on raspberry pi 4 -- what SD API version to use?</title><link>https://devzone.nordicsemi.com/thread/318118?ContentTypeID=1</link><pubDate>Thu, 01 Jul 2021 08:33:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8b5ac75b-eff1-4411-9b6a-bf90eaff2a4e</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Good to hear. Thanks for confirming that it worked.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil 6.1.0 on raspberry pi 4 -- what SD API version to use?</title><link>https://devzone.nordicsemi.com/thread/318057?ContentTypeID=1</link><pubDate>Thu, 01 Jul 2021 00:30:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:33d23709-72c0-4e43-9459-85e3ff9e42b1</guid><dc:creator>RVM</dc:creator><description>&lt;p&gt;Disabling the Mass Storage Device seems to work. Just one note though that the JLink for ARM is different from JLink for Linux-32 bit (which is what I tried initially but got an architecture mismatch).&lt;/p&gt;
&lt;p&gt;Thanks for all your help, Vidar.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil 6.1.0 on raspberry pi 4 -- what SD API version to use?</title><link>https://devzone.nordicsemi.com/thread/317843?ContentTypeID=1</link><pubDate>Wed, 30 Jun 2021 06:43:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e14be2d5-8f63-4d81-9318-d734ed3564bf</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;I was doing DFU with nrfutil v.6.1.0 and everything appeared to be stable. However, I was using the nRF52840 Dongle with the built-in nRF USB and not a dev kit with the J-link USB. Have you disabled the Mass Storage class on your&amp;nbsp; J-link: &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/tools/nordic_segger.html#nordic-segger-msd"&gt;https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/tools/nordic_segger.html#nordic-segger-msd&lt;/a&gt;?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil 6.1.0 on raspberry pi 4 -- what SD API version to use?</title><link>https://devzone.nordicsemi.com/thread/317812?ContentTypeID=1</link><pubDate>Tue, 29 Jun 2021 23:37:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0cb72d56-9df6-4cb0-9f8f-4c846ab07feb</guid><dc:creator>RVM</dc:creator><description>&lt;p&gt;Have a follow up question. &lt;br /&gt;I am now able to get my Raspberry Pi to talk to the nRF52 DK board and have it discover a remote device that I want to update using the Nordic DFU protocol.&lt;/p&gt;
&lt;p&gt;I have been able to make this happen on a windows platform i.e. the DK has the appropriate &amp;#39;connectivity firmware&amp;#39;. With the Pi, however, the DK board is not able to sustain the connection and execute the DFU. Initially it had an issue with the MTU (which I then overrode and set to 123). Then, it went past the point where it negotiates the MTU etc. but failed to transfer the &amp;#39;init packet&amp;#39; with this stack trace.... &lt;/p&gt;
&lt;p&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;Traceback (most recent call last):&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp; File &amp;quot;/usr/local/bin/nrfutil&amp;quot;, line 10, in &amp;lt;module&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sys.exit(cli())&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp; File &amp;quot;/usr/lib/python3/dist-packages/click/core.py&amp;quot;, line 764, in __call__&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return self.main(*args, **kwargs)&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp; File &amp;quot;/usr/lib/python3/dist-packages/click/core.py&amp;quot;, line 717, in main&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rv = self.invoke(ctx)&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp; File &amp;quot;/usr/lib/python3/dist-packages/click/core.py&amp;quot;, line 1137, in invoke&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _process_result(sub_ctx.command.invoke(sub_ctx))&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp; File &amp;quot;/usr/lib/python3/dist-packages/click/core.py&amp;quot;, line 1137, in invoke&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _process_result(sub_ctx.command.invoke(sub_ctx))&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp; File &amp;quot;/usr/lib/python3/dist-packages/click/core.py&amp;quot;, line 956, in invoke&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ctx.invoke(self.callback, **ctx.params)&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp; File &amp;quot;/usr/lib/python3/dist-packages/click/core.py&amp;quot;, line 555, in invoke&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return callback(*args, **kwargs)&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp; File &amp;quot;/usr/local/lib/python3.7/dist-packages/nordicsemi/__main__.py&amp;quot;, line 1199, in ble&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dfu.dfu_send_images()&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp; File &amp;quot;/usr/local/lib/python3.7/dist-packages/nordicsemi/dfu/dfu.py&amp;quot;, line 127, in dfu_send_images&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self._dfu_send_image(self.manifest.application)&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp; File &amp;quot;/usr/local/lib/python3.7/dist-packages/nordicsemi/dfu/dfu.py&amp;quot;, line 95, in _dfu_send_image&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.dfu_transport.send_init_packet(data)&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp; File &amp;quot;/usr/local/lib/python3.7/dist-packages/nordicsemi/dfu/dfu_transport_ble.py&amp;quot;, line 524, in send_init_packet&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.__stream_data(data=init_packet)&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp; File &amp;quot;/usr/local/lib/python3.7/dist-packages/nordicsemi/dfu/dfu_transport_ble.py&amp;quot;, line 642, in __stream_data&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.dfu_adapter.write_data_point(list(to_transmit))&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp; File &amp;quot;/usr/local/lib/python3.7/dist-packages/nordicsemi/dfu/dfu_transport_ble.py&amp;quot;, line 350, in write_data_point&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.adapter.write_cmd(self.conn_handle, DFUAdapter.DP_UUID, data)&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp; File &amp;quot;/usr/local/lib/python3.7/dist-packages/pc_ble_driver_py/ble_adapter.py&amp;quot;, line 568, in write_cmd&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; raise e&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp; File &amp;quot;/usr/local/lib/python3.7/dist-packages/pc_ble_driver_py/ble_adapter.py&amp;quot;, line 554, in write_cmd&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; response = self.driver.ble_gattc_write(conn_handle, write_params)&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp; File &amp;quot;/usr/local/lib/python3.7/dist-packages/pc_ble_driver_py/ble_driver.py&amp;quot;, line 107, in wrapper&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; error_code=err_code,&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ccffff;font-family:courier new, courier;font-size:inherit;"&gt;pc_ble_driver_py.exceptions.NordicSemiException: Failed to ble_gattc_write. Error code: NRF_ERROR_SD_RPC_NO_RESPONSE&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil 6.1.0 on raspberry pi 4 -- what SD API version to use?</title><link>https://devzone.nordicsemi.com/thread/317805?ContentTypeID=1</link><pubDate>Tue, 29 Jun 2021 20:12:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:97f37e7d-dff1-4154-9918-e0e96c88ae4f</guid><dc:creator>RVM</dc:creator><description>&lt;p&gt;Thanks Vidar. This package seems to progress further upstream and does show that it is using the API version 5 as required for the NRF52 DK (with nRF52832).&lt;br /&gt;Would it be possible to &amp;#39;release&amp;#39; this out in Nordic&amp;#39;s GitHub playground or somewhere similar?&lt;/p&gt;
&lt;p&gt;Cheers&lt;/p&gt;
&lt;p&gt;RMV&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil 6.1.0 on raspberry pi 4 -- what SD API version to use?</title><link>https://devzone.nordicsemi.com/thread/317792?ContentTypeID=1</link><pubDate>Tue, 29 Jun 2021 18:44:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7da6c5f9-dc61-40c6-a4d1-f14e61e80e1c</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Please try to install the wheel package of the pc-ble-driver-py module below and see if you still get the same nrfutil error after.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/pc_5F00_ble_5F00_driver_5F00_py_2D00_0.15.0_2D00_cp37_2D00_cp37m_2D00_linux_5F00_armv7l.whl"&gt;devzone.nordicsemi.com/.../pc_5F00_ble_5F00_driver_5F00_py_2D00_0.15.0_2D00_cp37_2D00_cp37m_2D00_linux_5F00_armv7l.whl&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is one I have built myself on a Pi4, but I don&amp;#39;t recall if I tested it with the latest version of nrfutil or not.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil 6.1.0 on raspberry pi 4 -- what SD API version to use?</title><link>https://devzone.nordicsemi.com/thread/317769?ContentTypeID=1</link><pubDate>Tue, 29 Jun 2021 14:45:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2f5c7fc5-9572-4b9a-8f78-e5c19c3e33bc</guid><dc:creator>RVM</dc:creator><description>&lt;p&gt;I followed all the steps (except adding the &amp;#39;-U&amp;#39; as a command line option in the last command in step 6).&lt;/p&gt;
&lt;p&gt;But I still get the error indicated in my original post.&lt;/p&gt;
&lt;p&gt;More importantly, your answer does not quite give me the correct &amp;#39;version&amp;#39; of the API to link to.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil 6.1.0 on raspberry pi 4 -- what SD API version to use?</title><link>https://devzone.nordicsemi.com/thread/317654?ContentTypeID=1</link><pubDate>Tue, 29 Jun 2021 09:54:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:98bb3ebc-7d92-484c-9581-5fe283699390</guid><dc:creator>&amp;#216;yvind</dc:creator><description>&lt;p&gt;Hello,&amp;nbsp;&lt;br /&gt;&lt;br /&gt;I was able to install nrfutil on&amp;nbsp;my RPi 4 by following the step 6 under &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/ug_thread_tools.html#configuring-a-radio-co-processor"&gt;the Configuring a Co-Processor chapter&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Kind regards,&lt;br /&gt;Øyvind&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>