How to configure QN908x Peripheral for Whitelist feature

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How to configure QN908x Peripheral for Whitelist feature

1,433件の閲覧回数
kishansa
Contributor I

Hi All, 

Configured BLE QN908x configured as Peripheral Device, and here we are using Heart Rate Sensor Application with a small change ie- the peripheral device is visible to all until its paired to a device for the first time, this will increment the bonded device count. And once the bonded count greater than 0, then onwards device will start addvertise with whitelist filter option.

In the Heart Rate Sensor SDK example code enabled gAppUseBonding_d, gAppUsePairing_d,gAppUseNvm_d in the app_preinclude.h

With this implementation able to connect and read the read the Heart Rate data for the first time, second time onwards after we turn on the peripheral device - we are not able to connect to this device from the previously paired Central device. nRFConnect Android application on the Central device shows 257 error which is Unknow error code. For your reference am attaching the code - tried with SDK version 2.x to 2.6.

And am able to see Peripheral advertisiement packet on a Desktop system using tool "BLE GUI 1.10.x" when the peripheral is turned on with Whitelisting feature, am expecting here peripheral is visible only to whitelisted devices.

Any suggestion or input on how exactly to implement the above requirements.

 

Regards,

 kishan

0 件の賞賛
返信
9 返答(返信)

1,375件の閲覧回数
kishansa
Contributor I

Hello Eduardo, 

We used Android Devices (Android Version 10 +) as a central device, and am not sure by default all these Android devices configured with BLE random address feature. 

My understanding was BLE device should be able to discover the Bonded devices.

If the whitelist procedure not work properly when BLE central uses Random address,  is there any alternative to hide a peripheral device when it wants to connect only to the paired devices. 


Regards,
  kishan

 

 

0 件の賞賛
返信

1,352件の閲覧回数
EduardoZamora
NXP TechSupport
NXP TechSupport

Hello,

Maybe using Directed Advertising, as it aims to a specific device and invites it to establish a connection as fast as possible, but you may face the same issue as it will depend on the address of the specific device.

Regards,
Eduardo.

0 件の賞賛
返信

1,346件の閲覧回数
kishansa
Contributor I

Hi Eduardo,

Is this Whitelist issue when the central device uses the Random BLE Address feature is specific to QN908x controller ? Or this issue exist across all the different BLE controllers as well. 

As per my best knowledge most of the smart watches today in the market are with the whitelist feature, this will avoid unauthorized access to the peripheral. So if this is right understanding then would like to know how to get the same feature support from QN908x.

 

Regards,

 kishan

 

0 件の賞賛
返信

1,333件の閲覧回数
EduardoZamora
NXP TechSupport
NXP TechSupport

Hi,

Whitelist procedure will depend on the capabilities and characteristics of both the peripheral device and the central device.

Some of the devices you mentioned are probably not using a whitelisting procedure; instead, these devices may be establishing a connection, ignoring some incoming requests from other devices after that.

Regards,
Eduardo.

0 件の賞賛
返信

1,324件の閲覧回数
kishansa
Contributor I

Hi Eduardo ,

 

 Sorry I did not fully understood your below statement:

"Whitelist procedure will depend on the capabilities and characteristics of both the peripheral device and the central device."

Here are you referring GATT DB or low level BLE stack as capabilities and characteristics of BLE controller ? If its the BLE stack - would like to have your confirmation whether QN908x is able to handle whitelisting when the central has the Random BLE address feature turned ON.

 

Devices I mentioned in my previous msg was visible only when I start the device in the pairing mode, whereas in the Connection (communication) mode its visible to only to the paired device. And in this scenario we used same Android device which had Random BLE address.

 

Regards,

 kishan 

0 件の賞賛
返信

1,312件の閲覧回数
EduardoZamora
NXP TechSupport
NXP TechSupport

Hi,

My apologies, I was referring to the BLE device features.

You may need to know the specific address type, used by your central device, as there are sub-types for random address.

For example, if your device uses a Resolvable Private Address, it can be resolved by using a IRK (Identity Resolving Key) that should be shared during pairing and stored during bonding; this key is used to filter devices instead of the address. If your device uses a Non-resolvable Private Address, it can't be resolved, and whitelist procedure may not work.

I apologize for any inconvenience this might cause you, but, could you please consult how is this procedure handled by the Android side?

Regards,
Eduardo.

0 件の賞賛
返信

1,289件の閲覧回数
kishansa
Contributor I

Am not very sure on how to get Android side details because there are many Android device manufacturers in the market and each one is managing it differently. 

Devices I mentioned in my previous msg was visible only when I start the device in the pairing mode, whereas in the Connection (communication) mode its visible to only to the paired device. And in this scenario we used same Android device which had Random BLE address.

 

Here "Devices" refers to BLE controller devices similar like QN908x dev board (non-NXP BLE Controller). So the central device remain the same for QN908x and Other Market available BLE controller, but the way whitelisting working on each of the Peripheral device is different.

 

Regards and Thanks,

     kishan 

 

0 件の賞賛
返信

1,382件の閲覧回数
EduardoZamora
NXP TechSupport
NXP TechSupport

Hello Kishan,

I apologize for my late response.

Could you please confirm if your central device uses a random address? If so, the peripheral will save the central information, but after disconnecting the address might not be the same and this may cause the whitelist procedure not to work properly.

Regards,
Eduardo.

0 件の賞賛
返信

1,407件の閲覧回数
kishansa
Contributor I

If any one have implemented BLE whitelisting feature in the Peripheral side ,then please let me know the steps you followed. 

0 件の賞賛
返信