<?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>BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/29769/ble-disconnection-doing-connection-update-procedure</link><description>Hi Nordic guys, 
 we are observing a strange behavior. Here some background on the project: 
 
 we are developing a peripheral device that asks via L2CAP signalling connection param update; 
 we are using nrf51822 with SDK 6.0 and SoftDevice 7.1.0</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 13 Apr 2017 18:06:25 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/29769/ble-disconnection-doing-connection-update-procedure" /><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118021?ContentTypeID=1</link><pubDate>Thu, 13 Apr 2017 18:06:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:650ef323-acec-483c-bf74-629bc6800c53</guid><dc:creator>Craig Carlson</dc:creator><description>&lt;p&gt;Were the phone manufacturers ever told of this issue as it is still occurring in the field on these phones??
(abrupt disconnects due to incorrect Connection Update timing.)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118018?ContentTypeID=1</link><pubDate>Tue, 13 Oct 2015 11:50:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b87827d7-a011-4572-b4f6-782859896551</guid><dc:creator>Stefan Birnir Sverrisson</dc:creator><description>&lt;p&gt;Yes, that is our suspicion, as time goes by the slave (nrf51) will widen its RX window as long as no packet is received from master and the RX window will eventually be large enough to capture the packet sent from master.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118020?ContentTypeID=1</link><pubDate>Tue, 13 Oct 2015 11:43:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:64c7b40d-e6be-4021-9d62-c11959c20240</guid><dc:creator>roberto</dc:creator><description>&lt;p&gt;Based on exchanged comments the issue is on phone that is sending first packet after connection update with not the right timing and so slave (the Nordic based device) can not listen it having a link timeout.&lt;/p&gt;
&lt;p&gt;Nordic is correctly behaving.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118017?ContentTypeID=1</link><pubDate>Tue, 13 Oct 2015 11:38:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cf91587e-e659-40a2-9e32-a614e30b4bf0</guid><dc:creator>roberto</dc:creator><description>&lt;p&gt;Stefan,&lt;/p&gt;
&lt;p&gt;ok I didn&amp;#39;t pay attention to the ppm in connection request and did not check it vs the first packet sent.
So the windowWidening is computed by Nordic as
(50ppm+slaveSCA (the nordic one))/1000000+ 637ms (time since lastAnchor)&lt;/p&gt;
&lt;p&gt;Since Phone send packet 1.25 ms in advance it means its ppm is much more the reported 50ppm (actually 1500 is greater tan 500ppm that seems max one).
I see so agree it is phone issue... that may be fixed in later update of phone.&lt;/p&gt;
&lt;p&gt;Just wondering how in third case where on connection update there is still the 600ms of gap, nordic is not listening correctly but able to get packet from master after 4 seconds.... maybe the drifting or the windowWidening become large enough to get the packet.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118014?ContentTypeID=1</link><pubDate>Mon, 12 Oct 2015 13:37:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5fad79ec-bf18-4b9d-bb28-4158e5bc8f06</guid><dc:creator>Stefan Birnir Sverrisson</dc:creator><description>&lt;p&gt;@roberto We have examined your sniffer file a little&lt;/p&gt;
&lt;p&gt;when the Android phone delays its connection update request packet ~700ms, then the connection update request packet is sent ~1.5 ms before the connection event. This packet is sent before the nRF51 turns on its RX radio to listen for the packet. The nRF51 compensates for reported clock drift of the master (the Android phone) , and the reported accuracy in the connection packet is 50 ppm. the actual accuracy is however ~1500 ppm when the packet is arriving 1,5ms before the scheduled connection event. The window widening of the nRF51 will eventually make the nRF51 RX window large enough to catch the sent packet and will then respond to the master.&lt;/p&gt;
&lt;p&gt;So we see this as a normal response from the nRF51 side. The problem seems to be on Android side, which sends the connection parameter update packet too early, apparently because the master clock drift is much larger than reported.&lt;/p&gt;
&lt;p&gt;I can only speculate why this behavior is visible in different types of phones, but as a guess, perhaps these failed phones have the same BLE chip type inside, making the bug appear on different phone types. The good news is that the problem seems to be fixed, at least in some cases, by updating the Android version for the phones in question.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118013?ContentTypeID=1</link><pubDate>Mon, 12 Oct 2015 13:03:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6ded3c26-2dbb-4276-9469-90adbd244a15</guid><dc:creator>Stefan Birnir Sverrisson</dc:creator><description>&lt;p&gt;@roberto. Thanks, we will examine your sniffer files further.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118012?ContentTypeID=1</link><pubDate>Mon, 12 Oct 2015 11:19:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c64eefbc-eb23-4871-8c11-3642e43d2009</guid><dc:creator>roberto</dc:creator><description>&lt;p&gt;@ Stefan,&lt;/p&gt;
&lt;p&gt;done: Case ID	24724&lt;/p&gt;
&lt;p&gt;thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118011?ContentTypeID=1</link><pubDate>Mon, 12 Oct 2015 11:06:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ae406c63-ef83-436d-b277-66436f8893c1</guid><dc:creator>Stefan Birnir Sverrisson</dc:creator><description>&lt;p&gt;@roberto For this purpose, can you create a support case on the nordicsemi.com website and attach your Frontline sniffer files? That will only be visible to Nordic technical support. Log in, go to my page and press &amp;quot;Register a new case&amp;quot; On the support case, refer to this devzone thread. You can nofity me on this thread when you have created the support case, so I can spot it and work furhter on this with Pål.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118015?ContentTypeID=1</link><pubDate>Mon, 12 Oct 2015 10:26:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1b50485b-e763-4a24-8c0a-55bd2beb3417</guid><dc:creator>roberto</dc:creator><description>&lt;p&gt;@Pal,   yes it could be possible but I would prefer to send it separately via mail. The reason is that the product is for a tier-1 customer and so from BD address (that is assigned to them) and Service Discovery procedure it is possible to know WHO is developing WHAT and I would avoid attach to a public forum.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118016?ContentTypeID=1</link><pubDate>Mon, 12 Oct 2015 10:04:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fb8ad753-5f1b-4e51-8ae5-70f744135580</guid><dc:creator>P&amp;#229;l H&amp;#229;land</dc:creator><description>&lt;p&gt;@roberto, could you please provide the Frontline sniffer files so that we could browse them easier?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118009?ContentTypeID=1</link><pubDate>Wed, 07 Oct 2015 10:53:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:92e0fe6f-3044-438f-a195-3ca40b01ed7a</guid><dc:creator>Stefan Birnir Sverrisson</dc:creator><description>&lt;p&gt;@roberto  No worries, I can now identify the NESN and SN fields in the sniffer data, sorry for the confusion. Thanks for your clarification&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118019?ContentTypeID=1</link><pubDate>Wed, 07 Oct 2015 09:51:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dde78f33-39fe-4308-85fa-46459c5bfa92</guid><dc:creator>roberto</dc:creator><description>&lt;p&gt;@Stephan,&lt;/p&gt;
&lt;p&gt;sorry if cut&amp;amp;paste text is not clear. See below some explanation (basically is the side column, I made a type error indicating it as Sede :( )&lt;/p&gt;
&lt;p&gt;40,373	26 	0x88d1351e	0x00b2	1	Empty&lt;/p&gt;
&lt;p&gt;--&amp;gt; 40,373 is #ofFrame,... 0x00b2 is connEvt where to move to new conn params and  &amp;#39;1&amp;#39; is indicating the Master side &amp;#39;2&amp;#39; indicate slave one&lt;/p&gt;
&lt;p&gt;so isolating this instant we have:&lt;/p&gt;
&lt;p&gt;FRAME      CH     ACCESS ADD    EVT CNT   Side    LLID      NESN   SN    MD&lt;/p&gt;
&lt;p&gt;40,373	26 	0x88d1351e	0x00b2	1	Empty	1	1	0     --&amp;gt; packet from Master when change conn params&lt;/p&gt;
&lt;p&gt;40,374	26 	0x88d1351e	0x00b2	2	Empty	0	1	0     --&amp;gt; slave ack it in same connEvt (side ==2)&lt;/p&gt;
&lt;p&gt;40,887	 8 	0x88d1351e	0x00b9	1	Empty	0	0	0     --&amp;gt; from here no ack from slave; note the gap 0xb9-0xb2&lt;/p&gt;
&lt;p&gt;40,952	16 	0x88d1351e	0x00ba	1	Empty	0	0	0&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;43,593	16 	0x88d1351e	0x00df	1	Empty	0	0	0&lt;/p&gt;
&lt;p&gt;43,594	16 	0x88d1351e	0x00df	2	Empty	1	0	0    --&amp;gt; finally it is acked&lt;/p&gt;
&lt;p&gt;Let me know if it is clear.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118010?ContentTypeID=1</link><pubDate>Wed, 07 Oct 2015 09:22:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8ed59cc7-bba3-40ed-931b-4d83654f02bb</guid><dc:creator>Stefan Birnir Sverrisson</dc:creator><description>&lt;p&gt;@roberto  Thanks for your clarification.&lt;/p&gt;
&lt;p&gt;One question. In your attached sniffer trace, how do you see in 3rd case if the packet contains ack or not from the slave. I see that you have marked the packet from the slave with &amp;quot;--&amp;gt;&amp;quot; indicating that an ack is expected but not received and then marked &amp;quot;--&amp;gt; first ack&amp;quot; some seconds later. Is there anything in the sniffer data that indicates if an acknowledge is sent by the slave or not, other than your comment?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118008?ContentTypeID=1</link><pubDate>Tue, 06 Oct 2015 13:27:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:37e40331-5848-4f84-a7da-c38a7c3b5cf4</guid><dc:creator>roberto</dc:creator><description>&lt;p&gt;Hi Stefan,
any news on this?
let me know if you need more information from my side or if the case is clear.
To me the phone is misbehaving in not sending out packets on first connection event after new connection parameters being applied... anyway the gap is less then Logical Link timeout so Nordic side, if correctly listening, it should be able to acknowledge the first packet sent by phone after resuming from its strange state.
Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118007?ContentTypeID=1</link><pubDate>Thu, 01 Oct 2015 21:18:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:103cabfc-ed9e-44eb-ae65-69b2487d0b38</guid><dc:creator>Stefan Birnir Sverrisson</dc:creator><description>&lt;p&gt;Thanks for the detailed information. I will report back within a few days what I find out on our side&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118006?ContentTypeID=1</link><pubDate>Thu, 01 Oct 2015 14:47:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9543f1e0-5859-4d46-ba4a-81afb5df8129</guid><dc:creator>roberto</dc:creator><description>&lt;p&gt;Hi Stefan,
thanks to follow up.
Actually with most of Android phones we do not have this issue, simply because the phone send packet w/o the gap explained on step 3 (actually they act as described in step 2).
Just to give you some phones:
Sony	Z3	5.1.1
Sony	Z2	5.0.2
Sony	E3	4.4.2
Samsung	S6	5.1.1
Samsung	Galaxy S4	5.0.1
Samsung	Galaxy S4	4.4.2
Sansung	Galaxy S5	4.4.2
Samsung	Galaxy S5	5
Motorola	Nexus 6	5.1.1
Motorola	Moto G - 2014	5.1.1
Motorola	Moto X - 2014	5.1.1
Motorola	Moto E -2013	4.4
Motorola	Moto XT1085	5.0.2
LG	G3	5.0.2
LG	Nexus 5	6.0 (M preview 3)
LG	Nexus 5	5.1.1
LG	Nexus 5	4.4.2
HTC	M8	4.4.3
HTC	M8	5.0.1
XiaoMi	Mi4	4.4.4
ASUS	Zenphone 2 5.0.1&lt;/p&gt;
&lt;p&gt;as you see the list contains also reported problematic phones but it sounds like problematic sample has different model, like Moto X it fails on  Model : XT1085 but not on Model: XT1092.&lt;/p&gt;
&lt;p&gt;Let me know if you need more info
Roberto&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118005?ContentTypeID=1</link><pubDate>Thu, 01 Oct 2015 14:37:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e13370a7-6802-4740-b213-003e99ae73d3</guid><dc:creator>Louis</dc:creator><description>&lt;p&gt;Hello Stefan,
No I had not opened a case because this issue had disappeared when I had updated the MotoX 2013 with the lollipop.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118004?ContentTypeID=1</link><pubDate>Thu, 01 Oct 2015 12:39:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c62b1134-ce61-4915-b046-6a6ab70259b2</guid><dc:creator>Stefan Birnir Sverrisson</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;@Roberto  Thank you for you observation. I will try to have this investigated on our side&lt;/p&gt;
&lt;p&gt;Did you have this to work properly with other Android phones? If so, which phones and Android versions?&lt;/p&gt;
&lt;p&gt;@Louis Have you asked a devzone question for your SD 130 8.0 issue? If so, which question?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118003?ContentTypeID=1</link><pubDate>Wed, 30 Sep 2015 12:52:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:56482b55-8b24-4084-9b6b-e791f1206de9</guid><dc:creator>Louis</dc:creator><description>&lt;p&gt;Hello Roberto,&lt;/p&gt;
&lt;p&gt;We have experienced a similar issue on SD 130 8.0 with phones that introduce this gap after the connection update.  I am waiting for the investigation from the Nordic team, like you.&lt;/p&gt;
&lt;p&gt;Louis&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE: disconnection doing connection update procedure</title><link>https://devzone.nordicsemi.com/thread/118002?ContentTypeID=1</link><pubDate>Tue, 29 Sep 2015 07:24:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fb43a5d5-2ab1-4cd4-b4fd-af461d58397d</guid><dc:creator>roberto</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;has someone looked into this issue?
Is the problem clear for you Nordic guys? Should I provide more information?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Roberto&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>