Skip to content

Commit 9582753

Browse files
alstrzebonskirlubos
authored andcommitted
fast_pair: Add bond management documentation
Jira: NCSDK-29580 Signed-off-by: Aleksander Strzebonski <[email protected]>
1 parent 86539f5 commit 9582753

File tree

4 files changed

+44
-10
lines changed

4 files changed

+44
-10
lines changed

doc/nrf/external_comp/bt_fast_pair.rst

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -632,6 +632,25 @@ In the Fast Pair not discoverable advertising mode, the Provider informs the lis
632632
You can also use the :c:func:`bt_fast_pair_has_account_key` function to check whether your Provider has any Account Keys.
633633
This API is especially useful after a system reboot when some Account Keys may already be stored in non-volatile memory.
634634

635+
.. _ug_bt_fast_pair_gatt_service_bond_management:
636+
637+
Fast Pair bond management functionality
638+
=======================================
639+
640+
To enable the Fast Pair bond management functionality, use the :kconfig:option:`CONFIG_BT_FAST_PAIR_BOND_MANAGER` Kconfig option.
641+
When this functionality is enabled, the Fast Pair subsystem tracks the Bluetooth bonds created through the Fast Pair Procedure and unpairs them if the procedure is incomplete or the Account Key associated with the bonds is removed.
642+
It also unpairs the Fast Pair Bluetooth bonds on Fast Pair factory reset, because the factory reset removes all Account Keys stored on device.
643+
Enabling the functionality imposes additional limitations related to enabling Fast Pair in runtime (:c:func:`bt_fast_pair_enable`).
644+
See the :kconfig:option:`CONFIG_BT_FAST_PAIR_BOND_MANAGER` Kconfig option help for more datails about using the functionality.
645+
646+
The Fast Pair bond management functionality is disabled by default.
647+
Make sure that it is enabled for the following use cases of the Google Fast Pair application as it is highly recommended:
648+
649+
* Input device
650+
* Mouse
651+
652+
See :ref:`ug_bt_fast_pair_use_case` for more details about the use cases of the Google Fast Pair application.
653+
635654
FMDN extension
636655
==============
637656

doc/nrf/libraries/bluetooth_services/services/fast_pair.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ With the :kconfig:option:`CONFIG_BT_FAST_PAIR` Kconfig option enabled, the follo
4747
* :kconfig:option:`CONFIG_BT_FAST_PAIR_STORAGE_ACCOUNT_KEY_MAX` - The option configures maximum number of stored Account Keys.
4848
* :kconfig:option:`CONFIG_BT_FAST_PAIR_CRYPTO_TINYCRYPT`, :kconfig:option:`CONFIG_BT_FAST_PAIR_CRYPTO_OBERON`, and :kconfig:option:`CONFIG_BT_FAST_PAIR_CRYPTO_PSA` - These options are used to select the cryptographic backend for Fast Pair.
4949
The Oberon backend is used by default.
50+
* :kconfig:option:`CONFIG_BT_FAST_PAIR_BOND_MANAGER` - The option enables the Fast Pair bond management functionality.
51+
See :ref:`ug_bt_fast_pair_gatt_service_bond_management` for more details.
5052
* :kconfig:option:`CONFIG_BT_FAST_PAIR_PN` - The option enables the `Fast Pair Personalized Name extension`_.
5153

5254
* :kconfig:option:`CONFIG_BT_FAST_PAIR_STORAGE_PN_LEN_MAX` - The option specifies the maximum length of a stored Fast Pair Personalized Name.

doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -748,6 +748,10 @@ Bluetooth libraries and services
748748
* The :kconfig:option:`CONFIG_BT_FAST_PAIR_SUBSEQUENT_PAIRING` Kconfig option allowing the user to control the support for the Fast Pair subsequent pairing feature.
749749
* The :kconfig:option:`CONFIG_BT_FAST_PAIR_USE_CASE` Kconfig choice option allowing the user to select their target Fast Pair use case.
750750
The :kconfig:option:`CONFIG_BT_FAST_PAIR_USE_CASE_UNKNOWN`, :kconfig:option:`CONFIG_BT_FAST_PAIR_USE_CASE_INPUT_DEVICE`, :kconfig:option:`CONFIG_BT_FAST_PAIR_USE_CASE_LOCATOR_TAG` and :kconfig:option:`CONFIG_BT_FAST_PAIR_USE_CASE_MOUSE` Kconfig options represent the supported use cases that can be selected as part of this Kconfig choice option.
751+
* The :kconfig:option:`CONFIG_BT_FAST_PAIR_BOND_MANAGER` Kconfig option that enables the Fast Pair bond management functionality.
752+
If this option is enabled, the Fast Pair subsystem tracks the Bluetooth bonds created through the Fast Pair Procedure and unpairs them if the procedure is incomplete or the Account Key associated with the bonds is removed.
753+
It also unpairs the Fast Pair Bluetooth bonds on Fast Pair factory reset.
754+
The option is enabled by default for Fast Pair use cases that are selected using :kconfig:option:`CONFIG_BT_FAST_PAIR_USE_CASE_INPUT_DEVICE` and :kconfig:option:`CONFIG_BT_FAST_PAIR_USE_CASE_MOUSE` Kconfig options.
751755

752756
* Removed:
753757

subsys/bluetooth/services/fast_pair/Kconfig.fast_pair

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -177,16 +177,25 @@ config BT_FAST_PAIR_BOND_MANAGER
177177
select EXPERIMENTAL
178178
select BT_FAST_PAIR_STORAGE_AK_BOND
179179
help
180-
If this option is enabled, the Fast Pair subsystem tracks the Bluetooth bonds created
181-
through the Fast Pair Procedure and unpairs them if the Fast Pair Procedure is incomplete
182-
or the Account Key associated with the bonds is removed. It also unpairs the Fast Pair
183-
Bluetooth bonds on Fast Pair factory reset. Keep in mind that when the Fast Pair subsystem
184-
is disabled, the Bluetooth bonds are not tracked. Do not perform operations on the Fast
185-
Pair Bluetooth bonds apart from the Fast Pair factory reset when the Fast Pair subsystem
186-
is disabled. When this option is enabled, non-volatile storage is used to store the bond
187-
information. You can enable this option during DFU, but you cannot disable it during DFU
188-
if you used it earlier unless you erase whole Fast Pair non-volatile storage. Otherwise,
189-
the Fast Pair enable operation will fail.
180+
When this functionality is enabled, the Fast Pair subsystem tracks the Bluetooth bonds
181+
created through the Fast Pair Procedure and unpairs them if the procedure is incomplete or
182+
the Account Key associated with the bonds is removed. It also unpairs the Fast Pair
183+
Bluetooth bonds on Fast Pair factory reset, because the factory reset removes all Account
184+
Keys stored on device.
185+
186+
When the Fast Pair subsystem is disabled, the Bluetooth bonds are not tracked. Do not
187+
perform operations on Fast Pair Bluetooth bonds, except for the Fast Pair factory reset
188+
when the Fast Pair subsystem is disabled. Additionally, do not perform Bluetooth bonding
189+
when the Fast Pair subsystem is disabled and bond management functionality is enabled, as
190+
this could cause the subsystem to incorrectly identify new bonds as Fast Pair bonds. To
191+
conclude, the easiest and safest option is to keep the Fast Pair enabled while using
192+
Bluetooth to ensure proper behavior.
193+
194+
With this functionality, the non-volatile storage is used to store the bond information.
195+
You can enable the functionality during DFU, but if you used it earlier, you cannot
196+
disable it during DFU unless you erase the entire Fast Pair non-volatile storage before
197+
the DFU. You can erase it by performing the Fast Pair factory reset. Otherwise, the Fast
198+
Pair enable operation will fail.
190199

191200
module = BT_FAST_PAIR
192201
module-str = Fast Pair Service

0 commit comments

Comments
 (0)