Is it possible to access public address once connected and bonded with RPA device ?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Is it possible to access public address once connected and bonded with RPA device ?

Jump to solution
3,104 Views
no6524
Contributor II

I want to configure my device with resolvable private address (using KW36).

I managed to do that using gAppUsePrivacy_d define (alongside gAppUsePairing_d and gAppUseBonding_d).

I connect to my device using an Android smartphone. As soon as I am connected, the smartphone bonds to the device.

My question : in the device, I have configured a public address in gBD_ADDR. Is there a way to access this public address once I get connected ?

My assumption that this is possible comes from the following lines from the BLE specification 4.2 :

If a device is using Resolvable Private Addresses, it shall also have an Identity
Address that is either a Public Device Address or Random Static Device
Address type

Regards

Labels (2)
0 Kudos
Reply
1 Solution
3,087 Views
nxf56274
NXP Employee
NXP Employee

Hi,

You can create a new ble service. This service is used for public address. When your device connected, you device get his own public address and send it to another device. I have checked the api, there is no function to read other device's public address.

Have a great day,
TIC

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 days after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

View solution in original post

0 Kudos
Reply
11 Replies
3,090 Views
no6524
Contributor II

Hi,

Ok I will rephrase my question and add some context.

We already have bought the IEEE public MAC addresses and we plan to have one public MAC address asigned to each of the device we produce.

We do however want to use resolvable private addresses in the advertisement packets. When I connect and bond to a device using RPA, the MAC address that is displayed is the resolvable address that was used at the time of the bonding.

I am wondering if there is any way, once the private address has been resolved by a bonded device, to recover from the resolvable address (or maybe through a device information characteristic?) the corresponding public address that I have setup in my device (or that I have asigned to it).

We already have a current version of the product in production. This version uses the public MAC address in its advertisement. The public MAC address is used in the factory and throughout logistics to track the manufactured devices. If we use resolvable private addresses in the advertisement, the we loose the capability of the device to be tracked during those manufacturing phases. How do people usually handle device identification during production when using RPA ?

0 Kudos
Reply
3,088 Views
nxf56274
NXP Employee
NXP Employee

Hi,

You can create a new ble service. This service is used for public address. When your device connected, you device get his own public address and send it to another device. I have checked the api, there is no function to read other device's public address.

Have a great day,
TIC

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 days after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos
Reply
3,085 Views
no6524
Contributor II

Thanks.

I have seen that the System ID characteristic in the device information service can be used to contain a public MAC address. I'll probably use that.

Before going through this I have one additional (related question) :

Is it possible to switch at runtime between using public MAC address and RPA ? If I could switch at runtime, I would be able to start in production with public MAC address, then once the device is out of the manufacturing process, I would switch its MAC address to use RPA before going on sale. Is there an API for that ?

0 Kudos
Reply
3,080 Views
nxf56274
NXP Employee
NXP Employee

Hi,

It is impossible to switch at running time.

Have a great day,
TIC

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 days after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos
Reply
3,077 Views
no6524
Contributor II

I have found the following functions : BleConnManager_EnablePrivacy() and BleConnManager_DisablePrivacy()

Could I use these to switch between public MAC address and resolvable private addresses ?

0 Kudos
Reply
3,073 Views
nxf56274
NXP Employee
NXP Employee

The privacy is controlled by macro 'gAppUsePrivacy_d'. This will influence the code compiling. You can't just enable or disable to control the privacy.

0 Kudos
Reply
3,071 Views
no6524
Contributor II

So what is the purpose of the two functions I quoted earlier (BleConnManager_EnablePrivacy) ?

0 Kudos
Reply
3,066 Views
nxf56274
NXP Employee
NXP Employee

The compiling code will be influenced by 'gAppUsePrivacy_d'. It is not just using this two function to control the privacy. If you insist on doing this, the code modification will be very large and may cause many other problems. No one else has done this task.

0 Kudos
Reply
3,063 Views
no6524
Contributor II

Ok I see. Is this something that is currently being worked on for a future release of the SDK (I am currently on SDK 2.2.9).

And if not, would it be possible to work with NXP's FAEs to allow this to work ?

0 Kudos
Reply
3,049 Views
nxf56274
NXP Employee
NXP Employee

You can visit the NXP website and use live chat to ask the information about your fae requirements.

0 Kudos
Reply
3,098 Views
nxf56274
NXP Employee
NXP Employee

Hi,

The public address is assigned by IEEE. If you want to use this address, you have to buy it from IEEE.

Have a great day,
TIC

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 days after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos
Reply