<?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>Android GATT 133 error</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/33313/android-gatt-133-error</link><description>Hi. I&amp;#39;m using nRF52832, SDK13.0.0, S132. 
 
 First of all, I already know this Q has lots of Q and A. 
 But I&amp;#39;m so confused which case do I pick. 
 
 In my case, iPhone has no problem with connection and disconnection. 
 But only Android has problems</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 29 Sep 2020 13:46:07 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/33313/android-gatt-133-error" /><item><title>RE: Android GATT 133 error</title><link>https://devzone.nordicsemi.com/thread/272086?ContentTypeID=1</link><pubDate>Tue, 29 Sep 2020 13:46:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:845c1568-a0d3-44da-9194-896bbe8d806e</guid><dc:creator>victor passe</dc:creator><description>&lt;p&gt;Can this fix be applied on S110 V8.0 also?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Android GATT 133 error</title><link>https://devzone.nordicsemi.com/thread/141692?ContentTypeID=1</link><pubDate>Fri, 27 Jul 2018 13:01:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:057bd786-67a8-4fe8-9750-4fc258726ba9</guid><dc:creator>Mttrinh</dc:creator><description>&lt;p&gt;No, not that i&amp;#39;m aware of at least.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Android GATT 133 error</title><link>https://devzone.nordicsemi.com/thread/141193?ContentTypeID=1</link><pubDate>Tue, 24 Jul 2018 15:10:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0d036ebd-c8dd-453e-b8ac-15c06711e035</guid><dc:creator>howard n2wx</dc:creator><description>&lt;p&gt;The question came up as part of a hunt for a workaround when using a Moto Android. Has the root cause of the Moto and Error 133 GATT been identified?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Android GATT 133 error</title><link>https://devzone.nordicsemi.com/thread/141179?ContentTypeID=1</link><pubDate>Tue, 24 Jul 2018 14:12:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:84b53d72-f35f-4529-8956-995ff499b1f9</guid><dc:creator>Mttrinh</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;This compatibility mode was removed for the s132 5.0.0 when we added support for overlapping procedures. So this should be enabled by default in the SoftDevice. For most LL control procedures, if the peer has initiated a procedure and then initiates one of the simple procedures (either version ind, feature req or LE ping) the SoftDevice handles the overlapping procedures.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Android GATT 133 error</title><link>https://devzone.nordicsemi.com/thread/140576?ContentTypeID=1</link><pubDate>Wed, 18 Jul 2018 20:59:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c29a2a94-7fe6-46e6-b641-c927de352369</guid><dc:creator>howard n2wx</dc:creator><description>&lt;p&gt;Hello Mttrinh,&lt;/p&gt;
&lt;p&gt;Compat mode 2 doesn&amp;#39;t seem to be present in s132 6.0. Is there another way to invoke it in 6.0?&lt;/p&gt;
&lt;p&gt;Thanks, Howard&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Android GATT 133 error</title><link>https://devzone.nordicsemi.com/thread/128189?ContentTypeID=1</link><pubDate>Fri, 13 Apr 2018 08:48:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9f0bc414-810e-47d4-af94-122b00690d30</guid><dc:creator>Mttrinh</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;This is a known issue with Android, we have had similiar issues where error 133 is returned. In those case we had sniffer traces, and saw that the phone first sent a LL_VERSION_IND and then it sent a LL_FEATURE_REQ&amp;nbsp;&lt;em&gt;before&lt;/em&gt;&amp;nbsp;the peripheral had sent its LL_VERSION_IND. In other words, the phone initiated a seconds&amp;nbsp;LL Control Procedure before the first is finished, and this is a clear violation of the Bluetooth&amp;nbsp;specification. The SoftDevice will disconnect at this point.&lt;/p&gt;
&lt;p&gt;The Bluetooth Specification Version 4.2 [Vol 6, Part B] Chapter 5 (page 2634), the second paragraph states the following:&lt;/p&gt;
&lt;p&gt;&amp;quot;...For all other Link Layer Control Procedures, only one Link Layer Control Procedure shall be initiated in the Link Layer at a time per connection per device. A new Link Layer Control Procedure can be initiated only after a previous Link Layer Control Procedure has completed.&amp;nbsp;...&amp;quot;&lt;/p&gt;
&lt;p&gt;Can you try the sniffer and see if this is the case for you too?&lt;/p&gt;
&lt;p&gt;To solve this issue we added Compatibility mode 2 to the softdevice.&lt;/p&gt;
&lt;p&gt;So If your case turns out to be the same you can enable&amp;nbsp;Compatibility Mode 2 by adding this:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;ble_opt_t ble_opt;

memset(&amp;amp;ble_opt, 0, sizeof(ble_opt));

ble_opt.gap_opt.compat_mode_2.enable = 1;

err_code = sd_ble_opt_set(BLE_GAP_OPT_COMPAT_MODE_2,&amp;amp;ble_opt);

APP_ERROR_CHECK(err_code);&lt;/pre&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>