<?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>Thread SDK / OTA bug</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/71115/thread-sdk-ota-bug</link><description>I merged in some of my code to the examples/thread/dfu/client in the v4.1.0 SDK for Thread and Zigbee. After getting OTA DFU working, I moved onto some commissioning related stuff. I spent several days trying to figure out why I could not join my 52840DK</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 10 Mar 2021 09:31:58 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/71115/thread-sdk-ota-bug" /><item><title>RE: Thread SDK / OTA bug</title><link>https://devzone.nordicsemi.com/thread/298929?ContentTypeID=1</link><pubDate>Wed, 10 Mar 2021 09:31:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d4d6fcd7-01f9-443f-8bd2-de550a162143</guid><dc:creator>Piotr Szkotak</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/members/krbvroc1"&gt;krbvroc1&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;Thanks for your patience.&lt;/p&gt;
&lt;p&gt;The issue is related to the heap memory. Both DFU and Thread Commissioning use the mem manager to allocate the memory.&lt;/p&gt;
&lt;p&gt;The following changes in the sdk_config.h solve the problem with the Thread DFU Client Commissioning.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 4 (line 1982).&lt;/p&gt;
&lt;p&gt;#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 28 (line 1996).&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Please note that if your application uses the memory allocated by the memory manager this values may not be sufficient.&lt;/p&gt;
&lt;p&gt;In that case I recommend to switch on logging (#define MEM_MANAGER_CONFIG_LOG_ENABLED 1) and possibly limit the number of log messagess with setting the default log level to error for all components (#define NRF_LOG_DEFAULT_LEVEL 1).&lt;/p&gt;
&lt;p&gt;Then I would modify the mem_manager.c:719 to:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;        NRF_LOG_ERROR(&amp;quot;Memory reservation result %d, memory %p, size %d!&amp;quot;,
                err_code,
                (uint32_t)(*pp_buffer),
                (*p_size));&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Then the RTT console would nicely report what buffer allocation failed and you can increase the count of those.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Piotr Szkotak&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread SDK / OTA bug</title><link>https://devzone.nordicsemi.com/thread/294043?ContentTypeID=1</link><pubDate>Thu, 11 Feb 2021 16:07:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4d7974a4-b1e6-4a34-91fd-d1f1a373a3c5</guid><dc:creator>krbvroc1</dc:creator><description>&lt;p&gt;Here you go...&lt;/p&gt;
&lt;p&gt;&lt;a href="https://gist.github.com/krbvroc1/7fc4624d0fc15183352fdf8fb268b3fd#file-joinfail_dtls-pcapng"&gt;JoinFail_DTLS.pcapng&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://gist.github.com/krbvroc1/7fc4624d0fc15183352fdf8fb268b3fd#file-joinsuccess_dtls-pcapng"&gt;JoinSuccess_DTLS.pcapng&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread SDK / OTA bug</title><link>https://devzone.nordicsemi.com/thread/293911?ContentTypeID=1</link><pubDate>Thu, 11 Feb 2021 08:58:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:388fff30-af73-4705-969d-9b7f7d3b4119</guid><dc:creator>Achim Kraus</dc:creator><description>&lt;p&gt;Just, if providing the captures it too complex, you may also get some textual copies by selecting a item an use the context menu for &amp;quot;copy -&amp;gt; All visible selected tree items&amp;quot;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;Cipher Suites (1 suite)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 (0xc0ae)

Extension: supported_groups (len=6)
    Type: supported_groups (10)
    Length: 6
    Supported Groups List Length: 4
    Supported Groups (2 groups)
        Supported Group: secp256r1 (0x0017)
        Supported Group: secp384r1 (0x0018)

Extension: signature_algorithms (len=6)
    Type: signature_algorithms (13)
    Length: 6
    Signature Hash Algorithms Length: 4
    Signature Hash Algorithms (2 algorithms)
        Signature Algorithm: ecdsa_secp256r1_sha256 (0x0403)
            Signature Hash Algorithm Hash: SHA256 (4)
            Signature Hash Algorithm Signature: ECDSA (3)
        Signature Algorithm: rsa_pkcs1_sha256 (0x0401)
            Signature Hash Algorithm Hash: SHA256 (4)
            Signature Hash Algorithm Signature: RSA (1)
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;That&amp;#39;s an example with the cipher suite list (1)&lt;/p&gt;
&lt;p&gt;though it uses ecdsa/ecdhe with the supported groups,&lt;/p&gt;
&lt;p&gt;though it uses ecdsa with the supported signature algorithms,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread SDK / OTA bug</title><link>https://devzone.nordicsemi.com/thread/293908?ContentTypeID=1</link><pubDate>Thu, 11 Feb 2021 08:45:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e838dceb-704e-42e8-8677-8ff62b4b1193</guid><dc:creator>Achim Kraus</dc:creator><description>&lt;p&gt;&amp;quot;pretty close&amp;quot; or &amp;quot;identical&amp;quot;?&lt;/p&gt;
&lt;p&gt;The success of the handshake depends not only on the list of cipher suites, for some there are additional parameters, which may cause the &amp;quot;incompatibility&amp;quot;.&lt;/p&gt;
&lt;p&gt;Just if you want, you may zip the capture(s) of two client_hellos and provide this somehow to me. On way to do that would be to create an issue in &amp;quot;Eclipse/Californium&amp;quot;&amp;#39;s github and &amp;quot;drag and drop&amp;quot; the zipped capture there. Please ensure, you only provide the two client_hellos and not other traffic!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread SDK / OTA bug</title><link>https://devzone.nordicsemi.com/thread/293873?ContentTypeID=1</link><pubDate>Wed, 10 Feb 2021 23:45:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bd11b5d5-184a-4c5b-bc70-9dc02e7966ab</guid><dc:creator>krbvroc1</dc:creator><description>&lt;p&gt;The DTLS Client Hello is pretty close to identical. The one difference is that in the successful handshake, according to Wireshark, the successful handshake contains an extra 334 bytes at the end. Wireshark labels that as an Extension of Unknown type 256 that contains 330 bytes. The failed example is missing that part of the Client Hello. Other than that, everything else appears identical.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread SDK / OTA bug</title><link>https://devzone.nordicsemi.com/thread/293632?ContentTypeID=1</link><pubDate>Tue, 09 Feb 2021 19:25:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f941ca5d-c90c-4e7c-85d1-311f1c7dfe97</guid><dc:creator>Achim Kraus</dc:creator><description>&lt;p&gt;Such failures are mostly caused by not proper setup/configured dtls-libraries. Maybe you need to enable the right cipher suites (and disable the not supported ones in order to get a small hello_client),&lt;/p&gt;
&lt;p&gt;If you&amp;#39;re able to capture a successful handshake and the failing one, I may check, what I see.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not sure, if this short instructions work in your case&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/eclipse/californium/wiki/Logs-and-IP-Capturing-%E2%80%90-How-To-Provide-The-Right-Information"&gt;Logs and IP Capturing ‐ How To Provide The Right Information &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;but at least, it&amp;#39;s point to start.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread SDK / OTA bug</title><link>https://devzone.nordicsemi.com/thread/293373?ContentTypeID=1</link><pubDate>Mon, 08 Feb 2021 14:49:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:67546198-85a3-4671-a563-957a46624b75</guid><dc:creator>krbvroc1</dc:creator><description>&lt;p&gt;I have setup a border router with some debugging information. I am finding the following error message on the border router when commissioning fails. I am 99% sure it is somehow related to nrf_security being initialized / used. Maybe this helps whomever is researching it.&lt;/p&gt;
&lt;p&gt;SECURITY: SSL - None of the common ciphersuites is usable (eg, no suitable certificate, see debug messages)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread SDK / OTA bug</title><link>https://devzone.nordicsemi.com/thread/293172?ContentTypeID=1</link><pubDate>Fri, 05 Feb 2021 17:02:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fbea60b4-97bd-4b16-b17a-57e8834a2779</guid><dc:creator>krbvroc1</dc:creator><description>&lt;p&gt;In your experience, how long before I should expect some workaround or fix? As I mentioned in one of my responses, because I had to rewrite all my CoAP interface code to use the IoT CoAP stack rather than the Openthread CoAP stack, I am left in a situation where I cannot proceed with development of the two feature I am currently working on... Thread DFU updates and Device commissioning.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread SDK / OTA bug</title><link>https://devzone.nordicsemi.com/thread/292964?ContentTypeID=1</link><pubDate>Thu, 04 Feb 2021 15:16:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e048d83f-6b9c-4511-a6f0-8514d7ed7828</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;I have recreated the problem on my setup, and have created an internal report of the issue.&lt;/p&gt;
&lt;p&gt;Will get back to you as soon as I have some more information to share.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread SDK / OTA bug</title><link>https://devzone.nordicsemi.com/thread/292290?ContentTypeID=1</link><pubDate>Mon, 01 Feb 2021 14:49:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:84134411-3cf5-4ba3-84b5-f737888a5df2</guid><dc:creator>krbvroc1</dc:creator><description>&lt;p&gt;The thread/cli example (which does not use the nrf_crypto libraries) works fine. That was my initial baseline, but I had to rebase my code to the thread/dfu/client to add background OTA DFU behavior. It was a lot of work too because it meant I needed to rewrite all my code to use the IoT CoAP stack rather than the Openthread CoAP stack to coexists. Regardless, I found the problem easy to reproduce as I describe above. Thanks and looking forward to a solution so i can continue development.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread SDK / OTA bug</title><link>https://devzone.nordicsemi.com/thread/292286?ContentTypeID=1</link><pubDate>Mon, 01 Feb 2021 14:44:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e511534d-479d-4ffc-8035-47c73da15c6e</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I will try to reproduce this behavior, but just wanted to ask first if you have reproduced this with any other examples (for instance the CLI example), or if it only happens with the DFU client examples?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Jørgen&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>