<?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>Write Long Characteristic Values - Unsupported</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/49188/write-long-characteristic-values---unsupported</link><description>Hi, 
 I have a problem with understanding, how bits in ble_gatt_char_props_t are related with Specification of the Bluetooth System v5.1 Table 3.5: Characteristic Properties. 
 My application has characteristic with enabled only write_wo_resp (rest of</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 09 Jul 2019 17:07:01 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/49188/write-long-characteristic-values---unsupported" /><item><title>RE: Write Long Characteristic Values - Unsupported</title><link>https://devzone.nordicsemi.com/thread/197462?ContentTypeID=1</link><pubDate>Tue, 09 Jul 2019 17:07:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:60ca7873-d7f6-4c3f-8d04-9db7168b5973</guid><dc:creator>Wojciech Jasko</dc:creator><description>&lt;p&gt;Thanks a lot.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Wojtek&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Write Long Characteristic Values - Unsupported</title><link>https://devzone.nordicsemi.com/thread/197407?ContentTypeID=1</link><pubDate>Tue, 09 Jul 2019 13:31:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b6b76136-4a47-420b-ba5e-3a5fecbef463</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;From my understanding after talking to the softdevice team is:&lt;/p&gt;
&lt;p&gt;- To answer your original case description: It&amp;#39;s not invalid to handle this case even though only &lt;span&gt;write_wo_resp&amp;nbsp;&lt;/span&gt;bit is&amp;nbsp;set.&lt;/p&gt;
&lt;p&gt;- You should be able to set&amp;nbsp;BLE_GATT_STATUS_ATTERR_REQUEST_NOT_SUPPORTED (as an example) as status code in&amp;nbsp;sd_ble_gatts_rw_authorize_reply(). It&amp;#39;s in ble_gatts_authorize_params_t. So in other words set the status to an error code instead of BLE_GATT_STATUS_SUCCESS to solve your problem.&lt;/p&gt;
&lt;p&gt;Hope that helps,&lt;br /&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Write Long Characteristic Values - Unsupported</title><link>https://devzone.nordicsemi.com/thread/197199?ContentTypeID=1</link><pubDate>Mon, 08 Jul 2019 15:50:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d436962f-42b2-427b-b69d-51c8b97490b5</guid><dc:creator>Wojciech Jasko</dc:creator><description>&lt;p&gt;Yes, both init_len and max_len are set to 20. Actually, I would like to change it to higher value and still not use long writes (I wants to have higher MTU when we solve this problem).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Write Long Characteristic Values - Unsupported</title><link>https://devzone.nordicsemi.com/thread/197158?ContentTypeID=1</link><pubDate>Mon, 08 Jul 2019 13:42:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:43576202-dfae-4fce-bbba-cdd53c2aa469</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;And what have you set char_md.max_len to?&amp;nbsp; Have you set it to 20?&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><item><title>RE: Write Long Characteristic Values - Unsupported</title><link>https://devzone.nordicsemi.com/thread/196695?ContentTypeID=1</link><pubDate>Fri, 05 Jul 2019 05:46:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:25c35661-4d6d-412a-a093-817b9b69fd1c</guid><dc:creator>Wojciech Jasko</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I will try to give you steps to reproduce in Gherkin like steps:&lt;/p&gt;
&lt;p&gt;Given I am using SoftDevice s112 6.1.1 and&amp;nbsp;IOS nRF Connect Version&amp;nbsp;1.8.8&lt;/p&gt;
&lt;p&gt;And I set max ATT MTU size to 23&lt;/p&gt;
&lt;p&gt;And I have registered characteristic with a given configuration (Firmware works as a server):&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;    ble_gatts_char_md_t char_md;
    memset(&amp;amp;char_md, 0, sizeof(char_md));
    char_md.char_props.write_wo_resp = 1;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;When I connect to the device and discover services&lt;/p&gt;
&lt;p&gt;Then I find my characteristic with &lt;em&gt;write without response&lt;/em&gt;&amp;nbsp;property.&lt;/p&gt;
&lt;p&gt;When I write the value as text &amp;quot;qwertyuiopasdfghjklzxcvbnm&amp;quot; (26 bytes in total vs max 20)&lt;/p&gt;
&lt;p&gt;Then SoftDevice sends BLE_EVT_USER_MEM_REQUEST event to the application&lt;/p&gt;
&lt;p&gt;When application replies with&amp;nbsp;sd_ble_user_mem_reply(conn_handle, NULL)&lt;/p&gt;
&lt;p&gt;Then SoftDevice sends&amp;nbsp;BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST with&amp;nbsp;BLE_GATTS_AUTHORIZE_TYPE_WRITE and&amp;nbsp;BLE_GATTS_OP_PREP_WRITE_REQ to the application&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;My questions:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&amp;nbsp;Why SoftDevice asks for the memory and authorization when this procedure should not be supported (please see&amp;nbsp;&lt;em&gt;Table 3.5: Characteristic Properties&lt;/em&gt;)?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;What should application replay to this request (I do not want to support Long Writes)?&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Write Long Characteristic Values - Unsupported</title><link>https://devzone.nordicsemi.com/thread/196590?ContentTypeID=1</link><pubDate>Thu, 04 Jul 2019 13:49:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6677bc4d-ff20-4956-94e7-c4e3a4c7da6f</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Not sure if I fully understand.&amp;nbsp;Is it possible to provide a sniffer log and a frame#/screenshot of the procedure?&amp;nbsp;(For instance&amp;nbsp;I don&amp;#39;t quite understand which is server which is client, and by iOS you mean using nrf connect on iphone to send a long write request to your application? And this should be rejected?)&lt;/p&gt;
&lt;p&gt;I would think the iphone should not send the packet when it&amp;#39;s long? &amp;quot;If the &lt;em&gt;Characteristic Value &lt;/em&gt;write request is the wrong size, or has an invalid&amp;nbsp;value as defined by the profile, then the write shall not succeed and no error&amp;nbsp;shall be generated by the server.&amp;quot;&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>