<?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>NRF51822 OTA Firmware Update</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/11104/nrf51822-ota-firmware-update</link><description>I&amp;#39;m updating our bluetooth firmware and boot loader over the air from iOS and android devices. I&amp;#39;ve modified the nordic supplied update code (IOS-nRF-Toolbox project) to support updating multiple devices at once. The process works for 2-3 devices, but</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 04 Jan 2016 19:39:35 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/11104/nrf51822-ota-firmware-update" /><item><title>RE: NRF51822 OTA Firmware Update</title><link>https://devzone.nordicsemi.com/thread/41584?ContentTypeID=1</link><pubDate>Mon, 04 Jan 2016 19:39:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ddb0febe-453e-4fd6-8200-caecc99cf9fc</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Bluetooth transfers can considered a reliable transport layer as every notification packet is being acked at the link layer, and re-transmitted if not. If a packet doesn&amp;#39;t get acked it will be considered a link loss. However, on iOS you will only get a callback when the packet is successfully queued in the output buffer, but not when it&amp;#39;s actually transmitted on air. I suspect maybe the output buffer is overflowing in corebluetooth, and the app losses sync of the actual amount of data sent and received. I&amp;#39;d suggest to set the number of packets between packet receipt notifications to &amp;#39;1&amp;#39; to see if it makes any difference This will reduce the overall throughput and therefore reduce the risk of buffer overflow on the iOS side.&lt;/p&gt;
&lt;p&gt;A sniffer trace of when it fails can also provide may also be useful to better understand what&amp;#39;s happening (low cost sniffer if you already have a nrf51 dongle - &lt;a href="http://www.nordicsemi.com/eng/nordic/Products/nRF51-DK/nRF-Sniffer/38646"&gt;link&lt;/a&gt;). Also, read the swap area in flash and compare it to the binary you tried to upload to see where it got out of sync and if duplicate data is being stored.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>