Moves the Mesh AES-CCM module out into a separate module, to make it accessible from other subsystems. Adds the new CCM API in include/bluetooth/crypto.h along with the bt_encrypt functions. Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
717 lines
23 KiB
Text
717 lines
23 KiB
Text
# Bluetooth LE stack configuration options
|
|
|
|
# Copyright (c) 2016-2020 Nordic Semiconductor ASA
|
|
# Copyright (c) 2015-2016 Intel Corporation
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
comment "Host Stack Configuration"
|
|
|
|
config BT_HCI_HOST
|
|
# Hidden option to make the conditions more intuitive
|
|
bool
|
|
default y
|
|
depends on !BT_HCI_RAW
|
|
select POLL
|
|
|
|
config BT_HCI_CMD_COUNT
|
|
int "Number of HCI command buffers"
|
|
default 2
|
|
range 2 64
|
|
help
|
|
Number of buffers available for HCI commands.
|
|
|
|
config BT_RX_BUF_COUNT
|
|
int "Number of HCI RX buffers"
|
|
default NET_BUF_RX_COUNT if NET_L2_BT
|
|
default 3 if BT_RECV_IS_RX_THREAD
|
|
default 20 if (BT_MESH && !(BT_DISCARDABLE_BUF_COUNT > 0))
|
|
default 10
|
|
range 2 255
|
|
help
|
|
Number of buffers available for incoming ACL packets or HCI events
|
|
from the controller.
|
|
|
|
config BT_RX_BUF_LEN
|
|
int "Maximum supported HCI RX buffer length"
|
|
default 264 if BT_BREDR
|
|
default 77 if BT_MESH_PROXY
|
|
default 76
|
|
range 73 2000
|
|
help
|
|
Maximum data size for each HCI RX buffer. This size includes
|
|
everything starting with the ACL or HCI event headers. Note that
|
|
buffer sizes are always rounded up to the nearest multiple of 4,
|
|
so if this Kconfig value is something else then there will be some
|
|
wasted space. The minimum of 73 has been taken for LE SC which has
|
|
an L2CAP MTU of 65 bytes. On top of this there's the L2CAP header
|
|
(4 bytes) and the ACL header (also 4 bytes) which yields 73 bytes.
|
|
|
|
config BT_DISCARDABLE_BUF_COUNT
|
|
int "Number of discardable event buffers"
|
|
range 1 255
|
|
default 20 if BT_MESH
|
|
default 3
|
|
depends on BT_H4 || BT_RPMSG || BT_CTLR
|
|
help
|
|
Number of buffers in a separate buffer pool for events which
|
|
the HCI driver considers discardable. Examples of such events
|
|
could be e.g. Advertising Reports. The benefit of having such
|
|
a pool means that the if there is a heavy inflow of such events
|
|
it will not cause the allocation for other critical events to
|
|
block and may even eliminate deadlocks in some cases.
|
|
|
|
config BT_DISCARDABLE_BUF_SIZE
|
|
int "Size of discardable event buffers"
|
|
range 45 257
|
|
default 257 if BT_BREDR
|
|
default 45
|
|
help
|
|
Size of buffers in the separate discardable event buffer pool.
|
|
The minimum size is set based on the Advertising Report. Setting
|
|
the buffer size different than BT_RX_BUF_LEN can save memory.
|
|
|
|
config BT_HCI_TX_STACK_SIZE
|
|
# NOTE: This value is derived from other symbols and should only be
|
|
# changed if required by architecture
|
|
int
|
|
prompt "HCI Tx thread stack size" if BT_HCI_TX_STACK_SIZE_WITH_PROMPT
|
|
default 512 if BT_H4
|
|
default 512 if BT_H5
|
|
default 416 if BT_SPI
|
|
default 940 if BT_CTLR && (BT_LL_SW_LEGACY || BT_LL_SW_SPLIT) && NO_OPTIMIZATIONS
|
|
default 1024 if BT_CTLR && (BT_LL_SW_LEGACY || BT_LL_SW_SPLIT) && BT_CENTRAL
|
|
default 640 if BT_CTLR && (BT_LL_SW_LEGACY || BT_LL_SW_SPLIT)
|
|
default 512 if BT_USERCHAN
|
|
default 640 if BT_STM32_IPM
|
|
# Even if no driver is selected the following default is still
|
|
# needed e.g. for unit tests. This default will also server as
|
|
# the worst-case stack size if an out-of-tree controller is used.
|
|
default 1024
|
|
help
|
|
Stack size needed for executing bt_send with specified driver.
|
|
NOTE: This is an advanced setting and should not be changed unless
|
|
absolutely necessary
|
|
|
|
config BT_HCI_TX_STACK_SIZE_WITH_PROMPT
|
|
bool "Override HCI Tx thread stack size"
|
|
|
|
config BT_HCI_ECC_STACK_SIZE
|
|
# NOTE: This value is derived from other symbols and should only be
|
|
# changed if required by architecture
|
|
int "HCI ECC thread stack size"
|
|
default 1100
|
|
help
|
|
NOTE: This is an advanced setting and should not be changed unless
|
|
absolutely necessary
|
|
|
|
config BT_HCI_TX_PRIO
|
|
# Hidden option for Co-Operative Tx thread priority
|
|
int
|
|
default 7
|
|
|
|
config BT_HCI_RESERVE
|
|
int
|
|
default 0 if BT_H4
|
|
default 1 if BT_H5
|
|
default 1 if BT_SPI
|
|
default 1 if BT_STM32_IPM
|
|
default 1 if BT_USERCHAN
|
|
# Even if no driver is selected the following default is still
|
|
# needed e.g. for unit tests.
|
|
default 0
|
|
help
|
|
Headroom that the driver needs for sending and receiving buffers. Add a
|
|
new 'default' entry for each new driver.
|
|
|
|
config BT_RECV_IS_RX_THREAD
|
|
# Hidden option set by the HCI driver to indicate that there's
|
|
# no need for the host to have its own RX thread.
|
|
# It is then the responsibility of the HCI driver to call bt_recv_prio
|
|
# from a higher priority context than bt_recv in order to avoid deadlock.
|
|
# If the host has its own RX thread it is safe to call bt_recv and
|
|
# bt_recv_prio from the same priority context.
|
|
bool
|
|
|
|
config BT_RX_STACK_SIZE
|
|
int "Size of the receiving thread stack"
|
|
depends on BT_HCI_HOST || BT_RECV_IS_RX_THREAD
|
|
default 512 if BT_HCI_RAW
|
|
default 2048 if BT_MESH
|
|
default 2200 if BT_SETTINGS
|
|
default 1024
|
|
range 512 65536 if BT_HCI_RAW
|
|
range 1100 65536 if BT_MESH
|
|
range 1024 65536
|
|
help
|
|
Size of the receiving thread stack. This is the context from
|
|
which all event callbacks to the application occur. The
|
|
default value is sufficient for basic operation, but if the
|
|
application needs to do advanced things in its callbacks that
|
|
require extra stack space, this value can be increased to
|
|
accommodate for that.
|
|
|
|
config BT_RX_PRIO
|
|
# Hidden option for Co-Operative Rx thread priority
|
|
int
|
|
depends on BT_HCI_HOST || BT_RECV_IS_RX_THREAD
|
|
default 8
|
|
|
|
if BT_HCI_HOST
|
|
|
|
config BT_HOST_CRYPTO
|
|
# Hidden option that compiles in random number generation and AES
|
|
# encryption support using TinyCrypt library if this is not provided
|
|
# by the controller implementation.
|
|
bool
|
|
default y if !BT_CTLR_CRYPTO
|
|
select TINYCRYPT
|
|
select TINYCRYPT_AES
|
|
select TINYCRYPT_SHA256
|
|
select TINYCRYPT_SHA256_HMAC
|
|
select TINYCRYPT_SHA256_HMAC_PRNG
|
|
|
|
config BT_SETTINGS
|
|
bool "Store Bluetooth state and configuration persistently"
|
|
depends on SETTINGS
|
|
select MPU_ALLOW_FLASH_WRITE if ARM_MPU
|
|
help
|
|
When selected, the Bluetooth stack will take care of storing
|
|
(and restoring) the Bluetooth state (e.g. pairing keys) and
|
|
configuration persistently in flash.
|
|
|
|
When this option has been enabled, it's important that the
|
|
application makes a call to settings_load() after having done
|
|
all necessary initialization (e.g. calling bt_enable). The
|
|
reason settings_load() is handled externally to the stack, is
|
|
that there may be other subsystems using the settings API, in
|
|
which case it's more efficient to load all settings in one go,
|
|
instead of each subsystem doing it independently.
|
|
|
|
if BT_SETTINGS
|
|
config BT_SETTINGS_CCC_LAZY_LOADING
|
|
bool "Load CCC values from settings when peer connects"
|
|
default y
|
|
help
|
|
Load Client Configuration Characteristic setting right after a bonded
|
|
device connects.
|
|
Disabling this option will increase memory usage as CCC values for all
|
|
bonded devices will be loaded when calling settings_load.
|
|
|
|
config BT_SETTINGS_CCC_STORE_ON_WRITE
|
|
bool "Store CCC value immediately after it has been written"
|
|
help
|
|
Store Client Configuration Characteristic value right after it has
|
|
been updated.
|
|
|
|
By default, CCC is only stored on disconnection.
|
|
Choosing this option is safer for battery-powered devices or devices
|
|
that expect to be reset suddenly. However, it requires additional
|
|
workqueue stack space.
|
|
|
|
config BT_SETTINGS_USE_PRINTK
|
|
bool "Use snprintk to encode Bluetooth settings key strings"
|
|
depends on SETTINGS && PRINTK
|
|
default y
|
|
help
|
|
When selected, Bluetooth settings will use snprintk to encode
|
|
key strings.
|
|
When not selected, Bluetooth settings will use a faster builtin
|
|
function to encode the key string. The drawback is that if
|
|
printk is enabled then the program memory footprint will be larger.
|
|
endif # BT_SETTINGS
|
|
|
|
config BT_WHITELIST
|
|
bool "Enable whitelist support"
|
|
help
|
|
This option enables the whitelist API. This takes advantage of the
|
|
whitelisting feature of a BLE controller.
|
|
The whitelist is a global list and the same whitelist is used
|
|
by both scanner and advertiser. The whitelist cannot be modified while
|
|
it is in use.
|
|
|
|
An Advertiser can whitelist which peers can connect or request scan
|
|
response data.
|
|
A scanner can whitelist advertiser for which it will generate
|
|
advertising reports.
|
|
Connections can be established automatically for whitelisted peers.
|
|
|
|
This options deprecates the bt_le_set_auto_conn API in favor of the
|
|
bt_conn_create_aute_le API.
|
|
|
|
if BT_CONN
|
|
|
|
if BT_HCI_ACL_FLOW_CONTROL
|
|
config BT_ACL_RX_COUNT
|
|
int "Number of incoming ACL data buffers"
|
|
default BT_CTLR_RX_BUFFERS if BT_CTLR
|
|
default NET_BUF_RX_COUNT if NET_L2_BT
|
|
default 6
|
|
range 1 64
|
|
help
|
|
Number of buffers available for incoming ACL data.
|
|
endif # BT_HCI_ACL_FLOW_CONTROL
|
|
|
|
config BT_CONN_TX_MAX
|
|
int "Maximum number of pending TX buffers with a callback"
|
|
default BT_L2CAP_TX_BUF_COUNT
|
|
range BT_L2CAP_TX_BUF_COUNT 255
|
|
help
|
|
Maximum number of pending TX buffers that have an associated
|
|
callback. Normally this can be left to the default value, which
|
|
is equal to the number of TX buffers in the stack-internal pool.
|
|
|
|
config BT_AUTO_PHY_UPDATE
|
|
bool "Auto-initiate PHY Update Procedure"
|
|
depends on BT_PHY_UPDATE
|
|
default y
|
|
help
|
|
Initiate PHY Update Procedure on connection establishment.
|
|
|
|
Disable this if you want PHY Update Procedure feature supported but
|
|
want to rely on remote device to initiate the procedure at its
|
|
discretion.
|
|
|
|
config BT_REMOTE_INFO
|
|
bool "Enable application access to remote information"
|
|
help
|
|
Enable application access to the remote information available in the
|
|
stack. The remote information is retrieved once a connection has been
|
|
established and the application will be notified when this information
|
|
is available through the remote_version_available connection callback.
|
|
|
|
config BT_REMOTE_VERSION
|
|
bool "Enable remote version information"
|
|
depends on BT_REMOTE_INFO
|
|
help
|
|
Enable this to get access to the remote version through
|
|
the remote_version_available callback. The host will automatically ask
|
|
the remote device after the connection has been established.
|
|
|
|
config BT_SMP
|
|
bool "Security Manager Protocol support"
|
|
select TINYCRYPT
|
|
select TINYCRYPT_AES
|
|
select TINYCRYPT_AES_CMAC
|
|
select BT_RPA
|
|
select BT_ECC
|
|
help
|
|
This option enables support for the Security Manager Protocol
|
|
(SMP), making it possible to pair devices over LE.
|
|
|
|
if BT_SMP
|
|
config BT_PRIVACY
|
|
bool "Privacy Feature"
|
|
help
|
|
Enable local Privacy Feature support. This makes it possible
|
|
to use Resolvable Private Addresses (RPAs).
|
|
|
|
config BT_RPA_TIMEOUT
|
|
int "Resolvable Private Address timeout"
|
|
depends on BT_PRIVACY
|
|
default 900
|
|
range 1 65535
|
|
help
|
|
This option defines how often resolvable private address is rotated.
|
|
Value is provided in seconds and defaults to 900 seconds (15 minutes).
|
|
|
|
config BT_SIGNING
|
|
bool "Data signing support"
|
|
help
|
|
This option enables data signing which is used for transferring
|
|
authenticated data in an unencrypted connection.
|
|
|
|
config BT_SMP_SC_PAIR_ONLY
|
|
bool "Disable legacy pairing"
|
|
help
|
|
This option disables LE legacy pairing and forces LE secure connection
|
|
pairing. All Security Mode 1 levels can be used with legacy pairing
|
|
disabled, but pairing with devices that do not support secure
|
|
connections pairing will not be supported.
|
|
To force a higher security level use "Secure Connections Only Mode"
|
|
|
|
config BT_SMP_SC_ONLY
|
|
bool "Secure Connections Only Mode"
|
|
select BT_SMP_SC_PAIR_ONLY
|
|
help
|
|
This option enables support for Secure Connection Only Mode. In this
|
|
mode device shall only use Security Mode 1 Level 4 with exception
|
|
for services that only require Security Mode 1 Level 1 (no security).
|
|
Security Mode 1 Level 4 stands for authenticated LE Secure Connections
|
|
pairing with encryption. Enabling this option disables legacy pairing.
|
|
|
|
config BT_SMP_ALLOW_UNAUTH_OVERWRITE
|
|
bool "Allow unauthenticated pairing for paired device"
|
|
help
|
|
This option allows all unauthenticated pairing attempts made by the
|
|
peer where an unauthenticated bond already exists.
|
|
This would enable cases where an attacker could copy the peer device
|
|
address to connect and start an unauthenticated pairing procedure
|
|
to replace the existing bond. When this option is disabled in order
|
|
to create a new bond the old bond has to be explicitly deleted with
|
|
bt_unpair.
|
|
|
|
config BT_FIXED_PASSKEY
|
|
bool "Use a fixed passkey for pairing"
|
|
help
|
|
With this option enabled, the application will be able to call the
|
|
bt_passkey_set() API to set a fixed passkey. If set, the
|
|
pairing_confim() callback will be called for all incoming pairings.
|
|
|
|
config BT_USE_DEBUG_KEYS
|
|
bool "Enable Security Manager Debug Mode"
|
|
depends on BT_TINYCRYPT_ECC
|
|
help
|
|
This option places Security Manager in a Debug Mode. In this mode
|
|
predefined Diffie-Hellman private/public key pair is used as described
|
|
in Core Specification Vol. 3, Part H, 2.3.5.6.1. This option should
|
|
only be enabled for debugging and should never be used in production.
|
|
If this option is enabled anyone is able to decipher encrypted air
|
|
traffic.
|
|
|
|
config BT_BONDABLE
|
|
bool "Bondable Mode"
|
|
default y
|
|
help
|
|
This option enables support for Bondable Mode. In this mode,
|
|
Bonding flag in AuthReq of SMP Pairing Request/Response will be set
|
|
indicating the support for this mode.
|
|
|
|
config BT_BONDING_REQUIRED
|
|
bool "Always require bonding"
|
|
depends on BT_BONDABLE
|
|
help
|
|
When this option is enabled remote devices are required to always
|
|
set the bondable flag in their pairing request. Any other kind of
|
|
requests will be rejected.
|
|
|
|
config BT_STORE_DEBUG_KEYS
|
|
bool "Store Debug Mode bonds"
|
|
help
|
|
This option enables support for storing bonds where either of devices
|
|
has the Security Manager in Debug mode. This option should
|
|
only be enabled for debugging and should never be used in production.
|
|
|
|
config BT_SMP_ENFORCE_MITM
|
|
bool "Enforce MITM protection"
|
|
default y
|
|
help
|
|
With this option enabled, the Security Manager will set MITM option in
|
|
the Authentication Requirements Flags whenever local IO Capabilities
|
|
allow the generated key to be authenticated.
|
|
|
|
config BT_OOB_DATA_FIXED
|
|
bool "Use a fixed random number for LESC OOB pairing"
|
|
depends on BT_TESTING
|
|
help
|
|
With this option enabled, the application will be able to perform LESC
|
|
pairing with OOB data that consists of fixed random number and confirm
|
|
value. This option should only be enabled for debugging and should
|
|
never be used in production.
|
|
|
|
config BT_KEYS_OVERWRITE_OLDEST
|
|
bool "Overwrite oldest keys with new ones if key storage is full"
|
|
help
|
|
With this option enabled, if a pairing attempt occurs and the key storage
|
|
is full, then the oldest keys in storage will be removed to free space
|
|
for the new pairing keys.
|
|
|
|
config BT_KEYS_SAVE_AGING_COUNTER_ON_PAIRING
|
|
bool "Store aging counter every time a successful paring occurs"
|
|
depends on BT_SETTINGS && BT_KEYS_OVERWRITE_OLDEST
|
|
help
|
|
With this option enabled, aging counter will be stored in settings every
|
|
time a successful pairing occurs. This increases flash wear out but offers
|
|
a more correct finding of the oldest unused pairing info.
|
|
|
|
endif # BT_SMP
|
|
|
|
source "subsys/bluetooth/host/Kconfig.l2cap"
|
|
source "subsys/bluetooth/host/Kconfig.gatt"
|
|
|
|
config BT_MAX_PAIRED
|
|
int "Maximum number of paired devices"
|
|
default 0 if !BT_SMP
|
|
default 1
|
|
range 0 128
|
|
help
|
|
Maximum number of paired Bluetooth devices. The minimum (and
|
|
default) number is 1.
|
|
|
|
config BT_CREATE_CONN_TIMEOUT
|
|
int "Timeout for pending LE Create Connection command in seconds"
|
|
default 3
|
|
range 1 BT_RPA_TIMEOUT if BT_PRIVACY
|
|
range 1 65535
|
|
|
|
config BT_CONN_PARAM_UPDATE_TIMEOUT
|
|
int "Peripheral connection parameter update timeout in milliseconds"
|
|
default 5000
|
|
range 1 65535
|
|
|
|
help
|
|
The value is a timeout used by peripheral device to wait until it
|
|
starts the connection parameters update procedure to change default
|
|
connection parameters. The default value is set to 5s, to comply
|
|
with BT protocol specification: Core 4.2 Vol 3, Part C, 9.3.12.2
|
|
|
|
endif # BT_CONN
|
|
|
|
if BT_OBSERVER
|
|
config BT_BACKGROUND_SCAN_INTERVAL
|
|
int "Scan interval used for background scanning in 0.625 ms units"
|
|
default 2048
|
|
range 4 16384
|
|
config BT_BACKGROUND_SCAN_WINDOW
|
|
int "Scan window used for background scanning in 0.625 ms units"
|
|
default 18
|
|
range 4 16384
|
|
endif # BT_OBSERVER
|
|
|
|
config BT_SCAN_WITH_IDENTITY
|
|
bool "Perform active scanning using local identity address"
|
|
depends on !BT_PRIVACY && (BT_CENTRAL || BT_OBSERVER)
|
|
help
|
|
Enable this if you want to perform active scanning using the local
|
|
identity address as the scanner address. By default the stack will
|
|
always use a non-resolvable private address (NRPA) in order to avoid
|
|
disclosing local identity information. However, if the use case
|
|
requires disclosing it then enable this option.
|
|
|
|
config BT_DEVICE_NAME_DYNAMIC
|
|
bool "Allow to set Bluetooth device name on runtime"
|
|
help
|
|
Enabling this option allows for runtime configuration of Bluetooth
|
|
device name.
|
|
|
|
config BT_DEVICE_NAME_MAX
|
|
int "Maximum size in bytes for device name"
|
|
depends on BT_DEVICE_NAME_DYNAMIC
|
|
default 28
|
|
range 2 248
|
|
help
|
|
Bluetooth device name storage size. Storage can be up to 248 bytes
|
|
long (excluding NULL termination).
|
|
|
|
config BT_DEVICE_NAME
|
|
string "Bluetooth device name"
|
|
default "Zephyr"
|
|
help
|
|
Bluetooth device name. Name can be up to 248 bytes long (excluding
|
|
NULL termination). Can be empty string.
|
|
|
|
config BT_DEVICE_APPEARANCE
|
|
int "Bluetooth device appearance"
|
|
range 0 65535
|
|
default 0
|
|
help
|
|
Bluetooth device appearance. For the list of possible values please
|
|
consult the following link:
|
|
https://www.bluetooth.com/specifications/assigned-numbers
|
|
|
|
config BT_ID_MAX
|
|
int "Maximum number of local identities"
|
|
range 1 10
|
|
default 1
|
|
help
|
|
Maximum number of supported local identity addresses. For most
|
|
products this is safe to leave as the default value (1).
|
|
|
|
endif # BT_HCI_HOST
|
|
|
|
config BT_ECC
|
|
bool "Enable ECDH key generation support"
|
|
help
|
|
This option adds support for ECDH HCI commands.
|
|
|
|
config BT_TINYCRYPT_ECC
|
|
bool "Use TinyCrypt library for ECDH"
|
|
select TINYCRYPT
|
|
select TINYCRYPT_ECC_DH
|
|
depends on BT_ECC && (BT_HCI_RAW || BT_HCI_HOST)
|
|
default y if BT_CTLR
|
|
help
|
|
If this option is set TinyCrypt library is used for emulating the
|
|
ECDH HCI commands and events needed by e.g. LE Secure Connections.
|
|
In builds including the BLE Host, if not set the controller crypto is
|
|
used for ECDH and if the controller doesn't support the required HCI
|
|
commands the LE Secure Connections support will be disabled.
|
|
In builds including the HCI Raw interface and the BLE Controller, this
|
|
option injects support for the 2 HCI commands required for LE Secure
|
|
Connections so that Hosts can make use of those. The option defaults
|
|
to enabled for a combined build with Zephyr's own controller, since it
|
|
does not have any special ECC support itself (at least not currently).
|
|
|
|
config BT_HOST_CCM
|
|
bool "Enable host side AES-CCM module"
|
|
help
|
|
Enables the software based AES-CCM engine in the host. Will use the
|
|
controller's AES encryption functions if available, or BT_HOST_CRYPTO
|
|
otherwise.
|
|
|
|
if BT_DEBUG
|
|
config BT_DEBUG_SETTINGS
|
|
bool "Bluetooth storage debug"
|
|
depends on BT_SETTINGS
|
|
help
|
|
This option enables debug support for Bluetooth storage.
|
|
|
|
config BT_DEBUG_HCI_CORE
|
|
bool "Bluetooth HCI core debug"
|
|
help
|
|
This option enables debug support for Bluetooth HCI
|
|
core.
|
|
|
|
config BT_DEBUG_CONN
|
|
bool "Bluetooth connection debug"
|
|
depends on BT_CONN
|
|
help
|
|
This option enables debug support for Bluetooth
|
|
connection handling.
|
|
|
|
config BT_DEBUG_KEYS
|
|
bool "Bluetooth security keys debug"
|
|
depends on BT_HCI_HOST
|
|
depends on BT_SMP
|
|
help
|
|
This option enables debug support for the handling of
|
|
Bluetooth security keys.
|
|
|
|
config BT_DEBUG_SMP
|
|
bool "Bluetooth Security Manager Protocol (SMP) debug"
|
|
depends on BT_HCI_HOST
|
|
depends on BT_SMP
|
|
help
|
|
This option enables debug support for the Bluetooth
|
|
Security Manager Protocol (SMP).
|
|
|
|
config BT_SMP_SELFTEST
|
|
bool "Bluetooth SMP self tests executed on init"
|
|
depends on BT_DEBUG_SMP
|
|
help
|
|
This option enables SMP self-tests executed on startup
|
|
to verify security and crypto functions.
|
|
|
|
config BT_SMP_FORCE_BREDR
|
|
bool "Force Bluetooth SMP over BR/EDR"
|
|
depends on BT_DEBUG_SMP
|
|
help
|
|
This option enables SMP over BR/EDR even if controller is not
|
|
supporting BR/EDR Secure Connections. This option is solely for
|
|
testing and should never be enabled on production devices.
|
|
|
|
config BT_DEBUG_RFCOMM
|
|
bool "Bluetooth RFCOMM debug"
|
|
depends on BT_RFCOMM
|
|
help
|
|
This option enables debug support for the Bluetooth
|
|
RFCOMM layer.
|
|
|
|
config BT_DEBUG_HFP_HF
|
|
bool "Bluetooth Hands Free Profile (HFP) debug"
|
|
depends on BT_HFP_HF
|
|
help
|
|
This option enables debug support for the Bluetooth
|
|
Hands Free Profile (HFP).
|
|
|
|
config BT_DEBUG_AVDTP
|
|
bool "Bluetooth AVDTP debug"
|
|
depends on BT_AVDTP
|
|
help
|
|
This option enables debug support for the Bluetooth AVDTP.
|
|
|
|
config BT_DEBUG_A2DP
|
|
bool "Bluetooth A2DP debug"
|
|
depends on BT_A2DP
|
|
help
|
|
This option enables debug support for the Bluetooth
|
|
A2DP profile.
|
|
|
|
config BT_DEBUG_SDP
|
|
bool "Bluetooth Service Discovery Protocol (SDP) debug"
|
|
depends on BT_BREDR
|
|
help
|
|
This option enables debug support for the Bluetooth
|
|
Service Discovery Protocol (SDP).
|
|
|
|
config BT_DEBUG_SERVICE
|
|
bool "Bluetooth Services debug"
|
|
depends on BT_CONN
|
|
help
|
|
This option enables debug support for the Bluetooth
|
|
Services.
|
|
|
|
endif # BT_DEBUG
|
|
|
|
config BT_TESTING
|
|
bool "Bluetooth Testing"
|
|
help
|
|
This option enables custom Bluetooth testing interface.
|
|
Shall only be used for testing purposes.
|
|
|
|
config BT_BREDR
|
|
bool "Bluetooth BR/EDR support [EXPERIMENTAL]"
|
|
depends on BT_HCI_HOST
|
|
select BT_PERIPHERAL
|
|
select BT_CENTRAL
|
|
select BT_SMP
|
|
select BT_L2CAP_DYNAMIC_CHANNEL
|
|
help
|
|
This option enables Bluetooth BR/EDR support
|
|
|
|
if BT_BREDR
|
|
config BT_MAX_SCO_CONN
|
|
int "Maximum number of simultaneous SCO connections"
|
|
default 1
|
|
range 1 3
|
|
help
|
|
Maximum number of simultaneous Bluetooth synchronous connections
|
|
supported. The minimum (and default) number is 1.
|
|
|
|
config BT_RFCOMM
|
|
bool "Bluetooth RFCOMM protocol support [EXPERIMENTAL]"
|
|
help
|
|
This option enables Bluetooth RFCOMM support
|
|
|
|
config BT_RFCOMM_L2CAP_MTU
|
|
int "L2CAP MTU for RFCOMM frames"
|
|
default BT_L2CAP_RX_MTU if BT_HCI_ACL_FLOW_CONTROL
|
|
default BT_RX_BUF_LEN
|
|
depends on BT_RFCOMM
|
|
range BT_L2CAP_RX_MTU 32767 if BT_HCI_ACL_FLOW_CONTROL
|
|
range BT_RX_BUF_LEN 32767
|
|
help
|
|
Maximum size of L2CAP PDU for RFCOMM frames.
|
|
|
|
config BT_HFP_HF
|
|
bool "Bluetooth Handsfree profile HF Role support [EXPERIMENTAL]"
|
|
depends on PRINTK
|
|
select BT_RFCOMM
|
|
help
|
|
This option enables Bluetooth HF support
|
|
|
|
config BT_AVDTP
|
|
bool "Bluetooth AVDTP protocol support [EXPERIMENTAL]"
|
|
help
|
|
This option enables Bluetooth AVDTP support
|
|
|
|
config BT_A2DP
|
|
bool "Bluetooth A2DP Profile [EXPERIMENTAL]"
|
|
select BT_AVDTP
|
|
help
|
|
This option enables the A2DP profile
|
|
|
|
config BT_PAGE_TIMEOUT
|
|
hex "Bluetooth Page Timeout"
|
|
default 0x2000
|
|
range 0x0001 0xffff
|
|
help
|
|
This option sets the page timeout value. Value is selected as
|
|
(N * 0.625) ms.
|
|
|
|
endif # BT_BREDR
|
|
|
|
config BT_HCI_VS_EVT_USER
|
|
bool "User Vendor-Specific event handling"
|
|
help
|
|
Enable registering a callback for delegating to the user the handling of
|
|
VS events that are not known to the stack
|