<?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>Remote provisioning of Dimming Server Example</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/90834/remote-provisioning-of-dimming-server-example</link><description>Hi there. 
 Setup: 
 NRF SDK 17.1.0, MESH SDK 5.0.0, Segger Studio 
 DK1 PCA10056 pb_remote_client (for starting the remote provisioning) 
 DK2 PCA10056 Dimming Server example running, added parts from pb_remote_server for remote provisioning. 
 Issue</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 29 Aug 2022 08:02:48 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/90834/remote-provisioning-of-dimming-server-example" /><item><title>RE: Remote provisioning of Dimming Server Example</title><link>https://devzone.nordicsemi.com/thread/383600?ContentTypeID=1</link><pubDate>Mon, 29 Aug 2022 08:02:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:957a80b6-b07d-4139-8a05-69badd4b34fe</guid><dc:creator>Joakim Jakobsen</dc:creator><description>&lt;p&gt;No problem.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thank you for sharing the solution. That might help others experiencing the same issue in the future.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You are welcome to open a new ticket if you have any further questions.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Br,&amp;nbsp;&lt;br /&gt;Joakim&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Remote provisioning of Dimming Server Example</title><link>https://devzone.nordicsemi.com/thread/383159?ContentTypeID=1</link><pubDate>Thu, 25 Aug 2022 05:51:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9542ccf8-ca55-4811-8fdd-15a470c6be5b</guid><dc:creator>Simsim</dc:creator><description>&lt;p&gt;Hi Joakim&lt;/p&gt;
&lt;p&gt;I do not use the proxy feature actualy.&lt;/p&gt;
&lt;p&gt;The Mesh team did it the other way, i base on the PCA10056 Dimming Server example which has this option already running.&lt;/p&gt;
&lt;p&gt;I will give it a try for my understanding.&lt;/p&gt;
&lt;p&gt;Thanks for helping&lt;/p&gt;
&lt;p&gt;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: Remote provisioning of Dimming Server Example</title><link>https://devzone.nordicsemi.com/thread/382877?ContentTypeID=1</link><pubDate>Tue, 23 Aug 2022 10:26:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ae97f1e2-71af-4575-bb5b-eac657a59d38</guid><dc:creator>Joakim Jakobsen</dc:creator><description>&lt;p&gt;Thank you for the update.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There isn&amp;#39;t anything related to remote provisioning that blocks the usage of the proxy feature, so there could be something related to the configuration.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Do you need to use the proxy feature?&lt;/p&gt;
&lt;p&gt;Comment from out Mesh team:&amp;nbsp;&lt;br /&gt;&amp;quot;For me the MESH_FEATURE_GATT_PROXY_ENABLED option works in pb_remote_server sample, but I had to copy the missing configuration from the light_switch sample as GATT support is not enabled in pb_remote samples by default.&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Br,&amp;nbsp;&lt;br /&gt;Joakim&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Remote provisioning of Dimming Server Example</title><link>https://devzone.nordicsemi.com/thread/382800?ContentTypeID=1</link><pubDate>Tue, 23 Aug 2022 05:43:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3b7ad896-fb2a-43ec-93c5-bc687c7576c8</guid><dc:creator>Simsim</dc:creator><description>&lt;p&gt;Hello Joakim&lt;/p&gt;
&lt;p&gt;below the Print from the call Stack(i supose that is what you are looking for)&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt="Call Stack bevore mesh error 7" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/Error_5F00_call_5F00_stack.JPG" /&gt;&lt;/p&gt;
&lt;p&gt;in the meantime i discovered the source of the error.&lt;/p&gt;
&lt;p&gt;while&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#define MESH_FEATURE_GATT_PROXY_ENABLED                 (1)  // this should be turned off when remote provisioning&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;was true there could be a conflict.&lt;/p&gt;
&lt;p&gt;With disabling the Gatt Proxy the error dissapears, the value of DSM_APP_MAX(8) should be DSM_APP_MAX(10) for my case, otherwise i get an mesh error 5 at the same point.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Remote provisioning of Dimming Server Example</title><link>https://devzone.nordicsemi.com/thread/382757?ContentTypeID=1</link><pubDate>Mon, 22 Aug 2022 17:18:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7867deb7-7ee9-47b5-81fd-ab7e023337a7</guid><dc:creator>Joakim Jakobsen</dc:creator><description>&lt;p&gt;Thanks for the update.&lt;/p&gt;
&lt;p&gt;Had a talk with our developers, who tried the pb_remote example with your configuration and didn&amp;#39;t get the same error.&lt;/p&gt;
&lt;p&gt;Suggestion from our Mesh team: &lt;br /&gt;Put a breakpoint before: &lt;br /&gt;&lt;a href="https://github.com/NordicSemiconductor/nRF5-SDK-for-Mesh/blob/a165eece1b743bc68ef396bf03ba389a0bac6f11/examples/common/src/app_error_weak.c#L115-L119"&gt;https://github.com/NordicSemiconductor/nRF5-SDK-for-Mesh/blob/a165eece1b743bc68ef396bf03ba389a0bac6f11/examples/common/src/app_error_weak.c#L115-L119&lt;/a&gt; &lt;br /&gt;and print stack trace. That way we can get a better idea of what is causing the error.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Br, &lt;br /&gt;Joakim&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Remote provisioning of Dimming Server Example</title><link>https://devzone.nordicsemi.com/thread/382562?ContentTypeID=1</link><pubDate>Mon, 22 Aug 2022 06:28:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0c44b8bd-b5a3-4e3f-9d02-ee404face3bc</guid><dc:creator>Simsim</dc:creator><description>&lt;p&gt;Hi Joakim&lt;/p&gt;
&lt;p&gt;I discovered when the Error occurs,&lt;/p&gt;
&lt;p&gt;When calling&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;p_ctx-&amp;gt;event_handler(&amp;amp;app_event);&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I can work arround this error with a breakpoint at:&lt;/p&gt;
&lt;p&gt;prov_provisinee.c&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;        case NRF_MESH_PROV_STATE_WAIT_DATA:
             __LOG(LOG_SRC_PROV, LOG_LEVEL_INFO, &amp;quot;NRF_MESH_PROV_STATE_WAIT_DATA\n&amp;quot;);
            complete_provisioning(p_ctx);// Set breakpoint here and release it as soon it stops
            p_ctx-&amp;gt;state = NRF_MESH_PROV_STATE_COMPLETE;
            break;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Is there a runtime condition or what is happening?&lt;/p&gt;
&lt;p&gt;kind 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: Remote provisioning of Dimming Server Example</title><link>https://devzone.nordicsemi.com/thread/382281?ContentTypeID=1</link><pubDate>Thu, 18 Aug 2022 12:45:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9f42aaab-9c5f-4460-aa58-9331857a7d7b</guid><dc:creator>Simsim</dc:creator><description>&lt;p&gt;Hi Joakim&lt;/p&gt;
&lt;p&gt;thanks for the advise, i changed DSM_APP_MAX (8) to DSM_APP_MAX(10),&amp;nbsp; clear MCU, Clean and Rebuild Project. it did not help.&lt;/p&gt;
&lt;p&gt;Still &amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp; 3345838&amp;gt;, app_error_weak.c,&amp;nbsp; 115, Mesh error 7 at 0x00000000 (:0)&lt;/p&gt;
&lt;p&gt;On the server i set a breakpoint on dsm_appkey_add() and this point will not be passed till the fault.&lt;/p&gt;
&lt;p&gt;According the graphic of the regular Provisioning the Fault comes inbetween Prov Complete and Link closed.&lt;/p&gt;
&lt;p&gt;Viewed from the client side.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt="Provisioning Flowchart" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/NRF_5F00_Provisioning_5F00_Step_5F00_fail.JPG" /&gt;&lt;/p&gt;
&lt;p&gt;on the Server side i can&amp;#39;t find the NRF_MESH_EVT_PROV_COMPLETE, what i found in prov_utils.c is&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;        /* NRF_MESH_PROV_STATE_WAIT_COMPLETE          */ PROV_PDU_TYPE_COMPLETE       | PDU_VALID_PROVISIONER,
        /* NRF_MESH_PROV_STATE_COMPLETE               */ PROV_PDU_TYPE_INVALID,&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;and PROV_PDU_TYPE_COMPLETE is only used in the provisioning.c&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;uint32_t prov_tx_complete(prov_bearer_t * p_bearer)
{
    prov_pdu_complete_t pdu;
    pdu.pdu_type = PROV_PDU_TYPE_COMPLETE;
    return send_data(p_bearer, (const uint8_t *) &amp;amp;pdu, sizeof(prov_pdu_complete_t));
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Still after reboot the device is provisioned and response on the PB Remote client as expected.&lt;/p&gt;
&lt;p&gt;is there a mecanisme for a forced reboot if an error like this occured?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Remote provisioning of Dimming Server Example</title><link>https://devzone.nordicsemi.com/thread/381931?ContentTypeID=1</link><pubDate>Wed, 17 Aug 2022 08:54:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1d69623b-e0bc-4253-85b7-487801c09af4</guid><dc:creator>Joakim Jakobsen</dc:creator><description>&lt;p&gt;Thank you!&lt;/p&gt;
&lt;p&gt;Got some feedback from our developers that it might be related to &amp;quot;dsm_appkey_add&amp;quot;. Maybe you could try to increase DSM_APP_MAX and see if there is any improvement?&lt;/p&gt;
&lt;p&gt;Br, &lt;br /&gt;Joakim&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Remote provisioning of Dimming Server Example</title><link>https://devzone.nordicsemi.com/thread/381877?ContentTypeID=1</link><pubDate>Wed, 17 Aug 2022 04:32:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3ba45cb5-c359-47e2-b674-0dfcfc265108</guid><dc:creator>Simsim</dc:creator><description>&lt;p&gt;Hi Joakim&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;/* Copyright (c) 2010 - 2020, Nordic Semiconductor ASA
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification,
 * are permitted provided that the following conditions are met:
 *
 * 1. Redistributions of source code must retain the above copyright notice, this
 * list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form, except as embedded into a Nordic
 *    Semiconductor ASA integrated circuit in a product or a software update for
 *    such product, must reproduce the above copyright notice, this list of
 *    conditions and the following disclaimer in the documentation and/or other
 *    materials provided with the distribution.
 *
 * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
 *    contributors may be used to endorse or promote products derived from this
 *    software without specific prior written permission.
 *
 * 4. This software, with or without modification, must only be used with a
 *    Nordic Semiconductor ASA integrated circuit.
 *
 * 5. Any software provided in binary form under this license must not be reverse
 *    engineered, decompiled, modified and/or disassembled.
 *
 * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA &amp;quot;AS IS&amp;quot; AND ANY EXPRESS
 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#ifndef NRF_MESH_CONFIG_APP_H__
#define NRF_MESH_CONFIG_APP_H__

/**
 * @defgroup NRF_MESH_CONFIG_APP nRF Mesh app config
 *
 * Application side configuration file. Should be copied into every
 * application, and customized to fit its requirements.
 * @{
 */

/**
 * @defgroup DEVICE_CONFIG Device configuration
 *
 * @{
 */
/** Define for acknowledging message transaction timeout.
 * @note @tagMeshSp recommends this to be minimum 60s. However, using
 * recommendation can result in client getting blocked for a significant amount of time (60s), if
 * acknowledged transaction does not receive a response.
 */
#define MODEL_ACKNOWLEDGED_TRANSACTION_TIMEOUT  (SEC_TO_US(10))

/** Number of Level client models on the dimming client. */
#define CLIENT_MODEL_INSTANCE_COUNT  (2)

/** Maximum available number of servers to choose correct TTL for the network. */
#define MAX_AVAILABLE_SERVER_NODE_NUMBER  (40)

/** @} end of MODEL_CONFIG */

/**
 * @defgroup DEVICE_CONFIG Device configuration
 *
 * @{
 *


/** Device company identifier. */
#define DEVICE_COMPANY_ID (ACCESS_COMPANY_ID_NORDIC)

/** Device product identifier. */
#define DEVICE_PRODUCT_ID (0x0000)

/** Device version identifier. */
#define DEVICE_VERSION_ID (0x0000)

/** @} end of DEVICE_CONFIG */

/**
 * @defgroup ACCESS_CONFIG Access layer configuration
 * @{
 */

/**
 * The default TTL value for the node.
 */
#define ACCESS_DEFAULT_TTL (4)

/**
 * The number of models in the application.
 *
 * @note To fit the configuration and health models, this value must equal at least
 * the number of models needed by the application plus two.
 */
#define ACCESS_MODEL_COUNT (/* Element 0:                                       */ \
                            1 + /* Config Server                                */ \
                            1 + /* Health Server                                */ \
                            1 + /* Generic Level Server                         */ \
                            1 + /* Default Transition Time Server               */ \
                            1 + /* Scene Server                                 */ \
                            1 + /* Scene Setup Server (extends Scene Server)    */ \
                            1 + /* Backup (extends Scene Server)    */             \
                            1   /* Generic level client (extends Scene Server)  */ )
/**
 * The number of elements in the application.
 *
 * @warning If the application is to support _multiple instances_ of the _same_ model, these instances
 * cannot be in the same element and a separate element is needed for each new instance of the same model.
 */
#define ACCESS_ELEMENT_COUNT (1)

/**
 * The number of (root only) default transition time instances used by the application.
 */
#define GENERIC_DTT_SERVER_INSTANCES_MAX (1)

/**
 * The number of generic level instances used by the application. *
 */
#define GENERIC_LEVEL_SERVER_INSTANCES_MAX (1)

/**
 * The number of scene setup server instances used by the application.
 */
#ifndef SCENE_SETUP_SERVER_INSTANCES_MAX
#define SCENE_SETUP_SERVER_INSTANCES_MAX (1)
#endif

/**
 * The number of allocated subscription lists for the application.
 *
 * @note This value must equal @ref ACCESS_MODEL_COUNT minus the number of
 * models operating on shared states.
 */
#define ACCESS_SUBSCRIPTION_LIST_COUNT (ACCESS_MODEL_COUNT)

/**
 * @defgroup ACCESS_RELIABLE_CONFIG Configuration of access layer reliable transfer
 * @{
 */

/** Number of the allowed parallel transfers (size of the internal context pool). */
#define ACCESS_RELIABLE_TRANSFER_COUNT (ACCESS_MODEL_COUNT)

/** @} end of ACCESS_RELIABLE_CONFIG */


/** @} end of ACCESS_CONFIG */


/**
 * @ingroup HEALTH_MODEL
 * @{
 */

/** The number of instances of the health server model. */
#define HEALTH_SERVER_ELEMENT_COUNT (1)

/** @} end of HEALTH_MODEL */


/**
 * @defgroup DSM_CONFIG Device State Manager configuration
 * Sizes for the internal storage of the Device State Manager.
 * @{
 */
/** Maximum number of subnetworks. */
#define DSM_SUBNET_MAX                                  (4)
/** Maximum number of applications. */
#define DSM_APP_MAX                                     (8)
/** Maximum number of device keys. */
#define DSM_DEVICE_MAX                                  (1)
/** Maximum number of virtual addresses. */
#define DSM_VIRTUAL_ADDR_MAX                            (2)
/** Maximum number of non-virtual addresses.
 * - Generic Level publication
 * - Health publication
 * - Subscription address
 */
#define DSM_NONVIRTUAL_ADDR_MAX                         (3)
/** @} end of DSM_CONFIG */

/** @} */

/**
 * @defgroup NRF_MESH_CONFIG_CORE Compile time configuration
 * Configuration of the compilation of the core mesh modules.
 * @ingroup CORE_CONFIG
 * @{
 */

/**
 * @defgroup MESH_CONFIG_GATT GATT configuration defines
 * @{
 */
/** PB-GATT feature. To be enabled only in combination with linking GATT files. */
#define MESH_FEATURE_PB_GATT_ENABLED                    (1)
/** GATT proxy feature. To be enabled only in combination with linking GATT proxy files. */
#define MESH_FEATURE_GATT_PROXY_ENABLED                 (1) 
/** @} end of MESH_CONFIG_GATT */

/**
 * @defgroup BLE_SOFTDEVICE_SUPPORT_CONFIG BLE SoftDevice support module configuration.
 * @ingroup MESH_API_GROUP_APP_SUPPORT
 * Configuration for compile time. Part of BLE SoftDevice support module.
 *
 * @{
 */
#define GAP_DEVICE_NAME                 &amp;quot;My Node&amp;quot;
/** @} end of BLE_SOFTDEVICE_SUPPORT_CONFIG */

/** @} end of NRF_MESH_CONFIG_CORE */

#endif /* NRF_MESH_CONFIG_APP_H__ */
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Hope that helps&lt;/p&gt;
&lt;p&gt;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: Remote provisioning of Dimming Server Example</title><link>https://devzone.nordicsemi.com/thread/381700?ContentTypeID=1</link><pubDate>Tue, 16 Aug 2022 07:47:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3548217e-4804-4ac5-b960-bb87f10819d8</guid><dc:creator>Joakim Jakobsen</dc:creator><description>&lt;p&gt;Hi.&lt;/p&gt;
&lt;p&gt;Could you also provide the nrf_mesh_config_app.h file?&lt;/p&gt;
&lt;p&gt;Br, &lt;br /&gt;Joakim&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Remote provisioning of Dimming Server Example</title><link>https://devzone.nordicsemi.com/thread/381446?ContentTypeID=1</link><pubDate>Sun, 14 Aug 2022 20:57:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6944c6d2-f370-4c9e-b9ee-68d4b166043a</guid><dc:creator>Joakim Jakobsen</dc:creator><description>&lt;p&gt;Thank you!&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t have much experience with the remote provisioning feature, so I&amp;#39;ve forwarded your request internally to our Mesh developers.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll get back to you with any response from them regarding your issue.&lt;/p&gt;
&lt;p&gt;Br, &lt;br /&gt;Joakim&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Remote provisioning of Dimming Server Example</title><link>https://devzone.nordicsemi.com/thread/381049?ContentTypeID=1</link><pubDate>Wed, 10 Aug 2022 14:24:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4ac87017-3477-476e-814a-0de9e06fd625</guid><dc:creator>Simsim</dc:creator><description>&lt;p&gt;Hi Joakim&lt;/p&gt;
&lt;p&gt;Of course:&lt;/p&gt;
&lt;p&gt;According the Dokumentation on:&lt;/p&gt;
&lt;p&gt;&lt;a title="PB Remote" href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.meshsdk.v5.0.0%2Fmd_doc_user_guide_modules_provisioning_pb_remote.html"&gt;https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.meshsdk.v5.0.0%2Fmd_doc_user_guide_modules_provisioning_pb_remote.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;at the end of the Page.&lt;/p&gt;
&lt;p&gt;main.c&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;// Include remote Provisioning
#include &amp;quot;pb_remote_server.h&amp;quot;
#include &amp;quot;nrf_mesh_prov_bearer_adv.h&amp;quot;
//create struct for Server same with
static pb_remote_server_t         m_remote_server;
static nrf_mesh_prov_bearer_adv_t m_prov_bearer_adv;
static dsm_handle_t               m_netkey_handle;
static dsm_handle_t               m_appkey_handle;
static dsm_handle_t               m_provisioner_address_handle;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;..&lt;/p&gt;
&lt;p&gt;pb_remote_server_init():&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void models_init_cb(void)
{
    __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, &amp;quot;Initializing and adding models\n&amp;quot;);
    //Init all models for Dimming server
    app_model_init();
    // For Remote Provisioner done in app_model_init as well
    &lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void app_model_init(void)
{
    // add remote Provisioning
    ERROR_CHECK(pb_remote_server_init(&amp;amp;m_remote_server, REMOTE_SERVER_ELEMENT_INDEX));
    __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, &amp;quot;remote Level server handle: %d\n&amp;quot;,
          m_remote_server.model_handle)

    /* Instantiate level server on element index APP_LEVEL_ELEMENT_INDEX */
    ERROR_CHECK(app_level_init(&amp;amp;m_level_server_0, APP_LEVEL_ELEMENT_INDEX));
    __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, &amp;quot;App Level Model handle: %d\n&amp;quot;,
          m_level_server_0.server.model_handle)

    /*Instantiate level client on element index APP_LEVEL_ELEMENT_INDEX*/
    for (uint32_t i = 0; i &amp;lt; 1; ++i)//for (uint32_t i = 0; i &amp;lt; CLIENT_MODEL_INSTANCE_COUNT; ++i)
    {&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;pb_remote_server_enable()&lt;/p&gt;
&lt;p&gt;pb_remote_server_prov_bearer_set():&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void provisioning_complete_cb(void)
{
    __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, &amp;quot;Successfully provisioned\n&amp;quot;);

//Remote Provisioning Stuff------------------------------------------------------------------
    unicast_address_print();
    //hal_led_blink_stop();
    //hal_led_mask_set(HAL_LED_MASK, LED_MASK_STATE_OFF);
    //hal_led_blink_ms(HAL_LED_MASK, LED_BLINK_INTERVAL_MS, LED_BLINK_CNT_PROV);
    /* TODO: This should be handled by the configuration server model. */
    mesh_key_index_t net_key_index;
    uint32_t count = 1;
    ERROR_CHECK(dsm_subnet_get_all(&amp;amp;net_key_index, &amp;amp;count));
    m_netkey_handle = dsm_net_key_index_to_subnet_handle(net_key_index);

    uint8_t appkey[NRF_MESH_KEY_SIZE] = {0};
    ERROR_CHECK(dsm_appkey_add(0, m_netkey_handle, appkey, &amp;amp;m_appkey_handle));
    ERROR_CHECK(dsm_address_publish_add(PROVISIONER_ADDRESS, &amp;amp;m_provisioner_address_handle));
    ERROR_CHECK(access_model_application_bind(m_remote_server.model_handle, m_appkey_handle));
    ERROR_CHECK(access_model_publish_address_set(m_remote_server.model_handle, m_provisioner_address_handle));
    ERROR_CHECK(access_model_publish_application_set(m_remote_server.model_handle, m_appkey_handle));
    ERROR_CHECK(access_model_publish_ttl_set(m_remote_server.model_handle, 6));
    ERROR_CHECK(pb_remote_server_enable(&amp;amp;m_remote_server));
    ERROR_CHECK(pb_remote_server_prov_bearer_set(&amp;amp;m_remote_server, nrf_mesh_prov_bearer_adv_interface_get(&amp;amp;m_prov_bearer_adv)));

// End of Remote Provisioning Stuff---------------------------------------------------------------&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;and&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void start(void)
{
    rtt_input_enable(app_rtt_input_handler, RTT_INPUT_POLL_PERIOD_MS);

    if (!m_device_provisioned)
    {
        static const uint8_t static_auth_data[NRF_MESH_KEY_SIZE] = STATIC_AUTH_DATA;
        mesh_provisionee_start_params_t prov_start_params =
        {
            .p_static_data    = static_auth_data,
            .prov_sd_ble_opt_set_cb = NULL,
            .prov_complete_cb = provisioning_complete_cb,
            .prov_device_identification_start_cb =device_identification_start_cb,// NULL, // blink led for User Feedback in pb remote example
            .prov_device_identification_stop_cb = NULL,
            .prov_abort_cb = NULL, // Stop blink Led when aborted
            .p_device_uri = EX_URI_DM_SERVER
        };
        ERROR_CHECK(mesh_provisionee_prov_start(&amp;amp;prov_start_params));
    }
    else
    {
        unicast_address_print();
        // add here remote Provisioning code
        ERROR_CHECK(pb_remote_server_enable(&amp;amp;m_remote_server));
        ERROR_CHECK(pb_remote_server_prov_bearer_set(&amp;amp;m_remote_server, nrf_mesh_prov_bearer_adv_interface_get(&amp;amp;m_prov_bearer_adv)));
        // End remote Provisioning
    }
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;according to the Breakpoint on pb_remote_server_enable() provisioning_complete_cb() is not called due the Mesh error.&lt;/p&gt;
&lt;p&gt;first run -&amp;gt; error after Provisioning complete&lt;/p&gt;
&lt;p&gt;reboot -&amp;gt; device has&amp;nbsp; device adress 0x1337 and &amp;quot;m_device_provisioned&amp;quot; is true&lt;/p&gt;
&lt;p&gt;but since pb_remote_server is not properly set up, so i guess,&amp;nbsp; there is still no function&lt;/p&gt;
&lt;p&gt;first run ( erase mcu done before):&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;&amp;lt;t:      11464&amp;gt;, main.c, 1397, Initializing and adding models
&amp;lt;t:      11468&amp;gt;, main.c,  791, remote Level server handle: 2
&amp;lt;t:      11472&amp;gt;, main.c,  796, App Level Model handle: 3
&amp;lt;t:      11476&amp;gt;, main.c,  814, App DTT Model handle: 5
&amp;lt;t:      11480&amp;gt;, main.c,  821, App Scene Model handle: 7, Element index: 0
&amp;lt;t:      11528&amp;gt;, main.c, 1439, Data in the persistent memory was corrupted. Device starts as unprovisioned.
&amp;lt;t:      11532&amp;gt;, main.c, 1440, Reboot device before starting of the provisioning process.
&amp;lt;t:      16737&amp;gt;, mesh_app_utils.c,   66, Device UUID (raw): 4814A81088874AA89A89EC236FE7D867
&amp;lt;t:      16741&amp;gt;, mesh_app_utils.c,   67, Device UUID : 4814A810-8887-4AA8-9A89-EC236FE7D867
&amp;lt;t:      16752&amp;gt;, main.c, 1605, 
		-------------------------------------------------------------
		 RTT 1) The brightness of the LED 1 decresses in large steps.
		 RTT 2) The brightness of the LED 1 incresses in large steps.
		 RTT 4) Clear all the states to reset the node.
		-------------------------------------------------------------
&amp;lt;t:      36884&amp;gt;, app_level.c,  295, SET: Level: 0  delay: 0  tt: 0  req-delta: 0  trans-type: 0
&amp;lt;t:      36889&amp;gt;, main.c,  773, Transition time: 0, Target level: 0, Transition type: 0
&amp;lt;t:      36893&amp;gt;, app_level.c,  239, Transition completed: Present-L: 0  Target-L: 0
&amp;lt;t:    1237849&amp;gt;, main.c, 1407, Mesh device identification started.
&amp;lt;t:    1268197&amp;gt;, app_error_weak.c,  115, Mesh error 7 at 0x00000000 (:0)&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;subseqent runs:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;&amp;lt;t:      11071&amp;gt;, main.c, 1397, Initializing and adding models
&amp;lt;t:      11074&amp;gt;, main.c,  791, remote Level server handle: 2
&amp;lt;t:      11078&amp;gt;, main.c,  796, App Level Model handle: 3
&amp;lt;t:      11082&amp;gt;, main.c,  814, App DTT Model handle: 5
&amp;lt;t:      11087&amp;gt;, main.c,  821, App Scene Model handle: 7, Element index: 0
&amp;lt;t:      11140&amp;gt;, main.c, 1316, Node Address: 0x1337 
&amp;lt;t:      11143&amp;gt;, mesh_app_utils.c,   66, Device UUID (raw): 4814A81088874AA89A89EC236FE7D867
&amp;lt;t:      11146&amp;gt;, mesh_app_utils.c,   67, Device UUID : 4814A810-8887-4AA8-9A89-EC236FE7D867
&amp;lt;t:      11173&amp;gt;, main.c, 1605, 
		-------------------------------------------------------------
		 RTT 1) The brightness of the LED 1 decresses in large steps.
		 RTT 2) The brightness of the LED 1 incresses in large steps.
		 RTT 4) Clear all the states to reset the node.
		-------------------------------------------------------------
&amp;lt;t:      11488&amp;gt;, app_level.c,  295, SET: Level: 0  delay: 0  tt: 0  req-delta: 0  trans-type: 0
&amp;lt;t:      11493&amp;gt;, main.c,  773, Transition time: 0, Target level: 0, Transition type: 0
&amp;lt;t:      11497&amp;gt;, app_level.c,  239, Transition completed: Present-L: 0  Target-L: 0&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Remote provisioning of Dimming Server Example</title><link>https://devzone.nordicsemi.com/thread/381025?ContentTypeID=1</link><pubDate>Wed, 10 Aug 2022 13:05:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a3a66769-746c-4c70-8ad4-465e66b32bab</guid><dc:creator>Joakim Jakobsen</dc:creator><description>&lt;p&gt;Hi.&amp;nbsp;&lt;/p&gt;
[quote user=""]DK2 PCA10056 Dimming Server example running, added parts from pb_remote_server for remote provisioning.[/quote]
&lt;p&gt;Maybe you could also add some information about how, where and what you have added to your code.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Br,&amp;nbsp;&lt;br /&gt;Joakim&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>