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

cross mob
Anonymous
Not applicable

Does bcm20736 come with a default mac address? Researching through WICED SDK, I see that the mac address can be specified using BT_DEVICE_ADDRESS at compile time. Is that the only mechanism to specify a mac address for bcm20736?

0 Likes
1 Solution

Anytime you generate a random address via the make target (BT_DEVICE_ADDRESS=random or BT_DEVICE_ADDRESS=20736A1*****), it will remain the same random address through power cycles.

An alternative approach is to generate random addresses in the firmware. In this way you can load each board with the same exact image, and have an API set the BD_ADDR to a random value at the application level. This random BD_ADDR will remain the same through power cycles as well. For details, see blecm_set_static_bd_addr.h. This file will need to be patched into the apps makefile.

Jacob

View solution in original post

4 Replies
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

All BCM2073X devices ship with the same MAC address programmed.

Instructions for programming the device with a different MAC address (BD_ADDR) can be found here: Programming the TAG2/TAG3 Board using command line tools

Anonymous
Not applicable

Thank you for that link. We are using BCM20736 in our product, therefore, the instructions for a TAG board wont be applicable for us. I understand that the address can be specified at build time using BT_DEVICE_ADDRESS. When using BT_DEVICE_ADDRESS, it can be set to "random". When using random, is a random BD address generated every time BCM20736 boots up?

Similarly, BT_DEVICE_ADDRESS can be set to "20736A1*****". When using this format, the BD address will be generated and wildchars (*) will be replaced with dynamically generated numbers. Is this dynamic generation done at every boot as well?

0 Likes

Anytime you generate a random address via the make target (BT_DEVICE_ADDRESS=random or BT_DEVICE_ADDRESS=20736A1*****), it will remain the same random address through power cycles.

An alternative approach is to generate random addresses in the firmware. In this way you can load each board with the same exact image, and have an API set the BD_ADDR to a random value at the application level. This random BD_ADDR will remain the same through power cycles as well. For details, see blecm_set_static_bd_addr.h. This file will need to be patched into the apps makefile.

Jacob

Anonymous
Not applicable

Thank you for the clarification.

0 Likes