<?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>nFR Connect unable to read a characteristic of length MTU - 1 (22 bytes) on iOS</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/78686/nfr-connect-unable-to-read-a-characteristic-of-length-mtu---1-22-bytes-on-ios</link><description>The tag options did not include just nRF Connect as an option so I picked something that had nRF Connect in it. This issue has nothing to do with the SDK. 
 This is a question of whether the client (iOS) or the peripheral (a health device) is wrong. When</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 19 Aug 2021 10:28:49 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/78686/nfr-connect-unable-to-read-a-characteristic-of-length-mtu---1-22-bytes-on-ios" /><item><title>RE: nFR Connect unable to read a characteristic of length MTU - 1 (22 bytes) on iOS</title><link>https://devzone.nordicsemi.com/thread/325691?ContentTypeID=1</link><pubDate>Thu, 19 Aug 2021 10:28:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0ee79dbd-3ae2-4985-801e-78a66b8809ce</guid><dc:creator>brianreinhold</dc:creator><description>&lt;p&gt;The problem is not with nRF Connect, it is a slave to iOS. What surprises me is that a company as big as Apple could have an issue with something like this...and that no one seems to know about it.&lt;/p&gt;
&lt;p&gt;But as far as you are concerned, the device (server) is behaving correctly and Apple is in error. iOS should not discard the read but give the application the 22 bytes obtained in the first read.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nFR Connect unable to read a characteristic of length MTU - 1 (22 bytes) on iOS</title><link>https://devzone.nordicsemi.com/thread/325641?ContentTypeID=1</link><pubDate>Thu, 19 Aug 2021 07:51:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e7d21866-e128-4c3c-8421-253880b15aab</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;I am not aware of any specific problem, I would assume the problem is on iOS (anywhere from app to link layer), but sniffer logs would help.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nFR Connect unable to read a characteristic of length MTU - 1 (22 bytes) on iOS</title><link>https://devzone.nordicsemi.com/thread/325588?ContentTypeID=1</link><pubDate>Wed, 18 Aug 2021 19:26:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:854d8ebe-3c08-4667-b04b-8ddcc428106e</guid><dc:creator>brianreinhold</dc:creator><description>&lt;p&gt;This is a read, not an indication/notification. And it works fine on Android. The device sending the error does not support the newer versions of Bluetooth. That should have nothing to do with this issue.&lt;/p&gt;
&lt;p&gt;The question I am asking is are you aware of this problem on iOS (with nRFConnect or any other client)?&lt;/p&gt;
&lt;p&gt;Who is wrong? The device or the client?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nFR Connect unable to read a characteristic of length MTU - 1 (22 bytes) on iOS</title><link>https://devzone.nordicsemi.com/thread/325566?ContentTypeID=1</link><pubDate>Wed, 18 Aug 2021 15:33:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:612101f7-6cdc-41fb-bcaf-3e6e4e24c381</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;22bytes was a bit odd number, maybe the error is somehow related to the max allowed MTU size if Data Length Exention (DLE) is not used?&lt;/p&gt;
&lt;p&gt;When DLE is not used, then the max allowed MTU is 20bytes, ref for instance:&amp;nbsp;&lt;br /&gt;&lt;a href="https://www.novelbits.io/bluetooth-5-speed-maximum-throughput/"&gt;https://www.novelbits.io/bluetooth-5-speed-maximum-throughput/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;quot;&lt;span&gt;The MTU value affects the amount of overhead data (specifically the ATT header which is 3 bytes). The minimum ATT MTU allowed is 27 bytes. This allows a max of 20 bytes of ATT payload (3 bytes are used for the ATT header, and 4 bytes for the L2CAP header).&lt;/span&gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;I am thinking there may be something related to the above that cause Android and iOS to behave differently, maybe one throw an error while the other workaound it in some way. Is the max length of the characteristic 22bytes? Is DLE used here?&lt;/p&gt;
&lt;p&gt;It would be interesting to get an nRF sniffer log of Android vs. iOS in this case and nRF Connect vs. your application, to check the actual commands and data on the link. Are you able to provide&amp;nbsp;4 logs by using nRF sniffer?&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.nordicsemi.com/Products/Development-tools/nrf-sniffer-for-bluetooth-le"&gt;https://www.nordicsemi.com/Products/Development-tools/nrf-sniffer-for-bluetooth-le&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/ug_sniffer_ble/UG/sniffer_ble/intro.html"&gt;https://infocenter.nordicsemi.com/topic/ug_sniffer_ble/UG/sniffer_ble/intro.html&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>