Part D. Core Configurations
This volume specifies Core Configurations for implementations based on the Bluetooth Core Specification.
1. Introduction
This Part covers Core Configurations and related concepts for implementations based on the Core Specification.
A layer is one of the parts of this specification specified in the tables in Section 2. A Controller layer is any layer listed in Table 2.1 or Table 2.2. A Host layer is any layer listed in Table 2.3 or Table 2.4.
For some purposes in this Part, HCI is treated as if it were two separate layers, one only including the Upper HCI role and the other only including the Lower HCI role.
An implementation contains a complete layer if the implementation includes, for that layer, all mandatory features, all the mandatory elements of any optional feature that is included, and any features that are conditionally required. This also applies to sub-features or elements of a feature. For example, if the layer includes a requirement such as “if feature A is implemented, then feature B shall be implemented”, then any implementation of the layer that includes feature A but not all the elements of feature B is not complete.
An implementation of Bluetooth wireless technology based on the Core Specification shall include one or more complete layers of the Core Specification and may also implement one or more Bluetooth specifications that are external to the Core Specification. Such an implementation shall include all features required by dependencies between any layers included in the implementation.
Each capability of this specification shall be supported in the specified manner. This specification may provide options for design flexibility, because, for example, some products do not implement every portion of the specification. For each implementation option that is supported, it shall be supported as specified.
Using such an implementation to enable Bluetooth wireless technology end-to-end might require further integration before distribution.
2. Core Configurations
A Core Configuration determines the transport and layers that an implementation shall include and any inter-layer dependency requirements that apply, as specified in other Parts of this specification.
Each implementation of a Core Configuration shall include the specific complete layers listed in the sub-section of Section 2 corresponding to that configuration. The implementation may also include other complete layers of the Core Specification and may also implement one or more Bluetooth specifications that are external to the Core Specification. It shall also implement all features required by dependencies between any layers included in the implementation. An implementation that includes all the layers of more than one Core Configuration is deemed to be an implementation of the Core Configuration that has the most layers and not of any other Core Configuration. For example, an implementation that includes all the layers in Table 2.1 and Table 2.2 implements the BR/EDR/LE Core-Controller Configuration and not either the BR/EDR Core-Controller Configuration or the LE Core-Controller Configuration.
Bluetooth wireless technology shall only be enabled end-to-end in an implementation of a Core-Complete Configuration.
2.1. Core-Controller Configuration
An implementation of a Core-Controller Configuration shall include Controller layers of this specification and the Lower HCI role of HCI and shall not include any Host layer (including the Upper HCI role of HCI) of this specification.
An implementation of a Core-Controller Configuration may also include one or more codec specifications implemented in the Controller. For example, an implementation of a Core-Controller Configuration may also support the LC3 codec implemented in the Controller.
An implementation of a Core-Controller Configuration shall not include any other layers external to the Core Specification.
2.1.1. BR/EDR Core-Controller Configuration
An implementation of the BR/EDR Core-Controller Configuration shall include the layers specified in Table 2.1.
Layer | Reference | Layer requirement |
---|---|---|
HCI | Mandatory (Lower HCI role only) | |
SEC | Mandatory | |
LMP | Mandatory | |
BB | Mandatory | |
RF | Mandatory |
2.1.2. LE Core-Controller Configuration
An implementation of the LE Core-Controller Configuration shall include the layers specified in Table 2.2.
Layer | Reference | Layer requirement |
---|---|---|
HCI | Mandatory (Lower HCI role only) | |
ISOAL | C.2 | |
CS | C.3 | |
LESEC | C.1 | |
LL | Mandatory | |
RFPHY | Mandatory | |
|
2.1.3. BR/EDR/LE Core-Controller Configuration
An implementation of the BR/EDR/LE Core-Controller Configuration shall include the layers specified in Table 2.1 and Table 2.2.
2.1.4. [This section is no longer used]
2.1.5. [This section is no longer used]
2.2. Core-Host Configurations
An implementation of a Core-Host Configuration shall include Host layers of the Core Specification and the Upper HCI role of HCI and shall not include any Controller layer (including the Lower HCI role of HCI) of the Core Specification.
An implementation of a Core-Host Configuration may also include one or more Bluetooth specifications that are external to the Core Specification, other than those implemented in the Controller. For example, an implementation of a Core-Host Configuration may also support A2DP, BAS, HOGP, or LC3 implemented in the Host.
2.2.1. BR/EDR Core-Host Configuration
An implementation of the BR/EDR Core-Host Configuration shall include the layers specified in Table 2.3.
Layer | Reference | Layer requirement |
---|---|---|
GATT | C.1 | |
ATT | Optional | |
GAP | Mandatory | |
SDP | Mandatory | |
L2CAP | Mandatory | |
HCI | Mandatory (Upper HCI role only) | |
|
2.2.2. LE Core-Host Configuration
An implementation of the LE Core-Host Configuration shall include the layers specified in Table 2.4.
Layer | Reference | Layer requirement |
---|---|---|
GATT | C.1 | |
ATT | C.1 | |
GAP | Mandatory | |
SM | C.1 | |
L2CAP | C.1 | |
HCI | Mandatory (Upper HCI role only) | |
|
2.2.3. BR/EDR/LE Core-Host Configuration
An implementation of the BR/EDR/LE Core-Host Configuration shall include the layers specified in Table 2.3 and Table 2.4.
2.2.4. [This section is no longer used]
2.2.5. [This section is no longer used]
2.3. Core-Complete Configurations
An implementation of a Core-Complete Configuration may also include one or more Bluetooth specifications that are external to the Core Specification. For example, an implementation of a Core-Complete Configuration may also support A2DP, BAS, HOGP, or LC3.
An implementation of a Core-Complete Configuration may omit either or both roles of the HCI layer as specified in Table 2.1, Table 2.2, Table 2.3, and Table 2.4, except as stated in the next paragraph.
If an implementation of a Core-Complete Configuration is created by combining an implementation of a Core-Host Configuration with an implementation of a compatible Core-Controller Configuration, then the resulting implementation shall use HCI ([Vol 4] Part E) for communication between the Host and the Controller.
2.3.1. BR/EDR Core-Complete Configuration
An implementation of the BR/EDR Core-Complete Configuration shall include the layers specified in Table 2.1 and Table 2.3.
2.3.2. LE Core-Complete Configuration
An implementation of the LE Core-Complete Configuration shall include the layers specified in Table 2.2 and Table 2.4.
2.3.3. BR/EDR/LE Core-Complete Configuration
An implementation of the BR/EDR/LE Core-Complete Configuration shall include the layers specified in Table 2.1, Table 2.2, Table 2.3, and Table 2.4.
2.3.4. [This section is no longer used]
2.3.5. [This section is no longer used]
2.4. Other Core layers
An implementation may include any of the additional layers specified in Table 2.5.
Note: These layers are neither Host nor Controller layers and are not associated with a specific transport or Core Configuration.
Layer | Reference | Layer requirement |
---|---|---|
HCI-UART | Optional | |
HCI-USB | Optional | |
HCI-SD | Optional | |
HCI-3W | Optional | |
DTM | Optional | |
MWS | Optional | |
WCI-1 | Optional | |
WCI-2 | Optional |
3. Mixing requirements from different versions
Subject to the requirements of this section, an implementation may mix layers that implement different versions of this specification.
All Controller layers (including Lower HCI) that are included shall implement a single version of this specification (the “Controller Version”).
All Host layers that are included (excluding Upper HCI) shall implement a single version of this specification (the “Host Version”), which may be a different version from the Controller Version.
If an implementation includes Upper HCI, then the version of Upper HCI implemented (the “Upper HCI Version”) shall be the same version or a higher version than the Host Version.
For the purposes of this section, a version of this specification mixed with one or more Core Specification Addenda (see Section 5) is the same as that version of this specification without any Core Specification Addenda.
4. Features and their types
Features in this specification are divided into the types listed in Table 4.1.
Type | Description |
---|---|
Type 1 | Controller feature that cannot be configured/enabled by the Host via HCI |
Type 2 | Controller feature that can be configured/enabled by the Host via HCI |
Type 3 | Feature that exists in both the Controller and the Host and requires HCI commands/events to function |
Type 4 | Host feature that does not involve the Controller |
The behavior of a feature in an implementation of a Core-Complete Configuration depends on the feature type:
A feature of type 1 that is specified in the Controller Version can function irrespective of the Host Version or Upper HCI Version.
A feature of type 2 that is specified in the Controller Version can function if the Upper HCI Version is the same or a newer version than the Controller Version. Otherwise, the feature will be restricted to behavior (if any) that does not require the Host to configure/enable it; the available behavior will depend on the feature.
A feature of type 3 can only function if it is specified in both the Controller Version and the Host Version.
A feature of type 4 that is specified in the Host Version can function irrespective of the Controller Version or Upper HCI Version.
Table 4.2 lists the features added in versions 1.2 and higher of this specification, their types, and the version or addendum where the feature was first introduced.
Feature | Version | Type |
---|---|---|
Basic AFH operation | 1.2 | 1 |
Enhanced inquiry | 1.2 | 1 |
Configuration of AFH (setting channels and enabling/disabling channel assessment) | 1.2 | 2 |
Enhanced synchronization capability | 1.2 | 2 |
Interlaced inquiry scan | 1.2 | 2 |
Interlaced page scan | 1.2 | 2 |
Broadcast encryption | 1.2 | 2 |
Enhanced flow specification and flush time-out | 1.2 | 3 |
Extended SCO links | 1.2 | 3 |
Inquiry Result with RSSI | 1.2 | 3 |
L2CAP flow and error control | 1.2 | 4 |
2 Mb/s EDR | 2.0 + EDR | 2 |
3 Mb/s EDR | 2.0 + EDR | 2 |
3 slot packets in EDR | 2.0 + EDR | 2 |
5 slot packets in EDR | 2.0 + EDR | 2 |
2 Mb/s eSCO | 2.0 + EDR | 2 |
3 Mb/s eSCO | 2.0 + EDR | 2 |
3 slot packets for EDR eSCO | 2.0 + EDR | 2 |
Erroneous Data Reporting | 2.1 + EDR | 3 |
Extended Inquiry Response | 2.1 + EDR | 3 |
Encryption Pause and Resume | 2.1 + EDR | 1 |
Link Supervision Timeout Changed Event | 2.1 + EDR | 3 |
Non-Flushable Packet Boundary Flag | 2.1 + EDR | 3 |
Sniff subrating | 2.1+ EDR | 3 |
Secure Simple Pairing | 2.1.+ EDR | 3 |
L2CAP Enhanced Retransmission Mode | Addendum 1/ 3.0 + HS | 4 |
L2CAP Streaming Mode | Addendum 1/ 3.0 + HS | 4 |
Enhanced Power Control | 3.0 + HS | 1 |
Generic Test Methodology | 3.0 + HS | 3 |
Unicast Connectionless Data | 3.0 + HS | 4 |
Low Energy Controller (PHY and LL) | 4.0 | 3 |
Low Energy Host (L2CAP and Security Manager) | 4.0 | 4 |
Attribute Protocol and Generic Attribute Profile | 4.0 | 4 |
Appearance Data Type | Addendum 2 | 4 |
MWS Coexistence Signaling | Addendum 3 | 2 |
Connectionless Peripheral Broadcast | Addendum 4 | 3 |
Unencrypted UCD | Addendum 4 | 4 |
BR/EDR Secure Connections | 4.1 | 3 |
Train Nudging | 4.1 | 2 |
Generalized Interlaced Scan | 4.1 | 2 |
Piconet Clock Adjustment | 4.1 | 3 |
Low Duty Cycle Directed Advertising | 4.1 | 2 |
32-bit UUID Support in LE | 4.1 | 4 |
LE Dual Mode Topology | 4.1 | 4 |
LE L2CAP Connection Oriented Channel Support | 4.1 | 4 |
LE Privacy v1.1 | 4.1 | 4 |
LE Link Layer Topology | 4.1 | 3 |
LE Ping | 4.1 | 2 |
LE Data Packet Length Extension | 4.2 | 2 |
LE Secure Connections | 4.2 | 4 |
Link Layer Privacy | 4.2 | 3 |
Link Layer Extended Filter Policies | 4.2 | 3 |
Slot Availability Mask | 5.0 | 2 |
LE 2M PHY | 5.0 | 2 |
LE Coded PHY | 5.0 | 3 |
High Duty Cycle Non-Connectable Advertising | 5.0 | 2 |
LE Advertising Extensions | 5.0 | 3 |
LE Channel Selection Algorithm #2 | 5.0 | 2 |
LE Higher Output Power | Addendum 5 | 1 |
Angle of Arrival/Angle of Departure | 5.1 | 2 |
GATT Caching | 5.1 | 4 |
Periodic Advertising Sync Transfer | 5.1 | 3 |
Control Length Extension | 5.1 | 1 |
Advertising Channel Index | 5.1 | 1 |
HCI support for debug keys in LE Secure Connections | 5.1 | 2 |
Sleep clock accuracy update mechanism | 5.1 | 2 |
ADI field in scan response data | 5.1 | 1 |
Interaction between QoS and Flow Specification | 5.1 | 2 |
Host channel classification for secondary advertising | 5.1 | 2 |
Allow the SID to appear in scan response reports | 5.1 | 1 |
LE Isochronous Channels | 5.2 | 3 |
Enhanced Attribute Protocol | 5.2 | 4 |
LE Power Control | 5.2 | 2 |
Periodic Advertising ADI support | 5.3 | 2 |
Set Min Encryption Key Size command and Encryption Change [v2] event | 5.3 | 2 |
Connection Subrating | 5.3 | 3 |
Channel Classification | 5.3 | 2 |
Advertising Coding Selection | 5.4 | 2 |
Encrypted Advertising Data | 5.4 | 4 |
Periodic Advertising with Responses | 5.4 | 3 |
LE GATT Security Levels Characteristic | 5.4 | 4 |
Channel Sounding | 6.0 | 3 |
Decision-Based Advertising Filtering | 6.0 | 3 |
ISOAL Unsegmented Framed Mode | 6.0 | 2 |
Monitoring Advertisers | 6.0 | 3 |
LE Frame Space Update | 6.0 | 2 |
LL Extended Feature Set | 6.0 | 2 |
5. Core Specification Addenda
A Core Specification Addendum (CSA) contains one or more parts of a single volume, one or more parts in multiple volumes, changes on one or more parts, or a mixture of parts and changes. Addenda are used to supersede a part in a volume or may be used to add a part to a volume according to the rules in Table 5.1.
Note: Each Change may contain changes and/or additions to one or more parts of the specification.
Addendum | Volume and Part or change name | Addition/ Changes/ Replacement | Allowed Versions & Addenda | Mandatory / Optional / Conditional | Type |
---|---|---|---|---|---|
1 | Volume 3, Part A | Replacement | 2.0 + EDR, 2.1 + EDR | O | 4 |
2 | Audio Architecture HCI changes | Change | 2.1 + EDR, 3.0 + HS, 4.0 | O | 2 |
Audio Architecture USB changes | Change | 2.1 + EDR, 3.0 + HS, 4.0 | O | 2 | |
LE Limited Discovery Time Changes | Change | 4.0 | C.1 | 4 | |
EIR and AD Data Types in GAP changes | Change | 4.0 | C.1 | 4 | |
EIR and AD Data Types Specification | Addition | 4.0 | C.1 | 4 | |
Volume 5, Part A | Replacement | 3.0 + HS, 4.0 | O | 3 | |
3 | LE Errata | Change | 4.0 with CSA2 | C.2 | Multiple |
GAP Connection Parameters Changes | Change | 4.0 with CSA2 | C.1 | 4 | |
GAP Authentication and Lost Bond Changes | Change | 4.0 with CSA2 | C.1 | 4 | |
Common Profile and Services Error Code Range Changes | Change | 4.0 with CSA2 | C.1 | 4 | |
Private Addressing Changes | Change | 4.0 with CSA2 | C.1 | 4 | |
Dual Mode Addressing Changes | Change | 4.0 with CSA2 | C.3 | 4 | |
MWS Coexistence Logical Signaling Specification | Addition | 2.1 + EDR, 3.0 + HS, 4.0 with CSA2 | O | 2 | |
MWS Coexistence HCI | Addition | 2.1 + EDR, 3.0 + HS, 4.0 with CSA2 | C.4 | 2 | |
Wireless Coexistence Interface 1 (WCI-1) Transport Layer Specification | Addition | 2.1 + EDR, 3.0 + HS, 4.0 with CSA2 | C.4 | 2 | |
Wireless Coexistence Interface 2 (WCI-2) Transport Layer Specification | Addition | 2.1 + EDR, 3.0 + HS, 4.0 with CSA2 | C.4 | 2 | |
4 | Connectionless Peripheral Broadcast | Change | 3.0 + HS, 4.0 with CSA3 | O | 3 |
Unencrypted UCD | Change | 3.0 + HS, 4.0 with CSA3 | O | 4 | |
Fast Advertising Interval | Change | 4.0 with CSA3 | C.1 | 4 | |
eSCO Reserved Slot Clarification | Change | 2.1 + EDR, 3.0 + HS, 4.0 with CSA3 | O | 1 | |
5 | Higher Output Power | Change | 4.0 with CSA3, 4.0 with CSA4, 4.1, 4.2 | O | 1 |
6 | The changes made by CSA6 have all been removed from the Core Specification and so CSA6 is withdrawn. | ||||
|