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

    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?
    If so, it should be relatively straight forward to change the init of the netcore to change the MAC.

    What do you think about that?

Children
Related