<?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>zigbee: similar issue as KRKNWK-12017</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/107861/zigbee-similar-issue-as-krknwk-12017</link><description>Hi, 
 SDK: nRF5 SDK for Thread and Zigbee v4.2.0 
 Chip: nRF52840 
 
 We&amp;#39;re experiencing a very rare behavior on an end device implementation. 
 We haven&amp;#39;t able to reproduce with logs due to the rare occurrence of the issue but we have some live instrumentation</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 15 Aug 2024 18:57:36 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/107861/zigbee-similar-issue-as-krknwk-12017" /><item><title>RE: zigbee: similar issue as KRKNWK-12017</title><link>https://devzone.nordicsemi.com/thread/498509?ContentTypeID=1</link><pubDate>Thu, 15 Aug 2024 18:57:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8a668c99-8b73-4caf-a457-5bac9c359b47</guid><dc:creator>Rogger</dc:creator><description>&lt;p&gt;Have you been able to solve the issue with a device reset after parent link failure?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: zigbee: similar issue as KRKNWK-12017</title><link>https://devzone.nordicsemi.com/thread/468525?ContentTypeID=1</link><pubDate>Tue, 13 Feb 2024 07:56:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:05e55b3f-9a85-4e23-a7a9-6f6975a93e36</guid><dc:creator>Cheb</dc:creator><description>[quote userid="92402" url="~/f/nordic-q-a/107861/zigbee-similar-issue-as-krknwk-12017/468380"]In that case, you can reset the device on the first ZB_NWK_COMMAND_STATUS_PARENT_LINK_FAILURE. Please be aware that this will make the device reset in situations where it might have been able to find the parent again or rejoin under a new parent, but it should be able to rejoin successfully on restart.[/quote]
&lt;p&gt;Thanks we have this logic under test.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: zigbee: similar issue as KRKNWK-12017</title><link>https://devzone.nordicsemi.com/thread/468380?ContentTypeID=1</link><pubDate>Mon, 12 Feb 2024 10:55:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7cf54097-d329-4d2b-9acd-1e395ecd4916</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi Sebastien,&lt;/p&gt;
&lt;p&gt;In that case, you can reset the device on the first ZB_NWK_COMMAND_STATUS_PARENT_LINK_FAILURE. Please be aware that this will make the device reset in situations where it might have been able to find the parent again or rejoin under a new parent, but it should be able to rejoin successfully on restart.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: zigbee: similar issue as KRKNWK-12017</title><link>https://devzone.nordicsemi.com/thread/467626?ContentTypeID=1</link><pubDate>Mon, 05 Feb 2024 16:22:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9b3a95a7-6cd9-4bd9-a5d5-27cc2103b489</guid><dc:creator>Cheb</dc:creator><description>[quote userid="92402" url="~/f/nordic-q-a/107861/zigbee-similar-issue-as-krknwk-12017/467593"]Do you only get ZB_NWK_COMMAND_STATUS_PARENT_LINK_FAILURE once or do you get this signal multiple times when it fails? The best option is to have a failure counter that checks how many times the device has received ZB_NWK_COMMAND_STATUS_PARENT_LINK_FAILURE, and then have a threshold for when it should reset. [/quote]
&lt;p&gt;When it fails ZB_NWK_COMMAND_STATUS_PARENT_LINK_FAILURE happens once and there are no more signals received from the zboss signal handler.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Sebastien&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: zigbee: similar issue as KRKNWK-12017</title><link>https://devzone.nordicsemi.com/thread/467593?ContentTypeID=1</link><pubDate>Mon, 05 Feb 2024 14:13:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:669f76c4-ca58-4b02-af36-f321fdead8d8</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="Cheb"]Can you check with zigbee team if it would be safe to reset the device for any parent link failure ?&lt;br /&gt;KRKNWK-12017&amp;nbsp; doesn&amp;#39;t seem top be enough.[/quote]
&lt;p&gt;Do you only get ZB_NWK_COMMAND_STATUS_PARENT_LINK_FAILURE once or do you get this signal multiple times when it fails? The best option is to have a failure counter that checks how many times the device has received ZB_NWK_COMMAND_STATUS_PARENT_LINK_FAILURE, and then have a threshold for when it should reset. &lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: zigbee: similar issue as KRKNWK-12017</title><link>https://devzone.nordicsemi.com/thread/467175?ContentTypeID=1</link><pubDate>Thu, 01 Feb 2024 13:14:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e9927a3a-3321-4df5-bbc9-896aed255127</guid><dc:creator>Cheb</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Some feedback from the tests.&lt;/p&gt;
&lt;p&gt;We added some counters that we can get via BLE and this what we observed.&lt;br /&gt;One device ran a few times into the forced rejoined and finally hit the broken rejoin case and rebooted (good)&lt;br /&gt;One other device ran into the forced rejoin once and that&amp;#39;s all. Device not visible on the network anymore.&lt;br /&gt;It seems to me that even if not in the broken rejoin logic the ZBOSS stack can be KO.&lt;br /&gt;&lt;br /&gt;Can you check with zigbee team if it would be safe to reset the device for any parent link failure ?&lt;br /&gt;KRKNWK-12017&amp;nbsp; doesn&amp;#39;t seem top be enough.&lt;br /&gt;&lt;br /&gt;FYI, a few weeks ago we managed to reproduce with the serial output and when the parent link failure happened there were no ZB sleeping event at all anymore which makes me think the stack was dead.&lt;/p&gt;
&lt;p&gt;Thx&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: zigbee: similar issue as KRKNWK-12017</title><link>https://devzone.nordicsemi.com/thread/467121?ContentTypeID=1</link><pubDate>Thu, 01 Feb 2024 10:34:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e7a54ef6-235b-48c0-90c6-80993dbb37d5</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="Cheb"]KRKNWK-12017 is clearly a production stop issue. Why hasn&amp;#39;t it be fixed by ZBoss stack ? Why the workaround isn&amp;#39;t officially integrated ?[/quote]
&lt;p&gt;The issue has been reported to DSR. However, the nRF5 SDK for Thread and Zigbee is deprecated and will not be upgraded. &lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: zigbee: similar issue as KRKNWK-12017</title><link>https://devzone.nordicsemi.com/thread/466878?ContentTypeID=1</link><pubDate>Wed, 31 Jan 2024 08:11:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b4f2c8a8-9afe-4419-a425-ed8674883035</guid><dc:creator>Cheb</dc:creator><description>&lt;p&gt;FYI&lt;br /&gt;In the current product we have 2 watchdogs, 1 periodic reset every 12 hours and the KRKNWK-12017 workaround to manage having a stable product&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: zigbee: similar issue as KRKNWK-12017</title><link>https://devzone.nordicsemi.com/thread/466877?ContentTypeID=1</link><pubDate>Wed, 31 Jan 2024 08:09:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:683104a5-8377-4105-8fb8-918daa601a51</guid><dc:creator>Cheb</dc:creator><description>[quote userid="92402" url="~/f/nordic-q-a/107861/zigbee-similar-issue-as-krknwk-12017/466874"]Yes, that should take care of both types of failures. However, I recommend testing it to verify that it works as expected.[/quote]
&lt;p&gt;Let me be clear here. It&amp;#39;s the second major issue we had with nrf52840 and Zigbee SDK 4.2.0 (released recently which was supposed to be a stable production release)&lt;/p&gt;
&lt;p&gt;We had to recall products because of stability issues of the SDK / ZBOSS stack.&lt;br /&gt;With the closed source ZBOSS stack and the binary trace it&amp;#39;s impossible to debug by ourselves and it&amp;#39;s time and resource consuming to debug with the support.&lt;br /&gt;&lt;br /&gt;KRKNWK-12017 is clearly a production stop issue. Why hasn&amp;#39;t it be fixed by ZBoss stack ? Why the workaround isn&amp;#39;t officially integrated ?&lt;br /&gt;&lt;br /&gt;I really like the software ecosystem, the SDK and such but quality should be highly prioritized in Nordic.&lt;/p&gt;
&lt;p&gt;So in conclusion, yes, don&amp;#39;t worry, we will test.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: zigbee: similar issue as KRKNWK-12017</title><link>https://devzone.nordicsemi.com/thread/466874?ContentTypeID=1</link><pubDate>Wed, 31 Jan 2024 07:46:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:482b5947-587d-4f19-82f2-74d3b32bb746</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Yes, that should take care of both types of failures. However, I recommend testing it to verify that it works as expected.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: zigbee: similar issue as KRKNWK-12017</title><link>https://devzone.nordicsemi.com/thread/466805?ContentTypeID=1</link><pubDate>Tue, 30 Jan 2024 15:38:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:950ccb96-0595-436b-bac2-c366c172beba</guid><dc:creator>Cheb</dc:creator><description>&lt;p&gt;So to handle both cases you would recommend this ?&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;case ZB_NLME_STATUS_INDICATION: {
    zb_zdo_signal_nlme_status_indication_params_t *nlme_status_ind =
        ZB_ZDO_SIGNAL_GET_PARAMS(sig_hndler, zb_zdo_signal_nlme_status_indication_params_t);
    if (nlme_status_ind-&amp;gt;nlme_status.status == ZB_NWK_COMMAND_STATUS_PARENT_LINK_FAILURE) {

        /* Check for broken rejoin procedure and restart the device to recover. */
        if (stack_initialised &amp;amp;&amp;amp; !joining_signal_received) {
            zb_reset(0);
        } else {
            bdb_start_top_level_commissioning(ZB_BDB_NETWORK_STEERING);
        }
    }
    break;&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: zigbee: similar issue as KRKNWK-12017</title><link>https://devzone.nordicsemi.com/thread/466787?ContentTypeID=1</link><pubDate>Tue, 30 Jan 2024 14:48:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6584e37f-dfee-434b-bb02-5eecd34e6ecd</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;We have a workaround for KRKNWK-12017:&lt;/p&gt;
&lt;p&gt;Complete the following steps to detect when the rejoin procedure breaks and reset the device:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Introduce helper variable &lt;code&gt;&lt;span&gt;joining_signal_received&lt;/span&gt;&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Extend &lt;code&gt;&lt;span&gt;zigbee_default_signal_handler()&lt;/span&gt;&lt;/code&gt; by completing the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Set &lt;code&gt;&lt;span&gt;joining_signal_received&lt;/span&gt;&lt;/code&gt; to &lt;code&gt;&lt;span&gt;true&lt;/span&gt;&lt;/code&gt; in the following signals: &lt;code&gt;&lt;span&gt;ZB_BDB_SIGNAL_DEVICE_FIRST_START&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span&gt;ZB_BDB_SIGNAL_DEVICE_REBOOT&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span&gt;ZB_BDB_SIGNAL_STEERING&lt;/span&gt;&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If &lt;code&gt;&lt;span&gt;leave_type&lt;/span&gt;&lt;/code&gt; is set to &lt;code&gt;&lt;span&gt;ZB_NWK_LEAVE_TYPE_REJOIN&lt;/span&gt;&lt;/code&gt;, set &lt;code&gt;&lt;span&gt;joining_signal_received&lt;/span&gt;&lt;/code&gt; to &lt;code&gt;&lt;span&gt;false&lt;/span&gt;&lt;/code&gt; in the &lt;code&gt;&lt;span&gt;ZB_ZDO_SIGNAL_LEAVE&lt;/span&gt;&lt;/code&gt; signal.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Handle the &lt;code&gt;&lt;span&gt;ZB_NLME_STATUS_INDICATION&lt;/span&gt;&lt;/code&gt; signal to detect when End Device failed to transmit packet to its parent, reported by signal’s status &lt;code&gt;&lt;span&gt;ZB_NWK_COMMAND_STATUS_PARENT_LINK_FAILURE&lt;/span&gt;&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;See the following code snippet for an example:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;/* Add helper variable that will be used for detecting broken rejoin procedure. */
/* Flag indicating if joining signal has been received since restart or leave with rejoin. */
bool joining_signal_received = false;
/* Extend the zigbee_default_signal_handler() function. */
case ZB_BDB_SIGNAL_DEVICE_FIRST_START:
    ...
    joining_signal_received = true;
    break;
case ZB_BDB_SIGNAL_DEVICE_REBOOT:
    ...
    joining_signal_received = true;
    break;
case ZB_BDB_SIGNAL_STEERING:
    ...
    joining_signal_received = true;
    break;
case ZB_ZDO_SIGNAL_LEAVE:
    if (status == RET_OK) {
        zb_zdo_signal_leave_params_t *leave_params = ZB_ZDO_SIGNAL_GET_PARAMS(sig_hndler, zb_zdo_signal_leave_params_t);
        LOG_INF(&amp;quot;Network left (leave type: %d)&amp;quot;, leave_params-&amp;gt;leave_type);

        /* Set joining_signal_received to false so broken rejoin procedure can be detected correctly. */
        if (leave_params-&amp;gt;leave_type == ZB_NWK_LEAVE_TYPE_REJOIN) {
            joining_signal_received = false;
        }
    ...
    break;
case ZB_NLME_STATUS_INDICATION: {
    zb_zdo_signal_nlme_status_indication_params_t *nlme_status_ind =
        ZB_ZDO_SIGNAL_GET_PARAMS(sig_hndler, zb_zdo_signal_nlme_status_indication_params_t);
    if (nlme_status_ind-&amp;gt;nlme_status.status == ZB_NWK_COMMAND_STATUS_PARENT_LINK_FAILURE) {

        /* Check for broken rejoin procedure and restart the device to recover. */
        if (stack_initialised &amp;amp;&amp;amp; !joining_signal_received) {
            zb_reset(0);
        }
    }
    break;
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Please note that this code snippet is from the nRF Connect SDK, but it should be very similar in nRF5 SDK for Thread and Zigbee.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: zigbee: similar issue as KRKNWK-12017</title><link>https://devzone.nordicsemi.com/thread/466780?ContentTypeID=1</link><pubDate>Tue, 30 Jan 2024 14:16:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f18749a0-0918-4234-85a2-49fb7b5c4f4b</guid><dc:creator>Cheb</dc:creator><description>&lt;p&gt;Thanks for your input.&lt;/p&gt;
&lt;p&gt;How to be sure we&amp;#39;re not running into KRKNWK-12017 in which the ZBOSS stack requires a reset ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: zigbee: similar issue as KRKNWK-12017</title><link>https://devzone.nordicsemi.com/thread/466772?ContentTypeID=1</link><pubDate>Tue, 30 Jan 2024 13:12:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:78384e6d-7668-4ced-8137-48918d4255c2</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi Sebastien,&lt;/p&gt;
[quote user=""]Could you recommend a procedure to fix this ? Maybe trigger a rejoin when the ZB_NWK_COMMAND_STATUS_PARENT_LINK_FAILURE occurs ?[/quote]
&lt;p&gt;Yes, since you are able to trace it to a stack signal, the best workaround would be to trigger a rejoin when the signal occurs. You can add a case for ZB_NLME_STATUS_INDICATION in zboss_signal_handler that checks if the status is ZB_NWK_COMMAND_STATUS_PARENT_LINK_FAILURE. To rejoin, you can call &lt;code&gt;bdb_start_top_level_commissioning(ZB_BDB_NETWORK_STEERING)&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If you are able to reproduce the issue and collect sniffer logs, please let me know.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>