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 | # Bluetooth ATT/GATT configuration options # Copyright (c) 2019 Intel Corporation # SPDX-License-Identifier: Apache-2.0 menu "ATT and GATT Options" config BT_ATT_ENFORCE_FLOW bool "Enforce strict flow control semantics for incoming PDUs" default y if !(BOARD_QEMU_CORTEX_M3 || BOARD_QEMU_X86 || ARCH_POSIX) help Enforce flow control rules on incoming PDUs, preventing a peer from sending new requests until a previous one has been responded or sending a new indication until a previous one has been confirmed. This may need to be disabled to avoid potential race conditions arising from a USB based HCI transport that splits HCI events and ACL data to separate endpoints. config BT_ATT_PREPARE_COUNT int "Number of ATT prepare write buffers" default 0 range 0 64 help Number of buffers available for ATT prepare write, setting this to 0 disables GATT long/reliable writes. config BT_ATT_RETRY_ON_SEC_ERR bool "Automatic security elevation and retry on security errors" default y depends on BT_SMP help If an ATT request fails due to insufficient security, the host will try to elevate the security level and retry the ATT request. config BT_EATT bool "Enhanced ATT Bearers support [EXPERIMENTAL]" depends on BT_L2CAP_ECRED select EXPERIMENTAL select BT_GATT_READ_MULT_VAR_LEN help This option enables support for Enhanced ATT bearers support. When enabled additional L2CAP channels can be connected as bearers enabling multiple outstanding request. if BT_EATT config BT_EATT_MAX int "Maximum number of Enhanced ATT bearers" default 3 range 1 16 help Number of Enhanced ATT bearers available. config BT_EATT_AUTO_CONNECT bool "Automatically connect EATT bearers when a link is established" default y help The device will try to connect BT_EATT_MAX enhanced ATT bearers when a connection to a peer is established. endif # BT_EATT config BT_GATT_AUTO_RESUBSCRIBE bool "Automatic re-subscription to characteristics" default y imply BT_GATT_AUTO_SEC_REQ depends on BT_GATT_CLIENT help Quirk: upon re-establishing a bonded connection, assumes the remote forgot the CCC values and sets them again. If this behavior is not desired for a particular subscription, set the `BT_GATT_SUBSCRIBE_FLAG_NO_RESUB` flag. This also means that upon a reconnection, the application will get an unprompted call to its `subscribe` callback. config BT_GATT_AUTO_SEC_REQ bool "Automatic security re-establishment request as a peripheral" default y depends on BT_SMP help This option requests security re-establishment automatically whenever a reconnection to a GATT client is established and there are notifiable or indicatable characteristics for which security is required. This configuration option only applies to the peripheral role, which sends a Security Request for this purpose. When disabled, it is the application's responsibility to call bt_conn_set_security() to re-establish security prior to sending any notifications or indications on the characteristics that require security (unless the central does that first). This option has been introduced to avoid interoperability issues with commercially available central devices that react negatively to receiving a Security Request immediately after reconnection. config BT_GATT_SERVICE_CHANGED bool "GATT Service Changed support" default y help This option enables support for the service changed characteristic. config BT_GATT_DYNAMIC_DB bool "GATT dynamic database support" depends on BT_GATT_SERVICE_CHANGED help This option enables registering/unregistering services at runtime. config BT_GATT_CACHING bool "GATT Caching support" default y depends on BT_GATT_SERVICE_CHANGED select TINYCRYPT select TINYCRYPT_AES select TINYCRYPT_AES_CMAC help This option enables support for GATT Caching. When enabled the stack will register Client Supported Features and Database Hash characteristics which can be used by clients to detect if anything has changed on the GATT database. if BT_GATT_CACHING config BT_GATT_NOTIFY_MULTIPLE bool "GATT Notify Multiple Characteristic Values support" depends on BT_GATT_CACHING help This option enables support for the GATT Notify Multiple Characteristic Values procedure. if BT_GATT_NOTIFY_MULTIPLE config BT_GATT_NOTIFY_MULTIPLE_FLUSH_MS int "Delay for batching multiple notifications in a single PDU." default 1 range 0 4000 help Sets the time (in milliseconds) during which consecutive GATT notifications will be tentatively appended to form a single ATT_MULTIPLE_HANDLE_VALUE_NTF PDU. If set to 0, batching is disabled. Then, the only way to send ATT_MULTIPLE_HANDLE_VALUE_NTF PDUs is to use bt_gatt_notify_multiple. See the documentation of bt_gatt_notify() for more details. endif # BT_GATT_NOTIFY_MULTIPLE config BT_GATT_ENFORCE_CHANGE_UNAWARE bool "GATT Enforce change-unaware state" depends on BT_GATT_CACHING help When enable this option blocks notification and indications to client to conform to the following statement from the Bluetooth 5.1 specification: '...the server shall not send notifications and indications to such a client until it becomes change-aware." In case the service cannot deal with sudden errors (-EAGAIN) then it shall not use this option. endif # BT_GATT_CACHING config BT_GATT_ENFORCE_SUBSCRIPTION bool "GATT Enforce characteristic subscription" default y help When enabled, this option will make the server block sending notifications and indications to a device which has not subscribed to the supplied characteristic. config BT_GATT_CLIENT bool "GATT client support" help This option enables support for the GATT Client role. config BT_GATT_READ_MULTIPLE bool "GATT Read Multiple Characteristic Values support" default y help This option enables support for the GATT Read Multiple Characteristic Values procedure. config BT_GATT_READ_MULT_VAR_LEN bool "GATT Read Multiple Variable Length Characteristic Values support" default y help This option enables support for the GATT Read Multiple Variable Length Characteristic Values procedure. Mandatory if EATT is enabled, optional otherwise (Core spec v5.3, Vol 3, Part G, Section 4.2, Table 4.1). config BT_GATT_AUTO_DISCOVER_CCC bool "Support to automatic discover the CCC handles of characteristics" depends on BT_GATT_CLIENT help This option enables support for GATT to initiate discovery for CCC handles if the CCC handle is unknown by the application. config BT_GATT_AUTO_UPDATE_MTU bool "Automatically send ATT MTU exchange request on connect" depends on BT_GATT_CLIENT help This option if enabled allows automatically sending request for ATT MTU exchange. config BT_GAP_AUTO_UPDATE_CONN_PARAMS bool "Automatic Update of Connection Parameters" default y depends on BT_PERIPHERAL help This option if enabled allows automatically sending request for connection parameters update after GAP recommended 5 seconds of connection as peripheral. config BT_GAP_PERIPHERAL_PREF_PARAMS bool "Configure peripheral preferred connection parameters" default y depends on BT_PERIPHERAL help This allows to configure peripheral preferred connection parameters. Enabling this option results in adding PPCP characteristic in GAP. If disabled it is up to application to set expected connection parameters. if BT_GAP_PERIPHERAL_PREF_PARAMS config BT_PERIPHERAL_PREF_MIN_INT int "Peripheral preferred minimum connection interval in 1.25ms units" default 24 range 6 65535 help Range 3200 to 65534 is invalid. 65535 represents no specific value. config BT_PERIPHERAL_PREF_MAX_INT int "Peripheral preferred maximum connection interval in 1.25ms units" default 40 range 6 65535 help Range 3200 to 65534 is invalid. 65535 represents no specific value. config BT_PERIPHERAL_PREF_LATENCY int "Peripheral preferred peripheral latency in Connection Intervals" default 0 range 0 499 config BT_PERIPHERAL_PREF_TIMEOUT int "Peripheral preferred supervision timeout in 10ms units" default 42 range 10 65535 help It is up to user to provide valid timeout which pass required minimum value: in milliseconds it shall be larger than "(1+ Conn_Latency) * Conn_Interval_Max * 2" where Conn_Interval_Max is given in milliseconds. Range 3200 to 65534 is invalid. 65535 represents no specific value. endif # BT_GAP_PERIPHERAL_PREF_PARAMS config BT_DEVICE_NAME_GATT_WRITABLE bool "Allow to write name by remote GATT clients" depends on BT_DEVICE_NAME_DYNAMIC default y help Enabling this option allows remote GATT clients to write to device name GAP characteristic. if BT_DEVICE_NAME_GATT_WRITABLE config DEVICE_NAME_GATT_WRITABLE_ENCRYPT bool "Encryption required to write name by remote GATT clients" default y help Enabling this option requires the connection to be encrypted to write to the device name GAP characteristic. config DEVICE_NAME_GATT_WRITABLE_AUTHEN bool "Authentication required to write name by remote GATT clients" help Enabling this option requires the connection to be encrypted and authenticated to write to the device name GAP characteristic. endif #BT_DEVICE_NAME_GATT_WRITABLE if BT_DEBUG config BT_DEBUG_ATT bool "Bluetooth Attribute Protocol (ATT) debug" select DEPRECATED help This option enables debug support for the Bluetooth Attribute Protocol (ATT). module = BT_ATT legacy-debug-sym = BT_DEBUG_ATT module-str = "Bluetooth Attribute Protocol (ATT)" source "subsys/bluetooth/common/Kconfig.template.log_config_bt" config BT_DEBUG_GATT bool "Bluetooth Generic Attribute Profile (GATT) debug" select DEPRECATED help This option enables debug support for the Bluetooth Generic Attribute Profile (GATT). module = BT_GATT legacy-debug-sym = BT_DEBUG_GATT module-str = "Bluetooth Generic Attribute Profile (GATT)" source "subsys/bluetooth/common/Kconfig.template.log_config_bt" endif # BT_DEBUG endmenu |