<?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>Assign a mesh-local EID address</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/27454/assign-a-mesh-local-eid-address</link><description>Hi Everyone, 
 Is it possible to programmatically assign a static mesh-local EID IPv6 address to a node in a network? I would like to communicate to individual nodes in the network using the EID addresses. I know the EID IPv6 does not change when the</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 27 Nov 2017 07:40:04 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/27454/assign-a-mesh-local-eid-address" /><item><title>RE: Assign a mesh-local EID address</title><link>https://devzone.nordicsemi.com/thread/108440?ContentTypeID=1</link><pubDate>Mon, 27 Nov 2017 07:40:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:200b51cf-7e44-4027-86d9-936e4be9465b</guid><dc:creator>Lukasz Duda</dc:creator><description>&lt;p&gt;Hello Roger,&lt;/p&gt;
&lt;p&gt;Please add the &amp;quot;--sectorerase&amp;quot; option to the nrfjprog e.g.:&lt;/p&gt;
&lt;p&gt;nrfjprog -f NRF52 --sectorerase --program _build\nrf52840_xxaa.hex&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Assign a mesh-local EID address</title><link>https://devzone.nordicsemi.com/thread/108439?ContentTypeID=1</link><pubDate>Mon, 27 Nov 2017 07:32:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c247156d-3368-49ed-a3f3-0fa08b3203df</guid><dc:creator>Roger</dc:creator><description>&lt;p&gt;Hi Lukasz,&lt;/p&gt;
&lt;p&gt;As always, thank you for the very helpful comment.&lt;/p&gt;
&lt;p&gt;You mentioned that the Thread data variables are persistent and therfore does not loose data assigned to these variables when booting the DK. I&amp;#39;m busy exploring this persistency between Thread data variables and tried programming the device without using &lt;code&gt;--chiperase&lt;/code&gt; but are unable to get the device programmed. The error on the cmd is:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Reading flash area to program to guarantee it is erased.
ERROR: The area to write is not erased.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The nrf command given is &lt;code&gt;nrfjprog -f NRF52 --program _build\nrf52840_xxaa.hex&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;According to the error I&amp;#39;m getting, it seems that some area of the flash needs to be erased before programming the device?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Assign a mesh-local EID address</title><link>https://devzone.nordicsemi.com/thread/108438?ContentTypeID=1</link><pubDate>Tue, 21 Nov 2017 20:50:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:30d2b3b7-8cf7-4306-ac5c-433df2fe79b8</guid><dc:creator>Lukasz Duda</dc:creator><description>&lt;p&gt;Hello Roger,&lt;/p&gt;
&lt;p&gt;Thread specification mandates Mesh-Local EID address to be randomly generated after node is commissioned to the network. Node stores this address in non-volatile memory, which makes it persistent over reboot. The Mesh-Local EID however changes, when node is re-commissioned again.&lt;/p&gt;
&lt;p&gt;Note that for development, you can always flash a new firmware without  erasing Thread persistent data (where Mesh-Local EID is stored) - simply avoid using --chiperase parameter when using nrfjprog.&lt;/p&gt;
&lt;p&gt;All in all, I can recommend you two ways of solving described problem:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Use &lt;code&gt;otIp6AddUnicastAddress&lt;/code&gt; method to assign a new IPv6 address to the Thread interface. Then you have a full control from the application on the IPv6 addresses of the node. Note that you can create additional address based on Mesh-Local Prefix.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Reference: &lt;a href="https://openthread.io/reference/group/api-ip6#group__api-ip6_1ga5f771fbeea628057ddb874c26de32ca5"&gt;openthread.io/.../api-ip6&lt;/a&gt;&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Implement mechanism for node discovery e.g. mDNS or some proprietary one, like we have in nRF5 SDK for Thread in our CoAP examples to perform provisioning.&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>