<?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>OpenThread role change resets channel settings</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/21441/openthread-role-change-resets-channel-settings</link><description>Hello!
Based on you example I try to develop a simple HelloWorld example that follows chapter 11 of the specification. It says that to form a network a energy scan should be performed. That works perfectly fine but during role changes, it&amp;#39;s currently</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 19 Apr 2017 09:36:51 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/21441/openthread-role-change-resets-channel-settings" /><item><title>RE: OpenThread role change resets channel settings</title><link>https://devzone.nordicsemi.com/thread/84106?ContentTypeID=1</link><pubDate>Wed, 19 Apr 2017 09:36:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8c46a783-dfa6-4827-8fd4-3313a0ac2dee</guid><dc:creator>Lukasz Duda</dc:creator><description>&lt;p&gt;Hello Caspar, thank you for raising this issue!&lt;/p&gt;
&lt;p&gt;This might happen because of the Thread protocol itself. Before a node can join a Thread network, it must obtain all security/network credentials, that are called the Operational Dataset.&lt;/p&gt;
&lt;p&gt;In general, if your node has already attached to the network (and stored Operational Dataset), you should not change just one parameter like PANID or Channel and leave all others unchanged, since it violates Thread Network behavior.&lt;/p&gt;
&lt;p&gt;To change those parameters in an already created network, Thread uses a special way where the Commissioner registers new parameters (Pending Operational Dataset) at the Leader, which gradually disseminates those parameters across the network. This process requires a delay to ensure that all nodes in the network (including sleepy ones) obtain the new dataset on time.&lt;/p&gt;
&lt;p&gt;By using CLI, we can skip the commissioning process by providing Operational Dataset parameters like PANID or Channel from the command line (in out-of-band fashion).
Some parameters are set to default values and you don’t need to provide them – for example Mesh-Local Prefix.&lt;/p&gt;
&lt;p&gt;If you are using our latest release of OpenThread libraries, you can change any of the commissioning parameters from command line (CLI). But, prior to Channel or PANID change, please execute the &lt;code&gt;factoryreset&lt;/code&gt; command. It will simply remove all stored data, and let you change any parameters until the &lt;code&gt;thread start&lt;/code&gt; command is called.&lt;/p&gt;
&lt;p&gt;Recently, this issue was raised on OpenThread and a new commit was applied 6 days ago: &lt;a href="https://github.com/openthread/openthread/pull/1586"&gt;github.com/.../1586&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks to this commit, it should be possible to change the network parameters from CLI and automatically clear stored Operational Dataset (as &lt;code&gt;factoryreset&lt;/code&gt; does – but without actual chip reset).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>