Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 | # 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_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_SPLIT && NO_OPTIMIZATIONS
default 1024 if BT_CTLR && BT_LL_SW_SPLIT && BT_CENTRAL
default 640 if BT_CTLR && 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. To change this you must first select
BT_HCI_TX_STACK_SIZE_WITH_PROMPT.
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 1140
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_RPMSG
default 1 if BT_SPI
default 1 if BT_STM32_IPM
default 1 if BT_USERCHAN
default 1 if BT_ESP32
# 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.
# If this option has been enabled 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 deadlocks.
# If this option is disabled then only bt_recv should be called.
bool
prompt "bt_recv is called from RX thread" if BT_NO_DRIVER
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
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
config BT_DRIVER_RX_HIGH_PRIO
# Hidden option for Co-Operative HCI driver RX thread priority
int
default 6
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"
depends on BT_CONN
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"
depends on BT_CONN
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 "DEPRECATED: Use BT_FILTER_ACCEPT_LIST instead"
select BT_FILTER_ACCEPT_LIST
config BT_FILTER_ACCEPT_LIST
bool "Enable filter accept list support"
help
This option enables the filter accep list API. This takes advantage of the
filtering feature of a BLE controller.
The filter accept list is a global list and the same list is used
by both scanner and advertiser. The filter accept list cannot be modified while
it is in use.
An Advertiser can filter which peers can connect or request scan
response data.
A scanner can filter advertisers for which it will generate
advertising reports.
Connections can be established automatically for accepted peers.
This options deprecates the bt_le_set_auto_conn API in favor of the
bt_conn_create_aute_le API.
if BT_CONN
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_USER_PHY_UPDATE
bool "User control of PHY Update Procedure"
depends on BT_PHY_UPDATE
help
Enable application access to initiate the PHY Update Procedure.
The application can also register a callback to be notified about PHY
changes on the connection. The current PHY info is available in the
connection info.
config BT_AUTO_PHY_UPDATE
bool "Auto-initiate PHY Update Procedure"
depends on BT_PHY_UPDATE
default y if !BT_USER_PHY_UPDATE
help
Initiate PHY Update Procedure on connection establishment.
Disable this if you want the PHY Update Procedure feature supported
but want to rely on the remote device to initiate the procedure at its
discretion or want to initiate manually.
config BT_USER_DATA_LEN_UPDATE
bool "User control of Data Length Update Procedure"
depends on BT_DATA_LEN_UPDATE
help
Enable application access to initiate the Data Length Update
Procedure. The application can also a register callback to be notified
about Data Length changes on the connection. The current Data Length
info is available in the connection info.
config BT_AUTO_DATA_LEN_UPDATE
bool "Auto-initiate Data Length Update procedure"
depends on BT_DATA_LEN_UPDATE
default y if !BT_USER_DATA_LEN_UPDATE
help
Initiate Data Length Update Procedure on connection establishment.
Disable this if you want the Data Length Update Procedure feature
supported but want to rely on the remote device to initiate the
procedure at its discretion or want to initiate manually.
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_APP_PAIRING_ACCEPT
bool "Accept or reject pairing initiative"
help
When receiving pairing request or pairing response query the
application whether to accept to proceed with pairing or not. This is
for pairing over SMP and does not affect SSP, which will continue
pairing without querying the application.
The application can return an error code, which is translated into
a SMP return value if the pairing is not allowed.
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_OOB_LEGACY_PAIR_ONLY
bool "Force Out Of Band Legacy pairing"
depends on !(BT_SMP_SC_PAIR_ONLY || BT_SMP_SC_ONLY)
help
This option disables Legacy and LE SC pairing and forces legacy OOB.
config BT_SMP_DISABLE_LEGACY_JW_PASSKEY
bool "Forbid usage of insecure legacy pairing methods"
depends on !(BT_SMP_SC_PAIR_ONLY || BT_SMP_SC_ONLY || \
BT_SMP_OOB_LEGACY_PAIR_ONLY)
help
This option disables Just Works and Passkey legacy pairing methods to
increase security.
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_SMP_USB_HCI_CTLR_WORKAROUND
bool "Workaround for USB HCI controller out-of-order events"
depends on BT_TESTING
help
This option enables support for USB HCI controllers that sometimes
send out-of-order HCI events and ACL Data due to using different USB
endpoints.
Enabling this option will make the central role not require the
encryption-change event to be received before accepting key-distribution
data.
It opens up for a potential vulnerability as the central cannot detect
if the keys are distributed over an encrypted link.
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"
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.
WARNING: This option enables anyone to decrypt on-air traffic.
Use of this feature in production is strongly discouraged.
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
is using the predefined Diffie-Hellman private/public key pair as
described in the Core Specification Vol 3, Part H, 2.3.5.6.1.
WARNING: This option potentially enables anyone to decrypt on-air
traffic.
Use of this feature in production is strongly discouraged.
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.
WARNING: This option stores a hardcoded Out-of-Band value in the image.
Use of this feature in production is strongly discouraged.
config BT_KEYS_OVERWRITE_OLDEST
bool "Overwrite the oldest key if key storage is full"
help
If a pairing attempt occurs and the key storage is full then the
oldest key from the set of not currently in use keys will be selected
and overwritten by the pairing device.
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.
config BT_SMP_MIN_ENC_KEY_SIZE
int
prompt "Minimum encryption key size accepted in octets" if !BT_SMP_SC_ONLY
range 7 16
default 7
default 16 if BT_SMP_SC_ONLY
help
This option sets the minimum encryption key size accepted during pairing.
endif # BT_SMP
rsource "Kconfig.l2cap"
rsource "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 && (BT_RPA_TIMEOUT < 655)
range 1 655
config BT_CONN_PARAM_UPDATE_TIMEOUT
int "Peripheral connection parameter update timeout in milliseconds"
default 5000
range 0 65535
help
The value is a timeout used by peripheral device to wait until it
starts the first connection parameters update procedure after a
connection has been established.
The connection parameters requested will be the parameters set by the
application, or the peripheral preferred connection parameters if
configured.
The default value is set to 5 seconds, to comply with the Bluetooth
Core specification: Core 4.2 Vol 3, Part C, 9.3.12.2:
"The Peripheral device should not perform a Connection Parameter
Update procedure within 5 seconds after establishing a connection."
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. By not scanning with the
identity address the scanner will receive directed advertise reports
for for the local identity. If this use case is required, 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 64
default 1
help
Maximum number of supported local identity addresses. For most
products this is safe to leave as the default value (1).
config BT_DF
bool "Enable Direction Finding support [EXPERIMENTAL]"
help
Enable support for Bluetooth 5.1 Direction Finding.
It will allow to: get information about antennae, configure
Constant Tone Extension, transmit CTE and sample incoming CTE.
config BT_DF_CONNECTIONLESS_CTE_RX
bool "Enable support for receive of CTE in connectionless mode"
depends on BT_DF
help
Enable support for reception and sampling of Constant Tone Extension
in connectionless mode.
config BT_DF_CONNECTION_CTE_RX
bool "Enable support for receive of CTE in connection mode"
depends on BT_DF
help
Enable support for reception and sampling of Constant Tone Extension
in connection mode.
config BT_DEBUG_DF
bool "Bluetooth Direction Finding debug"
depends on BT_DF
help
This option enables debug support for Bluetooth Direction Finding
endif # BT_HCI_HOST
config BT_ECC
bool "Enable ECDH key generation support"
default y if BT_MESH_PROV || (BT_SMP && !BT_SMP_OOB_LEGACY_PAIR_ONLY)
help
This option adds support for ECDH HCI commands.
config BT_TINYCRYPT_ECC
bool "Emulate ECDH in the Host using TinyCrypt library"
select TINYCRYPT
select TINYCRYPT_ECC_DH
depends on BT_ECC && (BT_HCI_RAW || BT_HCI_HOST)
default y if BT_CTLR && !BT_CTLR_ECDH
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 || BT_ISO
help
This option enables debug support for Bluetooth
connection handling.
config BT_DEBUG_ISO
bool "ISO channel debug"
help
Use this option to enable ISO channels debug logs for the
Bluetooth Audio functionality.
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.
WARNING: This option prints out private security keys such as
the Long Term Key.
Use of this feature in production is strongly discouraged.
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).
WARNING: This option prints out private security keys such as
the Long Term Key.
Use of this feature in production is strongly discouraged.
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_LOG_SNIFFER_INFO
bool "Bluetooth log information for sniffer"
help
This option enables the Bluetooth stack to log information such as
DH private key and LTK keys, which can be used by sniffers to decrypt
the connection without the use of Debug keys.
WARNING: This option prints out private security keys such as
the Long Term Key.
Use of this feature in production is strongly discouraged
config BT_TESTING
bool "Bluetooth Testing"
help
This option enables custom Bluetooth testing interface.
Shall only be used for testing purposes.
config BT_CONN_DISABLE_SECURITY
bool "Disable security"
depends on BT_TESTING
help
This option disables security checks for incoming requests enabling
to test accessing GATT attributes and L2CAP channels that would
otherwise require encryption/authentication in order to be accessed.
WARNING: This option enables anyone to snoop on-air traffic.
Use of this feature in production is strongly discouraged.
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"
depends on BT_RFCOMM
# RX MTU will be truncated to account for the L2CAP PDU header.
default BT_BUF_ACL_RX_SIZE
range 23 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
|