how to set random static address

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
katagiri
Level 1
Level 1
First like received

I am using SDK 2.2.2 ,and BCM20737S-TAG.

So I want to use "random  static address", I tried to use the function "blecm_startAdv()".

parameters are below:

0x00,(ADV_IND)

32,(32slots)

0x07,(all channels)

HCIULP_RANDOM_ADDRESS,(random_address)

0, (filter disable)

0, (not direct_adv)

NULL(not direct adv)

After that , Tx_Addr has successfully changed "0" to "1" in Adv PDU header ,

but  AdvA has changed "00:00:00:00:00:00".

If I change the parameter  HCIULP_PUBLIC_ADDRESS,

AdvA is same as specified BD_ADDR in Makefile.

In Core Spec 4.2 , 7.8.4 LE Set Random Address Command

is exist , but I can't find this HCI function in blecm.h .

How can I set random static address to blecm?

0 Likes
2 Replies
Anonymous
Not applicable

How about calling blecm_set_static_random_bd_addr() in create function?

0 Likes
katagiri
Level 1
Level 1
First like received

Thank you dmiya

I added blecm_set_static_random_bd_addr() to my function.

( APP_PATCHES_AND_LIBS += bd_addr_control.a)

And I did Make Target with parameter "BT_DEVICE_ADDRESS=FFFFFFFFFFFF" and

build and chipload hex , because  blecm_set_static_random_bd_addr() is only valid when

NVRAM bd_addr equal to FF:FF:FF:FF:FF:FF.

At first power on, random static address has generated and  set

(ex. DE:DD:E2:BF:DC:DD) and perhaps stored in NVRAM(EEPROM).

And advertised with  AdvA and TxAdd=1.

Success !!....

But unfortunately , after second power on  AdvA has changed to "00:00:00:00:00:00" again.

Dumped emConInfo_devInfo.addr[] is keeping DE:DD:E2:BF:DC:DD.

Maybe I have to add some function call , but I can't find API.