<?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>OTA DFU CRC check taking too long</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/39102/ota-dfu-crc-check-taking-too-long</link><description>Hello, 
 I have implemented OTA DFU for Xamarin based on the implementation of Nordic&amp;#39;s official library for Android . It works in general, but I&amp;#39;m seeing a bottleneck in CRC checking. Namely, after each batch is sent (4kB in my case), command 0x03 is</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 03 Oct 2018 07:35:49 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/39102/ota-dfu-crc-check-taking-too-long" /><item><title>RE: OTA DFU CRC check taking too long</title><link>https://devzone.nordicsemi.com/thread/151346?ContentTypeID=1</link><pubDate>Wed, 03 Oct 2018 07:35:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4e1e4a5f-7110-4d87-b054-80123c0ef907</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;I was referring to the nRF5x SDK used on the Nordic side, not the Android SDK.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can use the nRF Sniffer SW + a NRF52 DK/nRF51 Dongle to capture a sniffer trace of the on air packets, see the &lt;a href="https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF-Sniffer"&gt;nRF Sniffer page&lt;/a&gt; on our site for more information and download of the sniffer FW.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Make sure that you use the&amp;nbsp;&lt;a href="https://www.nordicsemi.com/eng/nordic/download_resource/65225/4/81443777/136163" rel="noopener noreferrer" target="_blank"&gt;nRF-Sniffer-v2&lt;/a&gt;&amp;nbsp;firmware. The use of the nRF Sniffer is covered in the&amp;nbsp;&lt;a href="https://www.nordicsemi.com/eng/nordic/download_resource/65244/3/41817114/136165" rel="noopener noreferrer" target="_blank"&gt;nRF-Sniffer-UG-v2&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Bjørn&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA DFU CRC check taking too long</title><link>https://devzone.nordicsemi.com/thread/151280?ContentTypeID=1</link><pubDate>Tue, 02 Oct 2018 15:15:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d7be4502-8dc4-43b0-81e8-2469c10a9712</guid><dc:creator>Aleksandar Kahriman</dc:creator><description>&lt;p&gt;Hello&amp;nbsp;&lt;span&gt;Bj&amp;oslash;rn,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thank you for the quick reply. I am not sure which connection interval am I using nor am I sure weather I can extract that information from the Android SDK. The client is a Google Pixel II phone if it means anything to you. BLE packet size is 20 bytes, so I&amp;#39;m sending 4kB 20 bytes at a time, which takes me less time than the CRC command (0x03). As for SDK, I&amp;#39;m not using any SDK since no SDK exists for Xamarin, but I took special care to implement the protocol the same way you guys did in your Android SDK.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Can you please explain to me how to capture a sniffer trace of the on air packets?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Aleksandar&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA DFU CRC check taking too long</title><link>https://devzone.nordicsemi.com/thread/151278?ContentTypeID=1</link><pubDate>Tue, 02 Oct 2018 15:01:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:75b50aea-4037-4796-b9ec-688c77c4349c</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi Aleksandar,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;which SDK version are you using? Which connection interval are you using?&lt;/p&gt;
&lt;p&gt;1.5 - 2 seconds for calculating the CRC of a 4kB chunk sounds way to much. The 4kB chunk will be divided into smaller chunks that will fit inside the MTU of the bluetooth packet. The CRC of each of these packets will be calculated on the fly, so when the 0x03 command is sent to the DFU target, the CRC calculation should be ready.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Would it be possible for you to capture a sniffer trace of the on air packets?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Best regards&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Bj&amp;oslash;rn&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>