<?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>Retrieving Custom Firmware Version from nRF52 BLE Controller to nRF9160 Host</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/122941/retrieving-custom-firmware-version-from-nrf52-ble-controller-to-nrf9160-host</link><description>Retrieving Custom Firmware Version from nRF52 BLE Controller to nRF9160 Host 
 Product: nRF Connect SDK v2.6.0 Hardware: nRF9160 (Host) connected via UART to nRF52832 (Controller) Controller Firmware: zephyr/samples/bluetooth/hci_uart_async Hi, 
 I have</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 28 Jul 2025 05:55:22 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/122941/retrieving-custom-firmware-version-from-nrf52-ble-controller-to-nrf9160-host" /><item><title>RE: Retrieving Custom Firmware Version from nRF52 BLE Controller to nRF9160 Host</title><link>https://devzone.nordicsemi.com/thread/543677?ContentTypeID=1</link><pubDate>Mon, 28 Jul 2025 05:55:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fadb8e71-586c-4b58-863f-305276276b9f</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Zephyr controller is maintained by open community and the priorities of features are not focused on any one Vendor. Softdevice controller is designed and developed in Nordic and we focus and prioritize use cases and performance of that controller on our chips. So the quality of BLE and power performance of Softdevice controller is more tested than the Zephyr controller on our devices.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Retrieving Custom Firmware Version from nRF52 BLE Controller to nRF9160 Host</title><link>https://devzone.nordicsemi.com/thread/543310?ContentTypeID=1</link><pubDate>Wed, 23 Jul 2025 08:44:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d94d09d7-cc55-4c59-a12d-eb78d3644ef2</guid><dc:creator>tareq_itx</dc:creator><description>&lt;p&gt;Thank you very much for your response!&lt;br /&gt;That solved my problem &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;br /&gt;What is the impact of using the Zephyr controller instead of the SoftDevice Controller on my application on the current consumption?&amp;nbsp;&lt;br /&gt;And why do you recommend the use of the SoftDevice Controller in general ?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Retrieving Custom Firmware Version from nRF52 BLE Controller to nRF9160 Host</title><link>https://devzone.nordicsemi.com/thread/543101?ContentTypeID=1</link><pubDate>Tue, 22 Jul 2025 06:57:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ce2528c5-409c-4235-bcd3-661a50d09f45</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Hi Tareq,&lt;/p&gt;
&lt;p&gt;I over estimated this support. As mentioned &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/89210/read-nrf5340-network-core-fw_info-from-the-app-core/375622"&gt;here&lt;/a&gt;&amp;nbsp;and pointed to this &lt;a href="https://github.com/nrfconnect/sdk-nrfxlib/blob/main/softdevice_controller/include/sdc_hci_vs.h#L38"&gt;enum&amp;nbsp;sdc_hci_opcode_vs&lt;/a&gt;, there is no support for&amp;nbsp;&lt;span&gt;BT_VS_CMD_BIT_READ_BUILD_INFO&amp;nbsp; in Softdevice controller and is only supported by Zephyr controller.&amp;nbsp;&amp;nbsp;Can be selected by enabling CONFIG_BT_LL_SW_SPLIT=y. Apart from this, we recommend the use of SoftDevice Controller&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Retrieving Custom Firmware Version from nRF52 BLE Controller to nRF9160 Host</title><link>https://devzone.nordicsemi.com/thread/542626?ContentTypeID=1</link><pubDate>Wed, 16 Jul 2025 10:33:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f95d7550-fd6b-4940-8e97-1d36a40f1250</guid><dc:creator>tareq_itx</dc:creator><description>&lt;p&gt;Hi Susheel,&amp;nbsp;&lt;br /&gt;Thanks for your response!&lt;br /&gt;As you suggested i added the following configs on the nRF52 side&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;# Enable custom Vendor-Specific HCI commands
CONFIG_BT_HCI_VS=y
CONFIG_BT_HCI_VS_EXT=y
CONFIG_BT_HCI_RAW_CMD_EXT=y&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And on the nRF91 side i added the following code after calling the function&amp;nbsp; be_enable()&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;		err = bt_enable(NULL);
		if (err) {
			LOG_ERR(&amp;quot;Bluetooth enable failed: %d&amp;quot;, err);
			return err;
		}
		ble_is_enabled = true;
	}

	struct net_buf *rsp;
	// Send HCI vendor-specific command
	err = bt_hci_cmd_send_sync(BT_HCI_OP_VS_READ_BUILD_INFO, NULL, &amp;amp;rsp);
    if (err) {
        LOG_ERR(&amp;quot;bt_hci_cmd_send_sync failed (err %d)\n&amp;quot;, err);
        return err;
    }

    if (rsp) {
        uint8_t *data = rsp-&amp;gt;data;
        uint8_t status = data[0];

        LOG_WRN(&amp;quot;VS Build Info Status: 0x%02x\n&amp;quot;, status);

        if (rsp-&amp;gt;len &amp;gt; 1) {
            const char *build_str = (const char *)&amp;amp;data[1];
            LOG_WRN(&amp;quot;VS Build Info: %s\n&amp;quot;, build_str);
        }

        net_buf_unref(rsp);
    }

	LOG_INF(&amp;quot;Start advertising&amp;quot;);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;But what i got is this error bt_hci_cmd_send_sync failed (err -5):&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;[00:01:43.091,918] &amp;lt;inf&amp;gt; bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)
[00:01:43.091,949] &amp;lt;inf&amp;gt; bt_hci_core: HW Variant: nRF52x (0x0002)
[00:01:43.091,979] &amp;lt;inf&amp;gt; bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 54.58864 Build 1214809870
[00:01:43.097,137] &amp;lt;inf&amp;gt; bt_hci_core: Identity: FF:1A:3E:61:5B:4B (random)
[00:01:43.097,167] &amp;lt;inf&amp;gt; bt_hci_core: HCI: version 5.4 (0x0d) revision 0x118f, manufacturer 0x0059
[00:01:43.097,198] &amp;lt;inf&amp;gt; bt_hci_core: LMP: version 5.4 (0x0d) subver 0x118f
[00:01:43.098,052] &amp;lt;wrn&amp;gt; bt_hci_core: opcode 0xfc08 status 0x01
[00:01:43.098,083] &amp;lt;err&amp;gt; bluetooth: bt_hci_cmd_send_sync failed (err -5)
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What could the problem be and how to solve it ?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Retrieving Custom Firmware Version from nRF52 BLE Controller to nRF9160 Host</title><link>https://devzone.nordicsemi.com/thread/542503?ContentTypeID=1</link><pubDate>Tue, 15 Jul 2025 10:24:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d468308e-7b2e-41e9-92d3-ea08b63ef68c</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;On your nRF52 side you need to enable these configs as mentioned in &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/89830/how-to-create-a-hci-vendor-specific-command-of-zephyr"&gt;this &lt;/a&gt;thread. I think the most important ones are the below&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;# Enable custom Vendor-Specific HCI commands
CONFIG_BT_HCI_VS=y
CONFIG_BT_HCI_VS_EXT=y
CONFIG_BT_HCI_RAW_CMD_EXT=y
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;When you prestine build and flash the controller with this, the controller will then respond to&amp;nbsp;&lt;em&gt;&lt;strong&gt;OCF 0x0008&lt;/strong&gt;&lt;/em&gt; with a command complete event with the payload data as below&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;&amp;#39;Status (0x00), v0.19.0-3-g4847332acd8a \0&amp;#39;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Then on host you can call&amp;nbsp;bt_hci_cmd_send_sync(BT_HCI_OP_VS_READ_BUILD_INFO, NULL, &amp;amp;rsp); and get your version string to the LTE side.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>