<?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>NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/110610/nrf5340-read-ficr-deviceaddr-and-set-ble-mac-random-address</link><description>Hi all, 
 NRF5340 NRF Connect 2.6.0 
 We would like to perform the following operations on the NRF5340: * Read FICR.DEVICEADDR (BLE random MAC is also fine). * Set the BLE address with type random. 
 Seems the FICR.DEVICEADDR is only accessible by the</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 18 Jul 2024 09:09:01 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/110610/nrf5340-read-ficr-deviceaddr-and-set-ble-mac-random-address" /><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/494512?ContentTypeID=1</link><pubDate>Thu, 18 Jul 2024 09:09:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:de8353ba-2ae5-4376-8beb-87e5a93ffcb1</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;NDoan, could you make a new ticket for this, and we will follow up in that one&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/494443?ContentTypeID=1</link><pubDate>Thu, 18 Jul 2024 00:29:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6b76d0be-3bba-40e4-a6bf-30e190a6669c</guid><dc:creator>npd</dc:creator><description>&lt;p&gt;Hi Sigurd, &lt;/p&gt;
&lt;p&gt;Yes. I need to retrieve FICR_DEVICEADDR from the net core to the app core.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/494355?ContentTypeID=1</link><pubDate>Wed, 17 Jul 2024 12:26:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:656f6d8e-28c9-4a45-a0b8-94423034de3e</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Rait:&lt;/p&gt;
&lt;p&gt;I am not currently able to provide such a code snippet. If you ask again in a month, the chance is better.&lt;/p&gt;
&lt;p&gt;NDoan:&lt;br /&gt;The use-case in this ticket is kinda narrow. Are you sure that you need the same?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/492833?ContentTypeID=1</link><pubDate>Tue, 09 Jul 2024 00:18:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d1045ef6-b1fa-43a9-8da5-e9e2c8c24c1d</guid><dc:creator>npd</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Do you have the solution to read FICR.DEVICEADDR?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/492048?ContentTypeID=1</link><pubDate>Wed, 03 Jul 2024 11:35:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ca6de938-a098-478a-976f-54f14cdb3f4a</guid><dc:creator>Rait</dc:creator><description>&lt;p&gt;Thanks. Could you please share a code snippet on how to achieve this.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/490277?ContentTypeID=1</link><pubDate>Mon, 24 Jun 2024 12:23:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c50bcfd8-937a-4e57-8ffe-b78129837ce7</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;So I figure that due to ordering here, you cannot use bt_id_get to get the address.&lt;br /&gt;Instead, you will have to use the HCI interface to read said address from the network core.&lt;/p&gt;
&lt;p&gt;I tried to do this last week, but were not able to make it work.&lt;/p&gt;
&lt;p&gt;But, the application core has to read this address over HCI at some point in its normal start-up procedure, when it sets it to the default address, so this should be possible.&lt;/p&gt;
&lt;p&gt;I suggest that you try to do this.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/489767?ContentTypeID=1</link><pubDate>Thu, 20 Jun 2024 13:14:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c7e00fd8-0471-47b3-93f1-41b10354716d</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;This is taking some more time to figure out than expected, but know that I am still looking into it&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/489017?ContentTypeID=1</link><pubDate>Mon, 17 Jun 2024 08:15:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f1000514-fe25-433c-99e6-c935be569806</guid><dc:creator>Rait</dc:creator><description>&lt;p&gt;Didn&amp;#39;t quite get the question. Sequence of operations is as follows:&lt;/p&gt;
&lt;p&gt;&lt;span&gt;bt_enable&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;bt_id_get - this fails&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;ble_set_mac&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/488824?ContentTypeID=1</link><pubDate>Fri, 14 Jun 2024 09:25:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6063b3a9-28b0-4c91-8035-8d0b65b97fa9</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Without changing the mac, where would you have to call bt_id_get from to get it?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/488778?ContentTypeID=1</link><pubDate>Fri, 14 Jun 2024 02:47:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a4c34edb-5557-42ce-b758-1bc15162df29</guid><dc:creator>Rait</dc:creator><description>&lt;p&gt;I&amp;#39;ve&amp;nbsp;managed to change the MAC address with the code snippet you provided. It seems I was missing&amp;nbsp;CONFIG_BT_SETTINGS earlier.&lt;/p&gt;
&lt;p&gt;However, when&amp;nbsp;CONFIG_BT_SETTINGS is enabled, Calling&amp;nbsp;bt_id_get after&amp;nbsp;bt_enable and before&amp;nbsp;ble_set_mac returns id count of 0. How would I get the actual random address?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/484735?ContentTypeID=1</link><pubDate>Thu, 16 May 2024 14:26:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3fe417ef-8620-4a3b-8918-d663f5eca1b5</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;I tried the stuff in that post on our &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/samples/bluetooth/central_uart/README.html"&gt;BLE UART Central&lt;/a&gt; sample.&lt;/p&gt;
&lt;p&gt;Here is what I changed:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;diff --git a/samples/bluetooth/central_uart/src/main.c b/samples/bluetooth/central_uart/src/main.c
index 756b8d136..9a7ea5002 100644
--- a/samples/bluetooth/central_uart/src/main.c
+++ b/samples/bluetooth/central_uart/src/main.c
@@ -17,6 +17,7 @@
 
 #include &amp;lt;zephyr/bluetooth/bluetooth.h&amp;gt;
 #include &amp;lt;zephyr/bluetooth/hci.h&amp;gt;
+#include &amp;lt;zephyr/bluetooth/hci_vs.h&amp;gt;
 #include &amp;lt;zephyr/bluetooth/conn.h&amp;gt;
 #include &amp;lt;zephyr/bluetooth/uuid.h&amp;gt;
 #include &amp;lt;zephyr/bluetooth/gatt.h&amp;gt;
@@ -548,6 +549,28 @@ static struct bt_conn_auth_info_cb conn_auth_info_callbacks = {
 	.pairing_failed = pairing_failed
 };
 
+
+
+void ble_set_mac(bt_addr_t* addr)
+{
+	struct net_buf *buf;
+	int rc;
+
+	buf = bt_hci_cmd_create(BT_HCI_OP_VS_WRITE_BD_ADDR, sizeof(*addr));
+	if (!buf) {
+		LOG_ERR(&amp;quot;failed to create buffer [%d]&amp;quot;, -ENOBUFS);
+	}
+
+	net_buf_add_mem(buf, addr, sizeof(*addr));
+
+	rc = bt_hci_cmd_send_sync(BT_HCI_OP_VS_WRITE_BD_ADDR, buf, NULL);
+	if (rc) {
+		LOG_ERR(&amp;quot;failed to set BT address [%d]&amp;quot;, rc);
+	}
+}
+
+
+
 int main(void)
 {
 	int err;
@@ -570,6 +593,20 @@ int main(void)
 		return 0;
 	}
 	LOG_INF(&amp;quot;Bluetooth initialized&amp;quot;);
+/* check for public address in UICR.OPT area */
+
+  LOG_INF(&amp;quot;setting public address retrieved from UICR&amp;quot;);
+
+  bt_addr_t addr;
+
+  addr.val[0] = 2;
+  addr.val[1] = 2;
+  addr.val[2] = 2;
+  addr.val[3] = 2;
+  addr.val[4] = 2;
+  addr.val[5] = 2;
+  ble_set_mac(&amp;amp;addr);
+
 
 	if (IS_ENABLED(CONFIG_SETTINGS)) {
 		settings_load();
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;And here is the logs from the peripheral UART sample from before and after connecting to the central&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/7230.pastedimage1715869575500v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Could you also test this with these samples on your side?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/483449?ContentTypeID=1</link><pubDate>Wed, 15 May 2024 09:41:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3bf13382-4e80-497a-bb4a-f7784af3dd24</guid><dc:creator>Rait</dc:creator><description>&lt;p&gt;Already tried that as mentioned in the original post. Didn&amp;#39;t work.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/483392?ContentTypeID=1</link><pubDate>Wed, 15 May 2024 06:47:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8e12e8b4-e3c2-4251-a699-f1b43db73c15</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;A colleague suggests &amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/104222/nrf5340---setting-public-bt-address"&gt;nRF5340 - setting public bt address&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;Does that do what you need?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/483326?ContentTypeID=1</link><pubDate>Tue, 14 May 2024 14:21:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d4706177-2644-4c02-8750-c2dd77b90a99</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Figuring this out is taking a hit longer than expected, but I am still on&amp;nbsp; it&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/482758?ContentTypeID=1</link><pubDate>Fri, 10 May 2024 10:08:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d2222403-7c88-4b9e-90de-5917ffccfc19</guid><dc:creator>Rait</dc:creator><description>&lt;p&gt;bt_conn_cb.connected -&amp;gt; bt_conn_get_dst&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/482730?ContentTypeID=1</link><pubDate>Fri, 10 May 2024 07:47:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ab770c1b-f119-4588-bdac-0b33dfa92596</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Ah, it is a central&lt;br /&gt;For clarity: When you say, &amp;quot;The incorrect address is seen on the peripheral side.&amp;quot;, exactly how do you get the MAC at the peripheral side?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/482694?ContentTypeID=1</link><pubDate>Fri, 10 May 2024 04:15:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1de698cf-13ee-465d-bdb5-dd38d6e8cb75</guid><dc:creator>Rait</dc:creator><description>&lt;p&gt;Thanks for the update. I did try the settings load and it made no difference.&lt;/p&gt;
&lt;p&gt;The device in question is a BLE central, so it won&amp;#39;t do any advertising. The incorrect address is seen on the peripheral side.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/481947?ContentTypeID=1</link><pubDate>Mon, 06 May 2024 09:02:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2e23471e-d802-4683-a9c4-e55ba49c0b63</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;I have found that it works like this:&lt;/p&gt;
&lt;p&gt;When you first start the device, the BLE host on the app core will retrieve the address from the network core. This addr will then be saved to app core flash using the Settings module.&lt;/p&gt;
&lt;p&gt;When you start the app and call settings_load() the addr will be loaded from settings.&lt;/p&gt;
&lt;p&gt;From &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/connectivity/bluetooth/api/gap.html#c.bt_id_reset"&gt;bt_id_reset&lt;/a&gt;(): &lt;br /&gt;&amp;quot;the default identity (BT_ID_DEFAULT) cannot be reset&amp;quot;&lt;/p&gt;
&lt;p&gt;This means that to change the MAC, you must add a second addr and advertise the second addr instead of the default ID.&lt;/p&gt;
&lt;p&gt;It should go something like this:&lt;/p&gt;
&lt;p&gt;1. call settings_load()&lt;/p&gt;
&lt;p&gt;2. call &lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;bt_id_create()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;3. Configure advertising to use your MAC instead of the default one.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;You might have to configure CONFIG_BT_ID_MAX to have more IDs.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Possibly the &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/samples/bluetooth/peripheral_identity/README.html"&gt;Bluetooth: Peripheral Identity&lt;/a&gt; may be of some help.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Was this answer what you are looking for?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/481866?ContentTypeID=1</link><pubDate>Sat, 04 May 2024 08:58:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b3f76c8f-e21c-4e16-96aa-390745d88cfa</guid><dc:creator>Rait</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thanks for the reply. As already mentioned we would like to modify the MAC address to also follow the guidelines to Ethernet MAC on top of BLE MAC. So the operation looks like that:&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/pastedimage1714813015077v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/481759?ContentTypeID=1</link><pubDate>Fri, 03 May 2024 11:21:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ada57d44-632f-431e-b884-a8a00b6fdeee</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>[quote user="Rait"]&lt;ul&gt;&lt;li&gt;Read MAC from netcore to appcore&lt;/li&gt;
&lt;li&gt;Modify MAC value.&lt;/li&gt;
&lt;li&gt;Set MAC in netcore from appcore&lt;/li&gt;&lt;/ul&gt;[/quote]
&lt;p&gt;I talked to a colleague about this ticket, and we wonder:&lt;/p&gt;
&lt;p&gt;Why do you need to modify the MAC?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/481300?ContentTypeID=1</link><pubDate>Tue, 30 Apr 2024 13:18:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f276a05f-4fce-4126-b428-773606dc5084</guid><dc:creator>Rait</dc:creator><description>&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;I was hoping for an existing solution. Do you have any good examples how to&amp;nbsp;&lt;span&gt;modify the MAC from the netcore? We are using&amp;nbsp;hci_ipc child image without code modifications.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/480856?ContentTypeID=1</link><pubDate>Fri, 26 Apr 2024 10:10:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d6fc1bde-0de9-4af2-a816-ec61b5f67788</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;I have not checked every corner yet, but I suspect you would have to implement a custom HCI command to set the MAC from appcore.&lt;/p&gt;
&lt;p&gt;To air an idea: Would it be possible to modify the MAC from the netcore, or do you need some knowledge only the appcore has?&lt;br /&gt;If so, it should be relatively straight forward to change the init of the netcore to change the MAC.&lt;/p&gt;
&lt;p&gt;What do you think about that?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/480840?ContentTypeID=1</link><pubDate>Fri, 26 Apr 2024 08:57:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fef35cec-09d0-47de-a338-3090b908e44e</guid><dc:creator>Rait</dc:creator><description>&lt;p&gt;Thanks, seems I missed the fact that there are two different instances of the FICR in the datasheet.&lt;/p&gt;
&lt;p&gt;I would like to achieve these operations in the specified sequence:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Read MAC from netcore to appcore&lt;/li&gt;
&lt;li&gt;Modify MAC value.&lt;/li&gt;
&lt;li&gt;Set MAC in netcore from appcore&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/480812?ContentTypeID=1</link><pubDate>Fri, 26 Apr 2024 07:26:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:58c8deab-2024-4c87-a59c-9ea0393f5e14</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>[quote user=""]Seems the FICR.DEVICEADDR is only accessible by the network core, which AFAIK is not documented anywhere in the PS.[/quote]
&lt;p&gt;It is documented as such:&lt;/p&gt;
&lt;p&gt;The docs have the two sections &lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf5340/chapters/ficr/doc/ficr.html?cp=4_0_0_4_3_1_0#topic"&gt;Appcore FICR&lt;/a&gt; and &lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf5340/chapters/ficr.network/doc/ficr.network.html?cp=4_0_0_5_3_0_0#topic"&gt;Netcore FICR&lt;/a&gt;. DEVICEADDR is only listed in the latter.&lt;/p&gt;
[quote user=""]&lt;p&gt;Seems the FICR.DEVICEADDR is only accessible by the network core, which AFAIK is not documented anywhere in the PS. So need to call bt_enable first to get the random MAC address either via bt_id_get or bt_read_static_addr.&lt;/p&gt;
&lt;p&gt;However, using bt_id_create after BLE has been started does not apply the new MAC address for BLE comms. There seems to be a workaround for setting the public address at runtime, but this doesn&amp;#39;t work for random. The HCI command returns SUCCESS though.&lt;/p&gt;[/quote]
&lt;p&gt;I am a bit confused as to what you are trying to do specifically here&lt;/p&gt;
&lt;p&gt;Which of these do you want?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set MAC in netcore from appcore&lt;/li&gt;
&lt;li&gt;Read MAC from netcore to appcore&lt;/li&gt;
&lt;li&gt;Any of the above&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To read the MAC, I think you could use &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/connectivity/bluetooth/api/hci_drivers.html#c.bt_read_static_addr"&gt;bt_read_static_addr&lt;/a&gt;() to read the addr from netcore over HCI.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address</title><link>https://devzone.nordicsemi.com/thread/480679?ContentTypeID=1</link><pubDate>Thu, 25 Apr 2024 12:13:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:afbdbc66-48ac-4aa9-b97e-502223547ce3</guid><dc:creator>Rait</dc:creator><description>&lt;p&gt;End goal is to use the chip random address as MAC for both BLE and Ethernet. Both have certain requirements for the MAC address format:&lt;/p&gt;
&lt;p&gt;*BLE:&amp;nbsp;&lt;span&gt;2 most significant bits of the 48 bit MAC address must be set to 1 &lt;/span&gt;&lt;span&gt;to identify the address as a Random Static Address.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;*Ethernet: Similar story for uni/multicast / local/global addresses:&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;a href="https://en.wikipedia.org/wiki/MAC_address#/media/File:MAC-48_Address.svg"&gt;en.wikipedia.org/.../MAC_address&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We are aware about the inprobable&amp;nbsp;address conflict.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>