<?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>Android-nRF-Mesh-Library: How to consume/invalidate a unicast address?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/76535/android-nrf-mesh-library-how-to-consume-invalidate-a-unicast-address</link><description>Dear Nordic Bluetooth experts, 
 
 In the Android-nRF-Mesh-Library , is there a way to mark a unicast address as used? The reason why I&amp;#39;d like to do it is the following: When adding a new node, my Bluetooth mesh app performs the these steps: 
 
 Provisions</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 28 Oct 2021 12:06:02 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/76535/android-nrf-mesh-library-how-to-consume-invalidate-a-unicast-address" /><item><title>RE: Android-nRF-Mesh-Library: How to consume/invalidate a unicast address?</title><link>https://devzone.nordicsemi.com/thread/336464?ContentTypeID=1</link><pubDate>Thu, 28 Oct 2021 12:06:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:051a4c97-b937-437e-bd07-d35270496305</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Update: This issue has now been fixed in our &lt;a href="https://github.com/NordicSemiconductor/Android-nRF-Mesh-Library/commit/33dac3d9a85346e3a6fc46f5828006ae3ce5e233"&gt;GitHub repo&lt;/a&gt;, and the changes have now been pushed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Android-nRF-Mesh-Library: How to consume/invalidate a unicast address?</title><link>https://devzone.nordicsemi.com/thread/322859?ContentTypeID=1</link><pubDate>Mon, 02 Aug 2021 12:06:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:443b57e2-12f3-44c5-8120-da4fd314379a</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi again&lt;/p&gt;
&lt;p&gt;The person in charge of the &lt;span&gt;Android nRF Mesh library got back from vacation today and will look at this issue and handle it on GitHub this week.&amp;nbsp;&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;Simon&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Android-nRF-Mesh-Library: How to consume/invalidate a unicast address?</title><link>https://devzone.nordicsemi.com/thread/321756?ContentTypeID=1</link><pubDate>Mon, 26 Jul 2021 09:45:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c8cb1f17-ddb4-44f4-b1ef-e90b788977d3</guid><dc:creator>BlueMike</dc:creator><description>&lt;p&gt;Hello Simon,&lt;/p&gt;
&lt;p&gt;Thanks for your help! No big deal if it takes a little longer. I&amp;#39;ve meanwhile opened an issue at the libraries github repo.&lt;/p&gt;
&lt;p&gt;All the best,&lt;br /&gt;Michael.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Android-nRF-Mesh-Library: How to consume/invalidate a unicast address?</title><link>https://devzone.nordicsemi.com/thread/320696?ContentTypeID=1</link><pubDate>Mon, 19 Jul 2021 12:53:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e84c4159-3f30-418f-b726-81c6fff347ac</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Due to the summer vacation period we are currently understaffed, so delayed replies must be expected. I am sorry about any inconvenience this might cause. I&amp;#39;m currently waiting for an answer internally on this bug you have reported and it&amp;#39;s under investigation. Thank you for your patience. I will get back to you as soon as I have more information.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Android-nRF-Mesh-Library: How to consume/invalidate a unicast address?</title><link>https://devzone.nordicsemi.com/thread/319554?ContentTypeID=1</link><pubDate>Mon, 12 Jul 2021 10:11:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e7f788f9-3279-4317-8f58-f91705582e4a</guid><dc:creator>BlueMike</dc:creator><description>&lt;p&gt;Hi Simon,&lt;/p&gt;
&lt;p&gt;Thanks for your help.&lt;/p&gt;
[quote userid="75734" url="~/f/nordic-q-a/76535/android-nrf-mesh-library-how-to-consume-invalidate-a-unicast-address/316271#316271"] it seems like you are trying to assign the unicast address twice to the same device. [/quote]
&lt;p&gt;Sorry, I&amp;#39;ve oversimplified the explanation. My app first provisions a node, then connects to it and (if the connection is established) assigns and binds the app key. The unicast address is assigned only during provisioning (i.e. the first step). This is the exact same behavior as the demo app.&lt;br /&gt;&lt;br /&gt;The problem is caused by a bug or &amp;quot;design flaw&amp;quot; in Android-nRF-Mesh-Library:&lt;br /&gt;&lt;br /&gt;The bug here is that &lt;span style="color:#000080;font-family:courier new, courier;"&gt;nextAvailableUnicastAddress()&lt;/span&gt; returns an already used address. It obviously shouldn&amp;#39;t, but it&amp;#39;s happening anyway because Android-nRF-Mesh-Library updates its internal list of nodes (&lt;span style="color:#000080;font-family:courier new, courier;"&gt;BaseMeshNetwork.nodes&lt;/span&gt;) in response of one of the configuration commands (&lt;span style="color:#000080;font-family:courier new, courier;"&gt;ConfigDefaultTtlGet, ConfigNetworkTransmitSet, ConfigAppKeyAdd, ConfigModelAppBind&lt;/span&gt;).&lt;br /&gt;Now if the connection to the freshly provisioned node fails, non of these commands are sent, and hence the library misses the newly provisioned node, causing &lt;span style="color:#000080;font-family:courier new, courier;"&gt;nextAvailableUnicastAddress()&lt;/span&gt; to return an already used unicast address.&lt;br /&gt;&lt;br /&gt;The question now is how can we get this fixed asap?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Android-nRF-Mesh-Library: How to consume/invalidate a unicast address?</title><link>https://devzone.nordicsemi.com/thread/316271?ContentTypeID=1</link><pubDate>Mon, 21 Jun 2021 12:55:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:70ee5b97-4bb9-474c-8131-bfeb0f932005</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;I spoke to one of our developers of the Android nRF Mesh library, and it seems like you are trying to assign the unicast address twice to the same device. Usually, you would assign a unicast address as well as a network key during provisioning, and then add additional network/app keys after you have connected. This is according to the&lt;a href="https://www.bluetooth.com/specifications/specs/mesh-profile-1-0-1/"&gt; Bluetooth Mesh profile spec.&lt;/a&gt; so I&amp;#39;m guessing that&amp;#39;s what causing these errors when you try assigning a unicast address&amp;nbsp;&lt;strong&gt;after&amp;nbsp;&lt;/strong&gt;the provisioning.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>