<?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>List all devices in Thread network</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/71088/list-all-devices-in-thread-network</link><description>Hello 
 In my application (based on ble_thread_dyn_mtd_coap_cli example), I would like to get the list of devices present on the network (ip). 
 I saw that there was a command to retrieve the RLOC16s of the routers and their children (otThreadGetRouterInfo</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 05 Feb 2021 09:52:25 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/71088/list-all-devices-in-thread-network" /><item><title>RE: List all devices in Thread network</title><link>https://devzone.nordicsemi.com/thread/293050?ContentTypeID=1</link><pubDate>Fri, 05 Feb 2021 09:52:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a18d18c5-0f2b-4487-9646-3dddd2ad7756</guid><dc:creator>QuentinD</dc:creator><description>&lt;p&gt;Thank you very much for your advice :)&lt;br /&gt;So I will do as I thought at the beginning.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: List all devices in Thread network</title><link>https://devzone.nordicsemi.com/thread/292644?ContentTypeID=1</link><pubDate>Wed, 03 Feb 2021 11:07:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:23c00a3d-776f-4c26-b775-13a6b5781db2</guid><dc:creator>Edvin</dc:creator><description>[quote user="QuentinD"]So I would also like to know if it is a good approach to do it like this or if there is a way to retrieve EID addresses more easily?[/quote]
&lt;p&gt;&amp;nbsp;I don&amp;#39;t think there is any &amp;quot;standard way&amp;quot; of doing this. I discussed this a bit with a colleague of mine, and he found this thread:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://groups.google.com/g/openthread-users/c/0yyFFftyLNk?pli=1"&gt;https://groups.google.com/g/openthread-users/c/0yyFFftyLNk?pli=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Which contains some suggestions, at least. Another way would be the way that you suggested. I think whatever works for your case is the way to go.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The EID address is randomly generated, so there is no way of looking it up, as far as I know.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;However, we did find out that if you ping ff03::1, you will get a reply from all the nodes, using their EID address. Perhaps that can be used in your case?&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: List all devices in Thread network</title><link>https://devzone.nordicsemi.com/thread/292611?ContentTypeID=1</link><pubDate>Wed, 03 Feb 2021 08:13:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cc7b3eb6-e0cf-46ee-8824-83c4d49e0477</guid><dc:creator>QuentinD</dc:creator><description>&lt;p&gt;Yes the only solution to have routable addresses is to either use the Mesh-Local EID addresses or the RLOC addresses but since the RLOC addresses are likely to change during the life of the Thread network, it is necessary that I use the EID addresses...&lt;/p&gt;
&lt;p&gt;The RLOC addresses of the routers I can get them quite easily by executing the otThreadGetRouterInfo (...) commands (or the CLI command &amp;quot;router table&amp;quot;) but on the other hand I have a problem to retrieve the RLOCs of the children... In fact , I send the command otThreadSendDiagnosticGet (...) to each router so that it sends me its list of children (RLOC16). The problem I have is that the command only works once and after that it no longer works ... This command is the same as using the CLI command &amp;quot;networkdiagnostic get ...&amp;quot; which also does not works only once ...&lt;/p&gt;
&lt;p&gt;My strategy at the beginning was to retrieve the RLOC16s of all devices on the network to then determine their RLOC address and then send a custom frame to each device individually to send me their EID address. So I would also like to know if it is a good approach to do it like this or if there is a way to retrieve EID addresses more easily?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: List all devices in Thread network</title><link>https://devzone.nordicsemi.com/thread/292445?ContentTypeID=1</link><pubDate>Tue, 02 Feb 2021 11:15:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2fb0dddd-839c-43af-8828-c3d6adbcea14</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;I see that the &lt;a href="https://openthread.io/guides/thread-primer/ipv6-addressing#link-local-address-lla"&gt;extended mac address&lt;/a&gt; is a non-routable address, so it can only be used between neighbours. The RLOC address is described here:&lt;br /&gt;&lt;a href="https://openthread.io/guides/thread-primer/ipv6-addressing#routing-locator-rloc"&gt;https://openthread.io/guides/thread-primer/ipv6-addressing#routing-locator-rloc&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: List all devices in Thread network</title><link>https://devzone.nordicsemi.com/thread/292442?ContentTypeID=1</link><pubDate>Tue, 02 Feb 2021 10:49:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eb0a147d-3a57-4e49-a55e-5b7ecefd5c69</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;It is usually a while between the times I look into this, but let me see what I find:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1612262194849v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;So the upper left is the leader, and it has ID 12. The right is ID 15, and the bottom is ID 15. Right and bottom are routers.&lt;/p&gt;
&lt;p&gt;So there are multiple ip addresses for each node. One of the addresses is fdde:ad00:beef:0:0:ff:fe00:&amp;lt;RLOC16&amp;gt;.&lt;/p&gt;
&lt;p&gt;You can see this matches the data in the screenshot. In addition, the leader always has the address&amp;nbsp;&lt;span&gt;fdde:ad00:beef:0:0:ff:fe00:fc00&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Additionally, there is one address based on the Ectended MAC:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;fe80:0:0:0:&amp;lt;EXTENDED_MAC_MODIFIED&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;EXTENDED_MAC_MODIFIED is, as you can see, almost identical to the Extended MAC, but you can see that e.g. the leader&amp;#39;s MAC address starts with 4274, while the ip address starts with 4074.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;This change applies to all the extended mac addresses =&amp;gt; ip address. As far as I can tell, the 2 LSB in the first byte should be 0&amp;#39;s, but you need to test with a few addresses to figure this out.(at least the 2nd lsb should be 0.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1612262948703v2.png" alt=" " /&gt;&amp;nbsp;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1612262965951v3.png" alt=" " /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Does this match your observations? I can recommend to play around with the CLI examples a bit.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Edvin&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: List all devices in Thread network</title><link>https://devzone.nordicsemi.com/thread/292309?ContentTypeID=1</link><pubDate>Mon, 01 Feb 2021 15:30:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:abe93899-047c-4148-a264-9185af5bbc3e</guid><dc:creator>QuentinD</dc:creator><description>&lt;p&gt;Hello Edvin&lt;/p&gt;
&lt;p&gt;Yes, using the otThreadGetRouterInfo (...) and otThreadSendDiagnosticGet (...) functions is the same as using &amp;quot;router table&amp;quot; and &amp;quot;child table&amp;quot; in CLI command(these CLI commands use these ot commands).&lt;/p&gt;
&lt;p&gt;But how can I determine the EID address from these RLOC16s? (the command &amp;quot;ipaddr rloc&amp;quot; that you advised me only displays the RLOC address of the device on which the command is executed ...)&amp;nbsp;&lt;br /&gt;I would like to be able to use all the RLOC16s that I obtained with the previous functions in order to obtain the EID addresses of the devices to which they correspond.&lt;br /&gt;&lt;br /&gt;Thank you&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: List all devices in Thread network</title><link>https://devzone.nordicsemi.com/thread/292248?ContentTypeID=1</link><pubDate>Mon, 01 Feb 2021 13:33:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f2363df2-3e53-437d-afe3-94cdb0cd9e36</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;As far as I know, the easiest way is to use the CLI commands to find information on the thread nodes in the network:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/openthread/openthread/tree/master/src/cli"&gt;https://github.com/openthread/openthread/tree/master/src/cli&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;quot;router table&amp;quot; and &amp;quot;child table&amp;quot; should cover all nodes.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user=""]If I want to get the &amp;quot;Mesh-Local EID&amp;quot; ip address of all the devices on the network, is it a good method to get all the RLOC16[/quote]
&lt;p&gt;&amp;nbsp;Yes. That is typically what we recommend.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user=""]How can I determine the IP address of a device just from its RLOC16?[/quote]
&lt;p&gt;Have you tried:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="https://github.com/openthread/openthread/tree/master/src/cli#ipaddr-rloc"&gt;https://github.com/openthread/openthread/tree/master/src/cli#ipaddr-rloc&lt;/a&gt;&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>