<?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>MESH key refresh support in the Serialization interface (ACI)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/67498/mesh-key-refresh-support-in-the-serialization-interface-aci</link><description>I&amp;#39;m using the MESH SDK 4.2.0 on a nrf52832 in combination with the Serialization interface (ACI) example 
 We&amp;#39;d like to implement the key-Refresh cycle and are planning on the following sequence: 
 
 Phase 0 =&amp;gt; 1: dsm_subnet_update() (SERIAL_OPCODE_CMD_MESH_SUBNET_UPDATE</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 10 Nov 2020 17:11:41 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/67498/mesh-key-refresh-support-in-the-serialization-interface-aci" /><item><title>RE: MESH key refresh support in the Serialization interface (ACI)</title><link>https://devzone.nordicsemi.com/thread/279348?ContentTypeID=1</link><pubDate>Tue, 10 Nov 2020 17:11:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:59140648-ca81-42bf-a094-a84cefaba296</guid><dc:creator>dbuijsma</dc:creator><description>&lt;p&gt;Ok, gotcha. I wanted to make sure I&amp;#39;m not missing something. Thanks for your patience!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MESH key refresh support in the Serialization interface (ACI)</title><link>https://devzone.nordicsemi.com/thread/279288?ContentTypeID=1</link><pubDate>Tue, 10 Nov 2020 14:02:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:872622c7-b3d8-4fe4-a564-473eac7181d8</guid><dc:creator>Mttrinh</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;We provided serial APIs only for those function which are essential for the Gateway type devices. For functions where a serial API don&amp;#39;t exist, you can add this on your own, or use the config client(on the PyACI) and server models(on the serial device) to configure specific functionality of the gateway node itself.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MESH key refresh support in the Serialization interface (ACI)</title><link>https://devzone.nordicsemi.com/thread/278664?ContentTypeID=1</link><pubDate>Thu, 05 Nov 2020 16:36:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e89db445-2e00-4cd6-84ad-2b7f8b845c69</guid><dc:creator>dbuijsma</dc:creator><description>&lt;p&gt;Let me clarify, because we&amp;#39;re now talking about different things. SERIAL_OPCODE_... target the device itself, and as you mention above, the config client messages (CONFIG_OPCODE_...) target&amp;nbsp;any node which has been successfully provisioned,&amp;nbsp;including the device itself.&lt;/p&gt;
&lt;p&gt;You mention in your first reply that there&amp;#39;s no&amp;nbsp;SERIAL API for starting a key refresh phase because you can achieve the same by using the config&amp;nbsp;client&amp;#39;s&amp;nbsp;&lt;span&gt;CONFIG_OPCODE_KEY_REFRESH_PHASE_SET. That makes sense to me.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;However, by that logic, there&amp;#39;s no reason for the existence of&amp;nbsp;SERIAL_OPCODE_CMD_MESH_APPKEY_ADD or SERIAL_OPCODE_CMD_MESH_SUBNET_UPDATE either: you can simply use the config client after the serial-example provisions itself.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;My question is: why do those serial APIs exist?&amp;nbsp; The way the SERIAL API is currently implemented&amp;nbsp;seems inconsistent:&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;- SERIAL_OPCODE_CMD_MESH_APPKEY_UPDATE exists, even though we could use CONFIG_OPCODE_APPKEY_UPDATE to update our own appkey. The same is true for APPKEY_ADD: there&amp;#39;s does appear to be&amp;nbsp;a need for a&amp;nbsp;separate SERIAL API&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;- For&amp;nbsp;setting&amp;nbsp;the Key Refresh Phase, there&amp;#39;s no SERIAL&amp;nbsp;API and we have to use the config client&amp;#39;s&amp;nbsp;&lt;/span&gt;&lt;span&gt;CONFIG_OPCODE_KEY_REFRESH_PHASE_SET. Again, this makes sense to me after you pointed that out in your first reply.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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;&lt;/span&gt;&lt;span&gt;Thanks!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Dirk&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MESH key refresh support in the Serialization interface (ACI)</title><link>https://devzone.nordicsemi.com/thread/278605?ContentTypeID=1</link><pubDate>Thu, 05 Nov 2020 13:31:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b4e194c6-85bd-4d22-9241-24df80400d3d</guid><dc:creator>Mttrinh</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;SERIAL_OPCODE_CMD_MESH_APPKEY_ADD and CONFIG_OPCODE_APPKEY_ADD do the same but their destination/targets are different.&lt;/p&gt;
&lt;p&gt;The difference between config messages and serial API is that you can use a config client to send config messages. It will work on all nodes in the network, if the serial node have a config client. While serial APIs works directly, not dependent on a node having a config client.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MESH key refresh support in the Serialization interface (ACI)</title><link>https://devzone.nordicsemi.com/thread/278322?ContentTypeID=1</link><pubDate>Tue, 03 Nov 2020 16:14:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b78ed312-8974-4932-b19b-55b06ffafd7b</guid><dc:creator>dbuijsma</dc:creator><description>[quote userid="15475" url="~/f/nordic-q-a/67498/mesh-key-refresh-support-in-the-serialization-interface-aci/278129#278129"]Are you wondering if&amp;nbsp;&lt;span&gt;SERIAL_OPCODE_CMD_MESH_APPKEY_ADD and&amp;nbsp;CONFIG_OPCODE_APPKEY_ADD do the same thing? and if so why the distinction in API?&lt;/span&gt;[/quote]
&lt;p&gt;Yes exactly: why have a SERIAL API for APPKEY_ADD but not for other functionality? It would be good to understand the API architecture better.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MESH key refresh support in the Serialization interface (ACI)</title><link>https://devzone.nordicsemi.com/thread/278129?ContentTypeID=1</link><pubDate>Mon, 02 Nov 2020 15:09:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:95cc626e-cc09-4c64-b644-230ce71dd3c6</guid><dc:creator>Mttrinh</dc:creator><description>[quote user="dbuijsma"]So they config client on my device would send a CONFIG_OPCODE_KEY_REFRESH_PHASE_SET message to&amp;nbsp;its own config-server using the local bearer CORE_TX_BEARER_TYPE_LOCAL (eg, it does not use its own radio?[/quote]
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;p&gt;&lt;span&gt;Packets addressed to themselves is handled without using the radio. Before using that command, PyACI config client should be configured to communicate with the config server on the connected serial device by using &amp;quot;publish_set()&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Also, to do this properly it requires modifications of the &amp;quot;load()&amp;quot; function in &amp;quot;provisionin.py&amp;quot; to add the devicekey for the serial device.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
[quote user="dbuijsma"]There are&amp;nbsp;serialization calls for similar functions like&amp;nbsp;SERIAL_OPCODE_CMD_MESH_APPKEY_ADD. Couldn&amp;#39;t those&amp;nbsp; be treated the same way? (in that case&amp;nbsp;CONFIG_OPCODE_APPKEY_ADD). Assuming I have that correct, why the distinction in the API?[/quote]
&lt;p&gt;Are you wondering if&amp;nbsp;&lt;span&gt;SERIAL_OPCODE_CMD_MESH_APPKEY_ADD and&amp;nbsp;CONFIG_OPCODE_APPKEY_ADD do the same thing? and if so why the distinction in API?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MESH key refresh support in the Serialization interface (ACI)</title><link>https://devzone.nordicsemi.com/thread/277214?ContentTypeID=1</link><pubDate>Tue, 27 Oct 2020 17:21:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fe5738c6-83f7-4a27-9787-d9e7a5d76a6a</guid><dc:creator>dbuijsma</dc:creator><description>&lt;p&gt;Interesting, I had not thought of that. So they config client on my device would send a CONFIG_OPCODE_KEY_REFRESH_PHASE_SET message to&amp;nbsp;its own config-server using the local bearer CORE_TX_BEARER_TYPE_LOCAL (eg, it does not use its own radio?&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll try this out.&lt;/p&gt;
&lt;p&gt;There are&amp;nbsp;serialization calls for similar functions like&amp;nbsp;SERIAL_OPCODE_CMD_MESH_APPKEY_ADD. Couldn&amp;#39;t those&amp;nbsp; be treated the same way? (in that case&amp;nbsp;CONFIG_OPCODE_APPKEY_ADD). Assuming I have that correct, why the distinction in the API?&lt;/p&gt;
&lt;p&gt;And for that matter:&amp;nbsp;the&amp;nbsp;&lt;span&gt;SERIAL_OPCODE_CMD_MESH_SUBNET_UPDATE&amp;nbsp; and also be executed by using the config client&amp;#39;s&amp;nbsp;&lt;/span&gt;CONFIG_OPCODE_NETKEY_UPDATE message.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Could you clarify?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MESH key refresh support in the Serialization interface (ACI)</title><link>https://devzone.nordicsemi.com/thread/277136?ContentTypeID=1</link><pubDate>Tue, 27 Oct 2020 12:51:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:474fcf7d-e4ab-4c9d-8d27-22ad17ff1d93</guid><dc:creator>Mttrinh</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;There aren&amp;#39;t any APIs for that. Those extra commands from 2) and 3) are not needed. You are able to acheive the same effect by letting the PyACI send a config client message KEy Refresh Phase Set to the config server on the connected serial device.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>