NRF5340: Read FICR.DEVICEADDR and set BLE MAC random address

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 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.

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't work for random. The HCI command returns SUCCESS though.
devzone.nordicsemi.com/.../setting-nrf5340-public-ble-address

Is there a solution for this specific use case?

Parents Reply
  • So I figure that due to ordering here, you cannot use bt_id_get to get the address.
    Instead, you will have to use the HCI interface to read said address from the network core.

    I tried to do this last week, but were not able to make it work.

    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.

    I suggest that you try to do this.

Children
No Data
Related