I see several similar questions, but I didn't see a conclusive answer.
I want my app to periodically change the MAC address of the beacon. I don't need to control the new MAC address; random is OK.
One of your competitors calls this "peripheral privacy" - in case that helps find the feature.
Does Broadcom have this feature?
Solved! Go to Solution.
To add to j.t 's post, I think what you are referring to is called a resolvable private address (RPA).
RPA is a feature that allows your device to change it's BD_ADDR such that a paired device can still understand it's the same device. I believe that an iOS device supports RPA and changes the BD_ADDR every 15 minutes. It can do this because during the pairing process a special key is distributed to the peer. Therefore, when a peer sees the advertisement from the iPhone, it can decode the BD_ADDR and understand that it is the same device that it was paired with initially.
The BCM20736/7 supports connections from devices that change BD_ADDRs in this manner, however, these devices do not have logic built in to change their own BD_ADDR.
Our developers feel that this feature does not make sense within a Beacon environment as Beacons themselves typically do not support pairing and the information that they broadcast is public.
I believe the original poster was not asking about RPA. Nor was I in the discussion associated to this blog BD_ADDR: Changing BCM20737 Board Address for Production (which is now closed for comments).
As you well say, RPA requires a shared key between the BLE central device and the peripheral. In our case, all we want is the ability to change that BD_ADDR on the device side, without requiring central node intervention. This could be as simple as exposing the prototype of a function like bb_setBdAddress, which seems to be implemented in ROM. Can you confirm this will not be supported in future SDK releases?
I closed the blog for comments because outside of myself, few users monitor blog comments.
I thought the original poster in this thread was referring to RPA as it seems to address changing BD_ADDRs within the application.
Unfortunately, we do not support any form of changing the BD_ADDR within the application, RPA or other.