<?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 SDK] PB REMOTE - Device crash when provisionning</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/98787/mesh-sdk-pb-remote---device-crash-when-provisionning</link><description>Hi, 
 I try to implement the PB Remote feature on device. 
 I have setup a pb remote server and a pb remote client on two devices. Both are configured. 
 But when a provisioning a device using the pb client and a pb remote as proxy, the currently provisioning</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 30 Jun 2023 15:37:36 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/98787/mesh-sdk-pb-remote---device-crash-when-provisionning" /><item><title>RE: [MESH SDK] PB REMOTE - Device crash when provisionning</title><link>https://devzone.nordicsemi.com/thread/433994?ContentTypeID=1</link><pubDate>Fri, 30 Jun 2023 15:37:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:16251919-e27b-448f-bfc0-7f27aef65caa</guid><dc:creator>neicureuil</dc:creator><description>&lt;p&gt;Hi &lt;a href="https://devzone.nordicsemi.com/members/tesc"&gt;tesc&lt;/a&gt; , do you have any news ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [MESH SDK] PB REMOTE - Device crash when provisionning</title><link>https://devzone.nordicsemi.com/thread/430128?ContentTypeID=1</link><pubDate>Fri, 09 Jun 2023 07:35:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7a8757d5-9efc-4860-87b5-8b3290d93059</guid><dc:creator>neicureuil</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I have tried to disable the pa/lna on the provisionee but same issue, it crashed during the provisioning process.&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [MESH SDK] PB REMOTE - Device crash when provisionning</title><link>https://devzone.nordicsemi.com/thread/430050?ContentTypeID=1</link><pubDate>Thu, 08 Jun 2023 16:11:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b1016a53-f4ed-4896-90b0-bfe81693cce4</guid><dc:creator>neicureuil</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote userid="8164" url="~/f/nordic-q-a/98787/mesh-sdk-pb-remote---device-crash-when-provisionning/430042"]Most likely we would need a trace from a professional sniffer, where you can provide the proper network, device, app keys for deobfuscating and decrypting the messages.[/quote]
&lt;p&gt;What kind of sniffer would do the trick? Is there any way to configure Nrf Sniffer Plugin to use the right network and apps keys to decode messages?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote userid="8164" url="~/f/nordic-q-a/98787/mesh-sdk-pb-remote---device-crash-when-provisionning/430042"]Regarding the provisioning working for a DK, what application did you run on the DK? The difference may be either in the hardware, or in the software, or in both.[/quote]
&lt;p&gt;I run the pb_remote and the provisionee on a custom board.&lt;/p&gt;
&lt;p&gt;I run the provisionner on a nrf52840 DK (and also on a NRF52840 Dongle, which is the final target for the provisioner)&lt;/p&gt;
[quote userid="8164" url="~/f/nordic-q-a/98787/mesh-sdk-pb-remote---device-crash-when-provisionning/430042"]PA / LNA module may make a difference, yes. I assume that you followed the instructions for &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.meshsdk.v5.0.0%2Fmd_doc_user_guide_modules_pa_lna_support.html"&gt;adding a PA/LNA module&lt;/a&gt;, in the nRF5 SDK for Mesh documentation?[/quote]
&lt;p&gt;Yes I follow this documentation to adding it.&lt;/p&gt;
[quote userid="8164" url="~/f/nordic-q-a/98787/mesh-sdk-pb-remote---device-crash-when-provisionning/430042"]Have you tried adding PA/LNA module to an SDK example to check if you make it work for the same application as was working with the DK?[/quote]
&lt;p&gt;I have the PA/LNA active on the provisionee and the pb_remote but not on the provisioner.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [MESH SDK] PB REMOTE - Device crash when provisionning</title><link>https://devzone.nordicsemi.com/thread/430042?ContentTypeID=1</link><pubDate>Thu, 08 Jun 2023 15:25:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:254b9a2f-d20c-4cb3-a9d6-caec510bfaa4</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thanks for the sniffer trace. I am not sure if we have everything for decoding the messages, but I will hear with the mesh team. Most likely we would need a trace from a professional sniffer, where you can provide the proper network, device, app keys for deobfuscating and decrypting the messages.&lt;/p&gt;
&lt;p&gt;Regarding the provisioning working for a DK, what application did you run on the DK? The difference may be either in the hardware, or in the software, or in both.&lt;/p&gt;
&lt;p&gt;PA / LNA module may make a difference, yes. I assume that you followed the instructions for &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.meshsdk.v5.0.0%2Fmd_doc_user_guide_modules_pa_lna_support.html"&gt;adding a PA/LNA module&lt;/a&gt;, in the nRF5 SDK for Mesh documentation?&lt;/p&gt;
&lt;p&gt;Have you tried adding PA/LNA module to an SDK example to check if you make it work for the same application as was working with the DK?&lt;/p&gt;
&lt;p&gt;I will let you know if there are any log settings you can turn on for getting more information out of the logs.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [MESH SDK] PB REMOTE - Device crash when provisionning</title><link>https://devzone.nordicsemi.com/thread/429719?ContentTypeID=1</link><pubDate>Wed, 07 Jun 2023 09:55:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0db256b3-3672-4cbc-a183-8ff9463247dd</guid><dc:creator>neicureuil</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I have snif the communication using Wireshark and Nrf Sniffer plugin.&lt;/p&gt;
&lt;p&gt;The device f4:94:c1:9c:f7:7a is the provisionner.&lt;/p&gt;
&lt;p&gt;The device e6:2b:5c:0e:59:6c is the PB Server.&lt;/p&gt;
&lt;p&gt;The device d5:b1:c0:06:0a:60 is the provisionee.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/3000.sniff.pcapng"&gt;devzone.nordicsemi.com/.../3000.sniff.pcapng&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [MESH SDK] PB REMOTE - Device crash when provisionning</title><link>https://devzone.nordicsemi.com/thread/429693?ContentTypeID=1</link><pubDate>Wed, 07 Jun 2023 07:34:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ccdc13f2-e57a-4480-9701-d2d6f0f284df</guid><dc:creator>neicureuil</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thanks for your answer.&lt;/p&gt;
[quote userid="8164" url="~/f/nordic-q-a/98787/mesh-sdk-pb-remote---device-crash-when-provisionning/429629"]Do you by any chance have a sniffer trace from the communication between PB Remote Server and provisionee, that we can look into?[/quote]
&lt;p&gt;How can I do that ?&lt;/p&gt;
[quote userid="8164" url="~/f/nordic-q-a/98787/mesh-sdk-pb-remote---device-crash-when-provisionning/429629"]&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Are you able to get logs out of the provisionee? (Using custom software if needed?)&lt;/p&gt;[/quote]
&lt;p&gt;I have my app logs but nothing interresting. Which log module can I enable to get more infos ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;An other thing, I have Pa Lna active on my firmware, can it make a difference?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [MESH SDK] PB REMOTE - Device crash when provisionning</title><link>https://devzone.nordicsemi.com/thread/429629?ContentTypeID=1</link><pubDate>Tue, 06 Jun 2023 15:42:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6692e968-d7a5-4583-a5ca-504d5b6301c9</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Feedback from the SoftDevice team is that the crash looks to be timeslot related. Timeslots are scheduled periods of time where the SoftDevice (the BLE stack) gives access to the radio (and other resources) to the application. This is used by the Bluetooth mesh stack in nRF5 SDK, for mesh operation. The assert indicates that resources were still held at the end of the timeslot, typically meaning the timeslot was overstayed.&lt;/p&gt;
&lt;p&gt;Do you by any chance have a sniffer trace from the communication between PB Remote Server and provisionee, that we can look into?&lt;/p&gt;
&lt;p&gt;Are you able to get logs out of the provisionee? (Using custom software if needed?)&lt;/p&gt;
&lt;p&gt;Please note that this is a public ticket. If there are things you cannot share publicly, then please let us know and we will change this into a private ticket.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [MESH SDK] PB REMOTE - Device crash when provisionning</title><link>https://devzone.nordicsemi.com/thread/427094?ContentTypeID=1</link><pubDate>Wed, 24 May 2023 07:16:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8d208c19-3962-40f3-8618-df2b4a345e1b</guid><dc:creator>neicureuil</dc:creator><description>&lt;p&gt;Hi&amp;nbsp; &lt;a href="https://devzone.nordicsemi.com/members/tesc"&gt;tesc&lt;/a&gt; , I&amp;#39;m sorry for the spam but this issue is really important for me &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [MESH SDK] PB REMOTE - Device crash when provisionning</title><link>https://devzone.nordicsemi.com/thread/424022?ContentTypeID=1</link><pubDate>Fri, 05 May 2023 13:40:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b18acf70-38d3-4e12-8497-dff0570d7891</guid><dc:creator>neicureuil</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;No news from Soft Device team ? &lt;a href="https://devzone.nordicsemi.com/members/tesc"&gt;tesc&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [MESH SDK] PB REMOTE - Device crash when provisionning</title><link>https://devzone.nordicsemi.com/thread/422668?ContentTypeID=1</link><pubDate>Thu, 27 Apr 2023 08:28:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:93563308-6796-4863-bfd4-1edf94c36b99</guid><dc:creator>neicureuil</dc:creator><description>&lt;p&gt;If its work on a DK, what could be the cause of the problem on the custom board?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [MESH SDK] PB REMOTE - Device crash when provisionning</title><link>https://devzone.nordicsemi.com/thread/422228?ContentTypeID=1</link><pubDate>Tue, 25 Apr 2023 09:24:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b2889df6-348a-4363-8544-af85a1bf1eae</guid><dc:creator>neicureuil</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I have test to use a DK as a provisionee and it seems to work. The DK doesn&amp;#39;t crash.&lt;/p&gt;
&lt;p&gt;But what I didn&amp;#39;t understand, it&amp;#39;s why it&amp;#39;s work when I make a &amp;quot;normal&amp;quot; provisionning, and why it doesn&amp;#39;t when I make a &amp;quot;pb remote&amp;quot; provisionning. What is the difference from the provisionee side ?&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [MESH SDK] PB REMOTE - Device crash when provisionning</title><link>https://devzone.nordicsemi.com/thread/421998?ContentTypeID=1</link><pubDate>Mon, 24 Apr 2023 10:56:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:779d711e-feaa-4fbb-bd0c-2a7910b3f0ff</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thank you for the added information. It may be of importance.&lt;/p&gt;
&lt;p&gt;Regarding the cause of the assert, it is not necessarily overstayed timeslot, but rather related to interrupts. I assume you are not manually doing anything timeslot or anything manually setting radio interrupts. I think it is more likely that this is either an issue in the mesh stack itself, or it is an issue with the particular board or module that you are using. Maybe as simple as configuring the wrong clock sources or clock accuracies for your board, if based off of code written for a particular DK.&lt;/p&gt;
&lt;p&gt;The assert points at radio interrupts, but the issue may still be timing related. Can you test and see if you are able to reproduce the issue using DKs?&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [MESH SDK] PB REMOTE - Device crash when provisionning</title><link>https://devzone.nordicsemi.com/thread/421960?ContentTypeID=1</link><pubDate>Mon, 24 Apr 2023 08:30:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:78959ee0-d638-4247-a15e-68783d57a079</guid><dc:creator>neicureuil</dc:creator><description>&lt;p&gt;Another piece of information I forgot to mention : my projects are based on the examples of coexistence sdk because I need both uart and mesh.&lt;/p&gt;
&lt;p&gt;Can the potential conflict between timeslots come from this ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [MESH SDK] PB REMOTE - Device crash when provisionning</title><link>https://devzone.nordicsemi.com/thread/421811?ContentTypeID=1</link><pubDate>Fri, 21 Apr 2023 14:53:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cea98555-2669-4d23-98d7-26a9694545bb</guid><dc:creator>neicureuil</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote userid="8164" url="~/f/nordic-q-a/98787/mesh-sdk-pb-remote---device-crash-when-provisionning/421552"]What DKs, modules or custom boards are you using for the devices involved?[/quote]
&lt;p&gt;I use a custom board based on an NRF52840 packaged inside a ublock nina.&lt;/p&gt;
&lt;p&gt;I use the s140_nrf52_7.2.0, the nrf sdk for mesh 5.0.0 and the nrf sdk 17.1.0&lt;/p&gt;
[quote userid="8164" url="~/f/nordic-q-a/98787/mesh-sdk-pb-remote---device-crash-when-provisionning/421552"]However this needs confirmation from the SoftDevice team, which may delay until Monday.[/quote]
&lt;p&gt;I will wait the confirmation from the SoftDevice team. Thank you&lt;/p&gt;
[quote userid="8164" url="~/f/nordic-q-a/98787/mesh-sdk-pb-remote---device-crash-when-provisionning/421552"]My main suspicion is that the mesh stack (which takes control of the radio in timeslots provided by the SoftDevice) overstays in the timeslot, leading to the SoftDevice detecting that BLE stack activity have missed timing events and therefore issuing an assert (which in production leads to reset.) [/quote]
&lt;p&gt;If it&amp;#39;s that, what can I do to avoid it ?&lt;/p&gt;
&lt;p&gt;Is there a way to check this from the code?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [MESH SDK] PB REMOTE - Device crash when provisionning</title><link>https://devzone.nordicsemi.com/thread/421552?ContentTypeID=1</link><pubDate>Thu, 20 Apr 2023 15:14:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eec8c20f-42e8-4563-8da1-687481f5c60a</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The program counter value of 0x15BA4 is exactly what we need, yes. That is the exact place in the SoftDevice where the assert happens. This in turn will give us a clue as to what might be the main issue, and/or what should be investigated further.&lt;/p&gt;
&lt;p&gt;My main suspicion is that the mesh stack (which takes control of the radio in timeslots provided by the SoftDevice) overstays in the timeslot, leading to the SoftDevice detecting that BLE stack activity have missed timing events and therefore issuing an assert (which in production leads to reset.) This is a fault prevention measure in the SoftDevice. However this needs confirmation from the SoftDevice team, which may delay until Monday.&lt;/p&gt;
&lt;p&gt;In the mean time, to better understand your setup and what may be required for triggering the issue: What DKs, modules or custom boards are you using for the devices involved?&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [MESH SDK] PB REMOTE - Device crash when provisionning</title><link>https://devzone.nordicsemi.com/thread/421379?ContentTypeID=1</link><pubDate>Thu, 20 Apr 2023 07:18:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1dad4e13-867b-4944-91fe-7f0ab64303a6</guid><dc:creator>neicureuil</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;This is the schema for the devices that I mentioned : &lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/4885.Sans-titre.png" /&gt;&lt;/p&gt;
&lt;p&gt;The &amp;quot;Sending static auth keys&amp;quot; was showed on the provisioner and it&amp;#39;s the last message got before a provisioning failed message. This is the function in my &amp;quot;provisioner_helper.c&amp;quot; that show this message :&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void prov_evt_handler(const nrf_mesh_prov_evt_t * p_evt)
{
    static dsm_handle_t addr_handle;
    static dsm_handle_t devkey_handle;

    switch (p_evt-&amp;gt;type)
    {
      case NRF_MESH_PROV_EVT_UNPROVISIONED_RECEIVED:
      {
        if (!has_prov_request)
        {
          serial_unprov_found(p_evt-&amp;gt;params.unprov.device_uuid);
        }
        break;
      }

      case NRF_MESH_PROV_EVT_LINK_CLOSED:
      {
        NRF_LOG_INFO(&amp;quot;Local provisioning link closed: prov_state: %d\n&amp;quot;, m_prov_state);
        if (m_prov_state == PROV_STATE_PROV)
        {
            m_prov_state = PROV_STATE_IDLE;
            m_provisioner.p_prov_failed_cb();
        }
        else if (m_prov_state == PROV_STATE_COMPLETE)
        {
          serial_prov_step_cb(PROV_STATE_LINK_CLOSE);

          m_provisioner.p_nw_data-&amp;gt;provisioned_devices++;
          m_provisioner.p_prov_success_cb(m_provisioner.p_nw_data-&amp;gt;last_device_address);

          NRF_LOG_INFO(&amp;quot;Provisioning complete. %s - address: 0x%04x elements: %x\n&amp;quot;, m_provisioner.p_nw_data-&amp;gt;current_uri, m_provisioner.p_nw_data-&amp;gt;last_device_address, m_target_elements);

          // Start device configuration after provisioning is complete.
          node_setup_start(m_provisioner.p_nw_data-&amp;gt;last_device_address,
                           PROVISIONER_RETRY_COUNT,
                           m_provisioner.p_nw_data-&amp;gt;appkey,
                           APPKEY_INDEX,
                           NETKEY_INDEX,
                           m_provisioner.p_nw_data-&amp;gt;current_uri,
                           true);
          m_prov_state = PROV_STATE_IDLE;
        }
        break;
      }

      case NRF_MESH_PROV_EVT_COMPLETE:
      {
        NRF_LOG_INFO(&amp;quot;Provisioning completed received\n&amp;quot;);
        m_prov_state = PROV_STATE_COMPLETE;

        // Generate custom devkey (same generation are done in the device side, so if you change it, you also need to change it in the device)
        uint8_t custom_devkey[NRF_MESH_KEY_SIZE];
        for (uint8_t i=0; i&amp;lt;NRF_MESH_KEY_SIZE; i++)
        {
          custom_devkey[i] = prov_uuid[i%6];
        }

        //After provisioning completes, add corresponding node&amp;#39;s address and device key to local database
        NRF_LOG_INFO(&amp;quot;Adding device address, and device keys\n&amp;quot;);

        if (dsm_address_publish_add(p_evt-&amp;gt;params.complete.p_prov_data-&amp;gt;address, &amp;amp;addr_handle) != NRF_SUCCESS)
        {
          NRF_LOG_INFO(&amp;quot;Prov complete error : dsm_address_publish_add&amp;quot;);
        }
        else if (dsm_devkey_add(p_evt-&amp;gt;params.complete.p_prov_data-&amp;gt;address, m_provisioner.p_dev_data-&amp;gt;m_netkey_handle, custom_devkey, &amp;amp;devkey_handle) != NRF_SUCCESS)
        {
          NRF_LOG_INFO(&amp;quot;Prov complete error : dsm_devkey_add&amp;quot;);
        }
        else if (config_client_server_bind(devkey_handle) != NRF_SUCCESS)
        {
          NRF_LOG_INFO(&amp;quot;Prov complete error : config_client_server_bind&amp;quot;);
        }
        else if (config_client_server_set(devkey_handle, addr_handle) != NRF_SUCCESS)
        {
          NRF_LOG_INFO(&amp;quot;Prov complete error : config_client_server_set&amp;quot;);
        }

        NRF_LOG_INFO(&amp;quot;Addr: 0x%04x addr_handle: %d netkey_handle: %d devkey_handle: %d\n&amp;quot;, p_evt-&amp;gt;params.complete.p_prov_data-&amp;gt;address, addr_handle, m_provisioner.p_dev_data-&amp;gt;m_netkey_handle, devkey_handle);
        break;
      }

      case NRF_MESH_PROV_EVT_CAPS_RECEIVED:
      {
        m_target_elements = p_evt-&amp;gt;params.oob_caps_received.oob_caps.num_elements;

        uint32_t status = nrf_mesh_prov_oob_use(p_evt-&amp;gt;params.oob_caps_received.p_context, NRF_MESH_PROV_OOB_METHOD_STATIC, 0, NRF_MESH_KEY_SIZE);
        if (status != NRF_SUCCESS)
        {
            NRF_LOG_INFO(&amp;quot;Provisioning Failed. Cannot select static OOB. Could not assign node addr: 0x%04x\n&amp;quot;, m_provisioner.p_nw_data-&amp;gt;last_device_address);
            m_prov_state = PROV_STATE_IDLE;
            m_provisioner.p_prov_failed_cb();
        }
        break;
      }

      case NRF_MESH_PROV_EVT_STATIC_REQUEST:
      {
        const uint8_t static_data[NRF_MESH_KEY_SIZE] = STATIC_AUTH_DATA;
        if (nrf_mesh_prov_auth_data_provide(p_evt-&amp;gt;params.static_request.p_context, static_data, NRF_MESH_KEY_SIZE) != NRF_SUCCESS)
        {
          NRF_LOG_INFO(&amp;quot;Static authentication data provided failed\n&amp;quot;);
          m_prov_state = PROV_STATE_IDLE;
          m_provisioner.p_prov_failed_cb();
          break;
        }
        NRF_LOG_INFO(&amp;quot;Static authentication data provided\n&amp;quot;);
        serial_prov_step_cb(PROV_STATE_AUTH_DATA);
        break;
      }

      case NRF_MESH_PROV_EVT_LINK_ESTABLISHED:
      {
        NRF_LOG_INFO(&amp;quot;Provisioning link established\n&amp;quot;);
        serial_prov_step_cb(PROV_STATE_LINK_OPEN);
        break;
      }

      default:
        break;
    }

}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Yes I use a custom assetion_handler that is :&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#include &amp;quot;app_error.h&amp;quot;
#if NRF_SD_BLE_API_VERSION == 1
#include &amp;quot;nordic_common.h&amp;quot;
#endif

#include &amp;quot;nrf_log.h&amp;quot;
#include &amp;quot;nrf_log_ctrl.h&amp;quot;
#include &amp;quot;app_util_platform.h&amp;quot;
#include &amp;quot;nrf_strerror.h&amp;quot;

#if defined(SOFTDEVICE_PRESENT) &amp;amp;&amp;amp; SOFTDEVICE_PRESENT
#include &amp;quot;nrf_sdm.h&amp;quot;
#endif


void mesh_assertion_handler(uint32_t pc)
{
    assert_info_t assert_info =
    {
        .line_num    = 0,
        .p_file_name = (uint8_t *)&amp;quot;&amp;quot;,
    };
#if NRF_SD_BLE_API_VERSION == 1
    app_error_handler(NRF_FAULT_ID_SDK_ASSERT, pc, (const uint8_t *) &amp;quot;error&amp;quot;);
#elif NRF_SD_BLE_API_VERSION &amp;gt;= 2
    app_error_fault_handler(NRF_FAULT_ID_SDK_ASSERT, pc, (uint32_t)(&amp;amp;assert_info));
#endif

    UNUSED_VARIABLE(assert_info);
}

void app_error_fault_handler(uint32_t id, uint32_t pc, uint32_t info)
{
    __disable_irq();
    NRF_LOG_FINAL_FLUSH();

#ifndef DEBUG
    NRF_LOG_ERROR(&amp;quot;Fatal error&amp;quot;);
#else
    switch (id)
    {
#if defined(SOFTDEVICE_PRESENT) &amp;amp;&amp;amp; SOFTDEVICE_PRESENT
        case NRF_FAULT_ID_SD_ASSERT:
            NRF_LOG_ERROR(&amp;quot;SOFTDEVICE: ASSERTION FAILED&amp;quot;);
            break;
        case NRF_FAULT_ID_APP_MEMACC:
            NRF_LOG_ERROR(&amp;quot;SOFTDEVICE: INVALID MEMORY ACCESS&amp;quot;);
            break;
#endif
        case NRF_FAULT_ID_SDK_ASSERT:
        {
            assert_info_t * p_info = (assert_info_t *)info;
            NRF_LOG_ERROR(&amp;quot;ASSERTION FAILED at %s:%u&amp;quot;,
                          p_info-&amp;gt;p_file_name,
                          p_info-&amp;gt;line_num);
            break;
        }
        case NRF_FAULT_ID_SDK_ERROR:
        {
            error_info_t * p_info = (error_info_t *)info;
            NRF_LOG_ERROR(&amp;quot;ERROR %u [%s] at %s:%u\r\nPC at: 0x%08x&amp;quot;,
                          p_info-&amp;gt;err_code,
                          nrf_strerror_get(p_info-&amp;gt;err_code),
                          p_info-&amp;gt;p_file_name,
                          p_info-&amp;gt;line_num,
                          pc);
             NRF_LOG_ERROR(&amp;quot;End of error report&amp;quot;);
            break;
        }
        default:
            NRF_LOG_ERROR(&amp;quot;UNKNOWN FAULT at 0x%08X&amp;quot;, pc);
            break;
    }
#endif

    NRF_BREAKPOINT_COND;
    // On assert, the system can only recover with a reset.

#ifndef DEBUG
    NRF_LOG_WARNING(&amp;quot;System reset&amp;quot;);
    NVIC_SystemReset();
#else
    app_error_save_and_stop(id, pc, info);
#endif // DEBUG
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;How can I get more information of the crash in this ?&lt;/p&gt;
&lt;p&gt;By chaning the log line with this : &amp;nbsp;NRF_LOG_ERROR(&amp;quot;SOFTDEVICE: ASSERTION FAILED: 0x%x&amp;quot;, pc);&lt;/p&gt;
&lt;p&gt;I got : &amp;lt;error&amp;gt; app: SOFTDEVICE: ASSERTION FAILED: 0x15BA4&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;After more test, I the provisioning crashed at differents steps : sometimes after Auth Keys, sometimes during Models Configurations, sometimes just after the link opening. But each time I got the same error message, and the value for pc : 0x15BA4&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regardst&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [MESH SDK] PB REMOTE - Device crash when provisionning</title><link>https://devzone.nordicsemi.com/thread/421301?ContentTypeID=1</link><pubDate>Wed, 19 Apr 2023 15:43:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9bcf7411-5be3-4867-a00b-33b69724d1c0</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;There can be a lot of devices involved in remote provisioning, as well as a lot of terminology. Therefore, can you please confirm my assumptions and provide the missing details as per my questions below?&lt;/p&gt;
&lt;p&gt;I will be referring to the following setup, from the &lt;a 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;Remote provisioning (PB-remote)&lt;/a&gt; documentation:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1681917615373v1.png" alt=" " /&gt;&lt;/p&gt;
[quote user=""]But when a provisioning a device[/quote]
&lt;p&gt;1) I assume this device is the device shown as &amp;quot;Provisionee&amp;quot; in the figure?&lt;/p&gt;
[quote user=""]using the pb client[/quote]
&lt;p&gt;2) I assume the pb client is the PBR Client (Provisioner) in the figure?&lt;/p&gt;
[quote user=""]and a pb remote as proxy[/quote]
&lt;p&gt;3) I am a bit confused which device and what role you mean here. Is it one of the devices in the above figure (if so which one)?&lt;/p&gt;
&lt;p&gt;4) By &amp;quot;proxy&amp;quot;, do you mean a device which you connect to through use of the GATT Proxy feature, or do you mean proxy in terms of provisioning, or other?&lt;/p&gt;
[quote user=""]the currently provisioning device crash[/quote]
&lt;p&gt;5) Is this the PBR Client (Provisioner), or is it the PBR Server, in the figure, or is it another device?&lt;/p&gt;
[quote user=""]after the &amp;quot;Sending static auth keys&amp;quot; step[/quote]
&lt;p&gt;I am afraid I do need some more pointers to what you are referring to here:&lt;/p&gt;
&lt;p&gt;6) Did you find this step mentioned in a log message? If so what is the verbatim log message, and from which device?&lt;/p&gt;
&lt;p&gt;7) Do you refer to a place in the documentation? (If so where?)&lt;/p&gt;
[quote user=""]If I enable DEBUG &amp;amp;&amp;nbsp;DEBUG_NR, I got : &amp;quot;&amp;lt;error&amp;gt; app: SOFTDEVICE: ASSERTION FAILED&amp;quot;[/quote]
&lt;p&gt;This error message comes from the application, and there are no such error log messages in any of the examples in the SDK. Therefore it most likely comes from your specific application, for instance from a custom assert handler. The wording of the log message indicates that something went wrong in the SoftDevice (the BLE stack.) Typically, if using the default error handling in the nRF5 SDK for Mesh, you will at least get a memory address for where the assert happens. With that address we are able to look into it from our side, but here there is no information about what or where it crashes.&lt;/p&gt;
&lt;p&gt;8) On which device do you get this output, and what is the code in your application responsible for printing this message.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>