BD ADDR of BCM4343

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

cross mob
Anonymous
Not applicable

Hi,

Hi, i am using wiced sdk 3.5.2 and in this mainly the Bluetooth part.

Similarly one of my colleague also is using the same.

(both being BCM4343 modules)

What i have observed is, even though we change the name of the bluetooth device in each of our firmwares, the bd address (local address) of both the modules are the same.

And because of this, we are not able to work in the same area. (mobiles are getting paired to the other person's module)

So can you please help in this matter?

Is there a way to change the local address (bd addr)?

Thanks in Advance,

Sindhu

0 Likes
1 Solution
Anonymous
Not applicable

No. Please use wiced_bt_set_local_bdaddr(local_address);

View solution in original post

0 Likes
6 Replies
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

I believe you meant to say BCM4343W, not 4343 right?  If BCM4343, which partner module are you using?  These are listed here in the 2016 IoT Solutions Guide

Regarding the BD_ADDR on the 4343W modules, they are globally unique per this thread: Unique information (BD_ADDR,MAC,SN,PKI) on BCM94343W platform during mass production

0 Likes
ChristopherA_76
Employee
Employee
5 likes given First like received First like given

Hello,

You're right, the BD_ADDR needs to be unique when you are prototyping.

When you say you are changing the BD_ADDR in each of your firmwares, how are you doing this?

There's a few ways to change it. The easiest would be to change the make target string in the WICED SDK and add the BT_DEVICE_ADDRESS field, as in the example below....

blood_pressure_monitor-BCM920737TAG_Q32 BT_DEVICE_ADDRESS=123456789012 download

What that will do is bake that address into the firmware file created by the SDK, so that BD_ADDR is the one loaded into RAM at application start.

0 Likes
Anonymous
Not applicable

There is a known issue in SDK 3.5.2 that the HW will not load the BD_ADDR that is uniquely programmed to the device

So application code has to set the unique address explicitly

Or you need to update to SDK 3.6.3+ which fixes this issue

0 Likes
Anonymous
Not applicable

For the 4343W the correct API to set local unique BD address is - wiced_bt_set_local_bdaddr( local_address );

0 Likes
Anonymous
Not applicable

Hi,

Do you mean wiced_bt_dev_write_?

If yes, then i have already tried this.

But there is an error when i compile the code after using this API.

And the error is that there is no definition for this API.

I was able to find wiced_bt_dev_read_ but not 'write' function.

Am i missing something?

0 Likes
Anonymous
Not applicable

No. Please use wiced_bt_set_local_bdaddr(local_address);

0 Likes