<?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>Runtime identification of BLE controller build/version/configuration</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/121491/runtime-identification-of-ble-controller-build-version-configuration</link><description>We are currently using ncs 2.9.0 on an nRF5340. We use the BT_HCI_OP_VS_READ_VERSION_INFO to determine at runtime what version of the BLE stack is present. This information seems to only contain the git hash for the source. It does not seem to have anything</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 16 May 2025 09:06:34 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/121491/runtime-identification-of-ble-controller-build-version-configuration" /><item><title>RE: Runtime identification of BLE controller build/version/configuration</title><link>https://devzone.nordicsemi.com/thread/535728?ContentTypeID=1</link><pubDate>Fri, 16 May 2025 09:06:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6b639f81-a6f9-44a2-bb3c-9d61b0d4198e</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;No, I do not think you need to reset your network core.&lt;/p&gt;
&lt;p&gt;If you include this in your net core prj.conf, then the firmware string should be built into the netcore ELF.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;CONFIG_FW_INFO=y
CONFIG_PCD=y
CONFIG_FW_INFO_FIRMWARE_VERSION=&amp;quot;netcore_v2.9.0-mybuild&amp;quot;
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;and in your app core prj.conf you have&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;CONFIG_PCD=y
CONFIG_PCD_APP=y
CONFIG_PCD_READ_NETCORE_APP_VERSION=y
CONFIG_NRF53_MULTI_IMAGE_UPDATE=y
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I am not 100% sure if I have covered all config dependencies but in the app core you should be able to query the string like below&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#include &amp;lt;fw_info.h&amp;gt;
#include &amp;lt;pcd/pcd.h&amp;gt;

void print_netcore_version(void)
{
    char ver[64];
    int  len = pcd_network_core_app_version(ver, sizeof(ver));
    if (len &amp;lt; 0) {
        printk(&amp;quot;Failed to read net-core version: %d\n&amp;quot;, len);
    } else {
        ver[len] = &amp;#39;\0&amp;#39;;
        printk(&amp;quot;Running net-core version: %s\n&amp;quot;, ver);
    }
}
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I have not tested this and I know the code looks crude with hardcoded buffer sizes, so please use this as a template. I know that&amp;nbsp;pcd_network_core_app_version is being used in other places in the NCS, so try to grep and understand more on how it is used. I hope this helps.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Runtime identification of BLE controller build/version/configuration</title><link>https://devzone.nordicsemi.com/thread/535590?ContentTypeID=1</link><pubDate>Thu, 15 May 2025 12:43:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c300e2a9-0b2d-42ab-a89e-00425ae479b3</guid><dc:creator>denis</dc:creator><description>&lt;p&gt;We need this to work from the application firmware.&lt;/p&gt;
&lt;p&gt;The link you provided indicates that only works from MCUBoot, before the network firmware is started by the network boot loader? &amp;nbsp;Is that correct?&lt;/p&gt;
&lt;p&gt;If so, is there a way to reboot the network processor after the application starts and in that process get the network firmware version?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Runtime identification of BLE controller build/version/configuration</title><link>https://devzone.nordicsemi.com/thread/535521?ContentTypeID=1</link><pubDate>Thu, 15 May 2025 10:35:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ec1e9123-62d5-4180-807e-28442f222d80</guid><dc:creator>Susheel Nuguru</dc:creator><description>[quote user=""]&amp;nbsp;In our case we want to know what configuration the BLE stack was build with (config parameter), so that our application can act appropriately[/quote]
&lt;p&gt;No, I do not think anything of this info is provided in that version info.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;To keep track of exactly which SDK settings went into your network-core build, you can add your own version tag at compile time. You can drop a line like this into your &lt;code&gt;child_image/.../prj.conf&lt;/code&gt;:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;CONFIG_FW_INFO_FIRMWARE_VERSION=&amp;quot;your_custom_version_here&amp;quot;
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;That string gets baked into the elf FW_INFO section. At runtime, your application can &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/115674/read-network-core-app-version-from-app-core-nrf5340-v2-6-1-to-confirm-successful-update"&gt;read this version from the image&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>