<?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>Nordic (OpenThread) Thread Border Router - Mesh Local Prefix</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/64510/nordic-openthread-thread-border-router---mesh-local-prefix</link><description>Hello, 
 i have been struggling with this issue for several days now, maybe due to my limited knowledge of thread networks. 
 I&amp;#39;m developing a solution where some devices (based on the NRF52840) wake up several (once, twice or something like that) times</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 16 Sep 2020 08:09:26 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/64510/nordic-openthread-thread-border-router---mesh-local-prefix" /><item><title>RE: Nordic (OpenThread) Thread Border Router - Mesh Local Prefix</title><link>https://devzone.nordicsemi.com/thread/269776?ContentTypeID=1</link><pubDate>Wed, 16 Sep 2020 08:09:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9046ca4c-70db-4d86-94f2-61742791dcf1</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I received a reply today:&lt;/p&gt;
&lt;p&gt;In case you have full control of the Thread network, you can pre-commission the devices with specific Mesh Local Prefix by using the function:&lt;/p&gt;
&lt;p&gt;otThreadSetMeshLocalPrefix() (&lt;a href="https://github.com/openthread/openthread/blob/master/include/openthread/thread.h#L457"&gt;https://github.com/openthread/openthread/blob/master/include/openthread/thread.h#L457&lt;/a&gt;&amp;nbsp;)&lt;/p&gt;
&lt;p&gt;This API has to be called before the interface and Thread is brought up.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;On Border Router, if you want to change the default Mesh Local Prefix in the /etc/border_router.conf file, please execute &amp;quot;wpanctl leave &amp;amp; sudo reboot&amp;quot;, or else the NCP will use the Operational Dataset stored in the flash.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Please remember that in a regular network, the Mesh Local Prefix might be randomly chosen, and all devices receive the Operational Dataset (which includes the Mesh Local Prefix) during the Commissioning process. We don&amp;#39;t have built in support for automatic change of the GatewayUDP6Broadcast value in the paho_mqttsn_gateway.conf gile. What you can do is to implement a small script wich will react on changes of MeshLocalPrefiz from wpantund/wpanctl and adjust the value of the GatewatUDP6Broadcast field and restart the Paho MWTT-SN gateway.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Another alternative could be to subscribe to some random multicast address on all MQTT-SN client devices, including SEDs (e.g. FF03::cafe) using the &amp;quot;otIp6SubscribteMulticastAddress&amp;quot; API (&lt;a href="https://github.com/openthread/openthread/blob/master/include/openthread/ip6.h#L307"&gt;https://github.com/openthread/openthread/blob/master/include/openthread/ip6.h#L307&lt;/a&gt;&amp;nbsp;) and then use this address in the GatewayUDP6Broadcast field. This way, you won&amp;#39;t be dependent on the MeshLocalPrefix, but at the same time you will create a proprietary solution.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Nordic (OpenThread) Thread Border Router - Mesh Local Prefix</title><link>https://devzone.nordicsemi.com/thread/263652?ContentTypeID=1</link><pubDate>Fri, 07 Aug 2020 14:33:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2b3a0ba8-c65d-4e96-88d0-4884bac64753</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;I don&amp;#39;t see why that would be necessary,&amp;nbsp;and why not just reading it out would be just as good, but I can check with our Thread&amp;nbsp;team.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll let you know when I hear from them.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Nordic (OpenThread) Thread Border Router - Mesh Local Prefix</title><link>https://devzone.nordicsemi.com/thread/263441?ContentTypeID=1</link><pubDate>Thu, 06 Aug 2020 12:35:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b245834b-6f3a-4dfa-8ed1-a52971e2a471</guid><dc:creator>MarcoLG</dc:creator><description>&lt;p&gt;I don&amp;#39;t want to fetch the IPv6:MeshLocalPrefix, i want to set it to a predetermined value, so that i can hardcode it into the paho_mqttsn_gateway.conf file under the&amp;nbsp;&lt;span&gt;GatewayUDP6Broadcast option.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Nordic (OpenThread) Thread Border Router - Mesh Local Prefix</title><link>https://devzone.nordicsemi.com/thread/263397?ContentTypeID=1</link><pubDate>Thu, 06 Aug 2020 10:35:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0665fbef-acfd-4a94-8779-8d0f4d0bd2ce</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;So I assume that your border router is using a dongle or a DK to communicate with the mesh network, right? You want to be able to fetch this IPv6:MeshLocalPrefix from your border router without using the wpanctl status command from your command line, but using a CLI command, is that correct?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;If so, did you try to use the &amp;quot;dataset&amp;quot; command after forming the network?&lt;/p&gt;
&lt;p&gt;Please see the guide on how to form the network:&lt;br /&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_tz_v3.2.0/thread_ot_commissioning_configuring.html?cp=7_7_1_2_7_5_0_0_2#thread_ot_commissioning_configuring_on-mesh_cli_forming"&gt;https://infocenter.nordicsemi.com/topic/sdk_tz_v3.2.0/thread_ot_commissioning_configuring.html?cp=7_7_1_2_7_5_0_0_2#thread_ot_commissioning_configuring_on-mesh_cli_forming&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Let me know if this is not what you are looking for.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Nordic (OpenThread) Thread Border Router - Mesh Local Prefix</title><link>https://devzone.nordicsemi.com/thread/263235?ContentTypeID=1</link><pubDate>Wed, 05 Aug 2020 13:02:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1a9c8521-a790-4162-ac74-4c6a7bde6af8</guid><dc:creator>MarcoLG</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;no it is basically the opposite.&lt;/p&gt;
&lt;p&gt;The border router (which includes the mqttsn gateway) is alway on and forms the thread network when it boots up. It is the only router node in the network.&lt;/p&gt;
&lt;p&gt;The other devices sleep most of the day (they are not connected and in low power mode) and periodically wake up. When they wake up, they try to connect to the network, then try to discover the mqttsn gateway, connect to it and finally publish some content. Then, they return to sleep.&lt;/p&gt;
&lt;p&gt;What i&amp;#39;m observing is that when a device wakeup, it connects to the thread network as child (as expected), then it broadcasts a mqttsn gateway search packet to the multicast address&amp;nbsp;&lt;span&gt;&amp;nbsp;ff03::1. The problem, now, is that when the gateway responds to this message, it should broadcast the response to the&amp;nbsp;realm-local unicast prefix-based multicast&amp;nbsp; address in order for the message to be forwarder to the child node during the next poll (the child, as i said, is configured with THREAD_RADIO_MODE_RX_OFF_WHEN_IDLE so it will not receive messages sent to ff03::1). The unicast prefix-based address, on the other hand, depends on the thread mesh local prefix, which i have been unable to set. When the router forms the network, it sets a mesh local prefix that appears randomly generated. As a consequence, I don&amp;#39;t know how to set the&amp;nbsp;GatewayUDP6Broadcast option in the border router mqttsn gateway config file.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Just to be as clear as possible, i&amp;#39;m referring to the&amp;nbsp;&amp;quot;IPv6:MeshLocalPrefix&amp;quot; =&amp;gt; &amp;quot;fdc0:de1a:b5c0::/64&amp;quot; that appears when i write &amp;quot;sudo wpanctl status&amp;quot; after forming the thread network. See the below command output:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;pi@raspberrypi:~ $ sudo wpanctl status&lt;br /&gt;wpan0 =&amp;gt; [&lt;br /&gt; &amp;quot;NCP:State&amp;quot; =&amp;gt; &amp;quot;associated&amp;quot;&lt;br /&gt; &amp;quot;Daemon:Enabled&amp;quot; =&amp;gt; true&lt;br /&gt; &amp;quot;NCP:Version&amp;quot; =&amp;gt; &amp;quot;OPENTHREAD/20191113-00534-gc6a258e3; NRF52840; Apr 5 2020 21:51:18&amp;quot;&lt;br /&gt; &amp;quot;Daemon:Version&amp;quot; =&amp;gt; &amp;quot;0.08.00d (; Apr 21 2020 19:11:43)&amp;quot;&lt;br /&gt; &amp;quot;Config:NCP:DriverName&amp;quot; =&amp;gt; &amp;quot;spinel&amp;quot;&lt;br /&gt; &amp;quot;NCP:HardwareAddress&amp;quot; =&amp;gt; [F4CE366E33AE613F]&lt;br /&gt; &amp;quot;NCP:Channel&amp;quot; =&amp;gt; 11&lt;br /&gt; &amp;quot;Network:NodeType&amp;quot; =&amp;gt; &amp;quot;leader&amp;quot;&lt;br /&gt; &amp;quot;Network:Name&amp;quot; =&amp;gt; &amp;quot;MSquare-Test&amp;quot;&lt;br /&gt; &amp;quot;Network:XPANID&amp;quot; =&amp;gt; 0xC0DE1AB5C0DE1AB5&lt;br /&gt; &amp;quot;Network:PANID&amp;quot; =&amp;gt; 0xABCD&lt;br /&gt; &amp;quot;IPv6:LinkLocalAddress&amp;quot; =&amp;gt; &amp;quot;fe80::1cb9:e183:e22c:3816&amp;quot;&lt;br /&gt; &amp;quot;IPv6:MeshLocalAddress&amp;quot; =&amp;gt; &amp;quot;fdc0:de1a:b5c0:0:efd2:518b:d2c8:c4c3&amp;quot;&lt;br /&gt; &amp;quot;IPv6:MeshLocalPrefix&amp;quot; =&amp;gt; &amp;quot;fdc0:de1a:b5c0::/64&amp;quot;&lt;br /&gt; &amp;quot;com.nestlabs.internal:Network:AllowingJoin&amp;quot; =&amp;gt; false&lt;br /&gt;]&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Nordic (OpenThread) Thread Border Router - Mesh Local Prefix</title><link>https://devzone.nordicsemi.com/thread/263215?ContentTypeID=1</link><pubDate>Wed, 05 Aug 2020 12:13:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2128f03d-559f-463f-b377-283250f55854</guid><dc:creator>Edvin</dc:creator><description>[quote user=""]I configured my end devices as sleepy end devices (setting&amp;nbsp; radio_mode = THREAD_RADIO_MODE_RX_OFF_WHEN_IDLE in thread_configuration_t&amp;nbsp;structure),[/quote]
&lt;p&gt;&amp;nbsp;Does this mean that the nodes have a parent node that is always awake, or do you disconnect from the network, and reconnect once of twice per day?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Nordic (OpenThread) Thread Border Router - Mesh Local Prefix</title><link>https://devzone.nordicsemi.com/thread/263214?ContentTypeID=1</link><pubDate>Wed, 05 Aug 2020 12:12:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9109dfab-da8d-45a7-97e4-903a2a3447af</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;So the devices are not connected to the network most of the time, but from time to time you want to send messages from the border router to the nodes (when they wake up?). Is that correct?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t know if it is possible to predict the addresses, since this is decided when the network is formed, I guess. How about storing the assigned addresses when the nodes connect to the network? Did you try something like this?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;What is your plan for the messages that you try to send out to all nodes when nodes are not connected to the network? Is the plan to store them until they wake up, or to send to the devices that are awake at this point in time?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;To be honest, I don&amp;#39;t know the answer to your questions by heart, but perhaps if I understand the use case scenario, I can check with our Thread team.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>