<?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>How to remove a node from ble mesh?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/75039/how-to-remove-a-node-from-ble-mesh</link><description>Hi friends: 
 My ble mesh gateway want to remove a mesh node 
 (a): Which api can i use to realize this purpose?(My SDK is nrf5_SDK_for_Mesh_v5.0.0) 
 (b): There is a special situation: If the mesh node is power-off, how to remove it? 
 (c): My gateway</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 18 May 2021 12:47:42 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/75039/how-to-remove-a-node-from-ble-mesh" /><item><title>RE: How to remove a node from ble mesh?</title><link>https://devzone.nordicsemi.com/thread/310162?ContentTypeID=1</link><pubDate>Tue, 18 May 2021 12:47:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:04bdc5af-1074-4697-b73a-4ca65a8e0267</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Oplinux,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;a)&amp;nbsp;&lt;span&gt;dsm_subnet_update_* calls was just to update the key locally on the provisioner. Then you need to update each of the 9 nodes that you want to continue to use by calling config_client_netkey_update().&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;b)and c) If the node sleeps for too long and the new key has been distributed the node will need to be provisioned again.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;d) You can design a beacon type of message that can tell the provisioner that the key is missing and it needs a new key. This protocol can be used regardless if new key has been used. But as I mentioned, there will be securit concern for this approach.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I understand that it can lead to poor user experience, but mesh was not designed for that a node can sleep for a long time. It expect that a node should stay active or at least periodically active and check the network before sleep again.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to remove a node from ble mesh?</title><link>https://devzone.nordicsemi.com/thread/309643?ContentTypeID=1</link><pubDate>Thu, 13 May 2021 06:59:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9a1cb392-4e3b-4f19-9067-6456306dab97</guid><dc:creator>oplinux</dc:creator><description>&lt;p&gt;Hi Hung,&lt;/p&gt;
&lt;p&gt;Thanks for your prompt response. I&amp;#39;m still confused, as below:&lt;/p&gt;
&lt;p&gt;a) The provisioner should call &lt;code&gt;dsm_subnet_update to &lt;/code&gt;tell all reset nodes the new key one by one with device key?(e.g. There is 10 nodes and a provisioner, I remove a specific node, then, the provisoner shoud call &lt;code&gt;dsm_subnet_update &lt;/code&gt;for 9 times to the reset node?)&lt;/p&gt;
&lt;p&gt;b) If one node is offline for too long(e.g.&amp;nbsp; a week), during this peroid, one node&amp;nbsp; is removed, the provisoner should process a key refresh procedure, then, the reset online node will receive the new network key(phase 1), after 10 minutes, another node also should be removed, the provisoner process a key refresh procedure again? the reset online node will receive a newer key? if the former offline node resume the network, the provisioner should offer the newest network to it?&lt;/p&gt;
&lt;p&gt;c) At the&amp;nbsp;&lt;span class="fontstyle0"&gt;key refresh procedure, all nodes received the new network key during a period of time(phase 1 complete). the provisoner will&amp;nbsp; switch to the new keys, however, some node is offline, the provsioner will wait for all nodes complete phase2？ At phase3，the provisioner will revoke old keys, if some nodes offline in this phase, how to process it?&lt;br style="font-style:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;" /&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;d) As you mentioned &amp;quot;design a proprietary way to tell the provisioner that it was just sleeping for too long and didn&amp;#39;t receive the key refresh beacon. And the provisioner can send it the new key.&amp;quot;, if the provsioner completed phase3( &lt;span class="fontstyle0"&gt;revoking old keys&lt;/span&gt;), how to get the message from the node who was offline for a long time?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;By the way, if the node is offline for a period of time, it should delete it&amp;#39;s old provisioning data and appear to the provisioner as an unprovisioned node,&amp;nbsp; it means the user should provsioning the product again, this will lead to a poor user experience.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to remove a node from ble mesh?</title><link>https://devzone.nordicsemi.com/thread/309522?ContentTypeID=1</link><pubDate>Wed, 12 May 2021 13:24:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bdf67e04-a7c2-473e-9509-4b135c4eab5c</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Oplinux,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;a) You can have a look at &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/35953/ble-mesh-single-node-remove-from-network"&gt;this case.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;b) The key refresh procedure has&amp;nbsp;3 phases and that would take some time (how long will be dependent by the provisioner). At Phase 1 the new key is distributed to all nodes. If the node is offline when it&amp;#39;s already phase 2 it won&amp;#39;t be able to receive the new key and will be black listed and removed from the network. You can avoid that by configure the provisioner that it won&amp;#39;t switch to phase 2 too early. For example if your node only power-off for longest 24h, you can design your provisioner so that it won&amp;#39;t switch to phase 2 shorter than 25h for example.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;c) If the node is offline for too long, and got blacklisted, it would need to delete it old provisioning data and appear to the provisioner as an unprovisioned node. The node then can be provisioned again and will have new address.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Of course at c) you can design a proprietary way to tell the provisioner that it was just sleeping for too long and didn&amp;#39;t receive the key refresh beacon. And the provisioner can send it the new key. But then you will need to handle security protection for such proprietary procedure and there will be potential security risk .&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>