logo资料库

蓝牙5.0协议 Core_v5.0.pdf

第1页 / 共2822页
第2页 / 共2822页
第3页 / 共2822页
第4页 / 共2822页
第5页 / 共2822页
第6页 / 共2822页
第7页 / 共2822页
第8页 / 共2822页
资料共2822页,剩余部分请下载后查看
Vol 0: Master Table of Contents & Compliance Requirements
Part A: Master Table of Contents
The Bluetooth Specification Master Table of Contents
Part B: Bluetooth Compliance Requirements
Contents
1 Introduction
2 Scope
3 Definitions
3.1 Types of Bluetooth Products
3.1.1 Bluetooth End Product
3.1.2 Bluetooth Subsystem Product
3.1.2.1 Bluetooth Host Subsystem Product
3.1.2.2 Bluetooth Controller Subsystem Product
3.1.2.3 Bluetooth Profile Subsystem Product
3.1.3 Bluetooth Component Product
3.1.4 Bluetooth Development Tool
3.1.5 Bluetooth Test Equipment
4 Core Configurations
4.1 Basic Rate Core Configuration
4.2 Enhanced Data Rate Core Configurations
4.3 High Speed Core Configuration
4.4 Low Energy Core Configuration
4.5 Basic Rate and Low Energy Combined Core Configuration
4.6 Host Controller Interface Core Configuration
Part C: Appendix
Contents
1 Revision History
1.1 [Vol 0] Master TOC & Compliance Requirements
1.1.1 Bluetooth Compliance Requirements
1.2 [Vol 1] Architecture & Terminology Overview
1.3 [Vols 2, 3, 5, 6 & 7] Core System Package
1.4 [Vol 4] Transport Layers
2 Contributors
2.1 [Vol 0] Master TOC & Compliance Requirements
2.1.1 Part B: Bluetooth Compliance Requirements
2.1.2 Vol 0 Part C: Appendix (Rev History and Contributors)
2.2 [Vol 1] Architecture & Terminology Overview
2.2.1 Part A: Architectural Overview
2.2.2 Part B: Acronyms & Abbreviations
2.2.3 Part C: Core Specification Change History
2.2.4 Part D: Mixing of Specification Versions
2.2.5 Part E: General Terminology and Interpretation
2.3 [Vol 2] Core System Package, Controller
2.3.1 Part A: Radio Specification
2.3.2 Part B: Baseband Specification
2.3.3 Part C: Link Manager Protocol
2.3.4 Part D: Error Codes
2.3.5 Part E: Bluetooth Host Controller Interface Functional Specification
2.3.6 Part F: Message Sequence Charts
2.3.7 Part G: Sample Data
2.3.8 Part H: Security Specification
2.4 [Vol 3] Core System Package, Host
2.4.1 Part A: Logical Link Control and Adaptation Protocol Specification
2.4.2 Part B: Service Discovery Protocol (SDP)
2.4.3 Part C: Generic Access Profile
2.4.4 Part D: Test Support
2.4.5 Part E: AMP Manager Protocol
2.4.6 Part F: Attribute Protocol Specification
2.4.7 Part G: Generic Attribute Profile Specification
2.4.8 Part H: Security Manager Specification
2.5 [Vol 4] Host Controller Interface [Transport Layer]
2.6 [Vol 5] Core System Package [AMP Controller volume]
2.6.1 Part A: 802.11 PAL
2.7 [Vol 6] Low Energy Specification
2.7.1 Part A: Physical Layer Specification
2.7.2 Part B: Link Layer Specification
2.7.3 Part C: Sample Data
2.7.4 Part D: Message Sequence Charts
2.7.5 Part E: Low Energy Security Specification
2.7.6 Part F: Direct Test Mode
2.8 [Vol 7] Core System Package [Wireless Coexistence Volume]
2.8.1 Part A: MWS Coexistence Logical Signaling Specification
2.8.2 Part B: Wireless Coexistence Interface 1 (WCI-1) Transport Specification
2.8.3 Part C: Wireless Coexistence Interface 2 (WCI-2) Transport Specification
Vol 1 : Architecture & Terminology Overview
Part A: Architecture
Contents
1 General Description
1.1 Overview of BR/EDR Operation
1.2 Overview of Bluetooth Low Energy Operation
1.3 Overview of AMP Operation
1.4 Nomenclature
2 Core System Architecture
2.1 Core Architectural Blocks
2.1.1 Host Architectural Blocks
2.1.1.1 Channel Manager
2.1.1.2 L2CAP Resource Manager
2.1.1.3 Security Manager Protocol
2.1.1.4 Attribute Protocol
2.1.1.5 AMP Manager Protocol
2.1.1.6 Generic Attribute Profile
2.1.1.7 Generic Access Profile
2.1.2 BR/EDR/LE Controller Architectural Blocks
2.1.2.1 Device Manager
2.1.2.2 Link Manager
2.1.2.3 Baseband Resource Manager
2.1.2.4 Link Controller
2.1.2.5 PHY
2.1.3 AMP Controller Architectural Blocks
2.1.3.1 AMP HCI
2.1.3.2 AMP PAL
2.1.3.3 AMP MAC
2.1.3.4 AMP PHY
3 Data Transport Architecture
3.1 Core Traffic Bearers
3.1.1 Framed Data Traffic
3.1.2 Unframed Data Traffic
3.1.3 Reliability of Traffic Bearers
3.1.3.1 BR/EDR Reliability
3.1.3.2 LE Reliability
3.1.3.3 AMP Reliability
3.2 Transport Architecture Entities
3.2.1 BR/EDR Generic Packet Structure
3.2.2 LE Generic Packet Structure
3.3 Physical Channels
3.3.1 BR/EDR Physical Channels
3.3.1.1 Basic Piconet Channel
3.3.1.1.1 Overview
3.3.1.1.2 Characteristics
3.3.1.1.3 Topology
3.3.1.1.4 Supported layers
3.3.1.2 Adapted Piconet Channel
3.3.1.2.1 Overview
3.3.1.3 Inquiry Scan Channel
3.3.1.3.1 Overview
3.3.1.3.2 Characteristics
3.3.1.3.3 Topology
3.3.1.3.4 Supported Layers
3.3.1.4 Page Scan Channel
3.3.1.4.1 Overview
3.3.1.4.2 Characteristics
3.3.1.4.3 Topology
3.3.1.4.4 Supported Layers
3.3.1.5 Synchronization Scan Channel
3.3.1.5.1 Overview
3.3.1.5.2 Characteristics
3.3.1.5.3 Topology
3.3.1.5.4 Supported Layers
3.3.2 LE Physical Channels
3.3.2.1 LE Piconet Channel
3.3.2.1.1 Overview
3.3.2.1.2 Characteristics
3.3.2.1.3 Topology
3.3.2.1.4 Supported layers
3.3.2.2 Advertising Channels
3.3.2.2.1 Overview
3.3.2.2.2 Characteristics
3.3.2.2.3 Topology
3.3.2.3 Periodic Physical Channel
3.3.2.3.1 Overview
3.3.2.3.2 Characteristics
3.3.2.3.3 Topology
3.3.3 AMP Physical Channel
3.3.3.1 Overview
3.3.3.2 Characteristics
3.3.3.3 Topology
3.3.3.4 Supported Layers
3.4 Physical Links
3.4.1 BR/EDR Links Supported by the Basic and Adapted Piconet Physical Channel
3.4.1.1 Active Physical Link
3.4.1.2 This section no longer used
3.4.1.3 Connectionless Slave Broadcast Physical Link
3.4.2 BR/EDR Links Supported by the Scanning Physical Channels
3.4.3 LE Links Supported by the LE Physical Channels
3.4.3.1 Active Physical Link
3.4.3.2 Advertising Physical Link
3.4.3.3 Periodic Physical Link
3.4.4 Links Supported by the AMP Physical Channels
3.5 Logical Links and Logical Transports
3.5.1 Casting
3.5.2 Scheduling and Acknowledgment Scheme
3.5.3 Class of Data
3.5.4 Logical Transports
3.5.4.1 BR/EDR Asynchronous Connection-Oriented (ACL)
3.5.4.2 BR/EDR Synchronous Connection-Oriented (SCO)
3.5.4.3 BR/EDR Extended Synchronous Connection-Oriented (eSCO)
3.5.4.4 BR/EDR Active Slave Broadcast (ASB)
3.5.4.5 This section no longer used
3.5.4.6 LE Asynchronous Connection (LE ACL)
3.5.4.7 LE Advertising Broadcast (ADVB)
3.5.4.8 Connectionless Slave Broadcast (CSB)
3.5.4.9 LE Periodic Advertising Broadcast (PADVB)
3.5.5 Logical Links
3.5.5.1 BR/EDR Logical Links
3.5.5.1.1 ACL Control Logical Links (ACL-C and ASB-C)
3.5.5.1.2 User Asynchronous/Isochronous Logical Links (ACL-U and ASB-U)
3.5.5.1.3 User Synchronous/Extended Synchronous Logical Links (SCO-S/eSCO-S)
3.5.5.1.4 Profile Broadcast Data (PBD) Logical Link
3.5.5.2 LE Logical Links
3.5.5.2.1 Control Logical Link (LE-C)
3.5.5.2.2 User Asynchronous Logical Link (LE-U)
3.5.5.2.3 Advertising Broadcast Control Logical Link (ADVB-C)
3.5.5.2.4 Advertising Broadcast User Data Logical Link (ADVB-U)
3.5.5.3 AMP Logical Links
3.5.5.3.1 AMP Control Logical Link (AMP-C)
3.5.5.3.2 AMP User Asynchronous/Isochronous Logical Link (AMP-U)
3.6 L2CAP Channels
4 Communication Topology and Operation
4.1 Piconet Topology
4.1.1 BR/EDR Topology
4.1.2 LE Topology
4.2 Operational Procedures and Modes
4.2.1 BR/EDR Procedures
4.2.1.1 Inquiry (Discovering) Procedure
4.2.1.1.1 Extended Inquiry Response
4.2.1.2 Paging (Connecting) Procedure
4.2.1.3 Connected Mode
4.2.1.4 Hold Mode
4.2.1.5 Sniff Mode
4.2.1.6 This section no longer used
4.2.1.7 Role Switch Procedure
4.2.1.8 Enhanced Data Rate
4.2.1.9 Connectionless Slave Broadcast Mode
4.2.2 LE Procedures
4.2.2.1 Device Filtering Procedure
4.2.2.2 Advertising Procedure
4.2.2.3 Scanning Procedure
4.2.2.4 Discovering Procedure
4.2.2.5 Connecting Procedure
4.2.2.6 Connected Mode
4.2.2.7 Periodic Advertising Procedure
4.2.2.8 Periodic Advertising Synchronization Procedure
4.2.2.9 Periodic Advertising Synchronized Mode
4.2.3 AMP Procedures
4.2.3.1 AMP Discovery Procedures
4.2.3.2 Physical Link Creation Procedure
4.2.3.3 Logical Link Creation Procedure
5 Security Overview
5.1 Security Architecture
5.2 BR/EDR Secure Simple Pairing
5.2.1 Security Goals
5.2.2 Passive Eavesdropping Protection
5.2.3 Man-In-The-Middle Protection
5.2.4 Association Models
5.2.4.1 Numeric Comparison
5.2.4.2 Just Works
5.2.4.3 Out of Band
5.2.4.4 Passkey Entry
5.2.4.5 Association Model Overview
5.3 Secure Connections Only Mode
5.4 LE Security
5.4.1 Association Models
5.4.2 Key Generation
5.4.3 Encryption
5.4.4 Signed Data
5.4.5 Privacy Feature
5.5 AMP Security
5.6 Key Generation Between BR/EDR and LE Physical Transports
6 Bluetooth Application Architecture
6.1 Bluetooth Profiles
6.2 Generic Access Profile
6.3 Profile Hierarchy
6.4 Generic Attribute Profile
6.5 GATT-Based Profile Hierarchy
6.5.1 Service
6.5.2 Referenced Services
6.5.3 Characteristic
7 Coexistence and Collocation
7.1 Core Features Supporting Coexistence and Collocation
7.2 Adaptive Frequency Hopping
7.3 Coexistence between Bluetooth Devices and Wireless LAN Devices
7.4 Mobile Wireless Standards (MWS) Coexistence
7.5 Synchronizing Bluetooth with an External Timing Source
7.6 Piconet Clock Adjustment
7.7 Slot Availability Mask (SAM)
Part B: Acronyms & Abbreviations
Contents
1 List of Acronyms and Abbreviations
Part C: Core Specification Change History
Contents
1 Deprecated Features
2 Changes from V1.1 to V1.2
2.1 New Features
2.2 Structure Changes
2.3 Deprecated Features list
2.4 Changes in Wording
2.5 Nomenclature Changes
3 Changes from V1.2 to V2.0 + EDR
3.1 New Features
3.2 Deprecated Features
4 Changes from V2.0 + EDR to V2.1 + EDR
4.1 New Features
4.2 Deprecated Features
5 Changes From V2.1 + EDR To V3.0 + HS
5.1 New Features
5.2 Deprecated Features
6 Changes From V3.0 + HS To v4.0
6.1 New Features
6.2 Deprecated Features
7 Changes from v4.0 to v4.1
7.1 New Features
7.1.1 Features Added in CSA 4 – Integrated in v4.1
7.1.2 Features Added in CSA 3 – Integrated in v4.1
7.1.3 Features Added in CSA 2 – Integrated in v4.1
7.2 Deprecated Features
8 Changes from v4.1 to v4.2
8.1 New Features
8.2 Errata Incorporated in v4.2
9 Changes from v4.2 to 5.0
9.1 New Features
9.1.1 Features Added in CSA5 - Integrated in v5.0
9.2 Deprecated Features
9.3 Privacy Errata
9.4 Errata Incorporated in 5.0
Part D: Mixing of Specification Versions
Contents
1 Mixing of Specification Versions
1.1 Features and their Types
1.2 Core Specification Addenda
Part E: General Terminology and Interpretation
Contents
1 Use of IEEE Language
1.1 Shall
1.2 Must
1.3 Will
1.4 Should
1.5 May
1.6 Can
2 General Interpretation Rules
2.1 Binary and Hexadecimal Values
2.2 Bit Numbers and Bit Fields
2.3 Specification of Bit Values
2.4 Reserved for Future Use (RFU)
2.5 Use Of Invalid Values in Checksums and Other Calculations
2.6 Assigned Number Requirements
3 Naming Conventions
3.1 BR/EDR
3.2 Bluetooth Low Energy
3.2.1 Link Layer PDUs
Vol 2: Core System Package [BR/EDR Controller volume]
Part A: Radio Specification
Contents
1 Scope
2 Frequency Bands and Channel Arrangement
3 Transmitter Characteristics
3.1 Basic Rate
3.1.1 Modulation Characteristics
3.1.2 Spurious Emissions
3.1.2.1 In-Band spurious emission
3.1.3 Radio Frequency Tolerance
3.2 Enhanced Data Rate
3.2.1 Modulation Characteristics
3.2.1.1 Modulation Method Overview
3.2.1.2 Differential Phase Encoding
3.2.1.3 Pulse Shaping
3.2.1.4 Modulation Accuracy
3.2.1.4.1 RMS DEVM
3.2.1.4.2 99% DEVM
3.2.1.4.3 Peak DEVM
3.2.2 Spurious Emissions
3.2.2.1 In-Band Spurious Emission
3.2.3 Radio Frequency Tolerance
3.2.4 Relative Transmit Power
4 Receiver Characteristics
4.1 Basic Rate
4.1.1 Actual Sensitivity Level
4.1.2 Interference Performance
4.1.3 Out-of-Band Blocking
4.1.4 Intermodulation Characteristics
4.1.5 Maximum Usable Level
4.1.6 Receiver Signal Strength Indicator
4.1.7 Reference Signal Definition
4.2 Enhanced Data Rate
4.2.1 Actual Sensitivity Level
4.2.2 BER Floor Performance
4.2.3 Interference Performance
4.2.4 Maximum Usable Level
4.2.5 Out-of-Band and Intermodulation Characteristics
4.2.6 Reference Signal Definition
Appendix A Test Conditions
A.1 Nominal Test Conditions
A.1.1 Nominal Temperature
A.1.2 Nominal Power Source
A.2 Extreme Test Conditions
A.2.1 Extreme Temperatures
Appendix B This section no longer used
Appendix C Modulation Accuracy Definition
C.1 Enhanced Data Rate Modulation Accuracy
C.1.1 RMS DEVM
C.1.2 Peak DEVM
Part B: Baseband Specification
Contents
1 General Description
1.1 Bluetooth Clock
1.2 Bluetooth Device Addressing
1.2.1 Reserved Addresses
1.3 Access Codes
2 Physical Channels
2.1 Physical Channel Definition
2.2 Basic Piconet Physical Channel
2.2.1 Master-Slave Definition
2.2.2 Hopping Characteristics
2.2.3 Time Slots
2.2.4 Piconet Clocks
2.2.5 Transmit/Receive Timing
2.2.5.1 Piconet Physical Channel Timing
2.2.5.2 Piconet Physical Channel Re-synchronization
2.3 Adapted Piconet Physical Channel
2.3.1 Hopping Characteristics
2.4 Page Scan Physical Channel
2.4.1 Clock Estimate for Paging
2.4.2 Hopping Characteristics
2.4.3 Paging Procedure Timing
2.4.4 Page Response Timing
2.5 Inquiry Scan Physical Channel
2.5.1 Clock for Inquiry
2.5.2 Hopping Characteristics
2.5.3 Inquiry Procedure Timing
2.5.4 Inquiry Response Timing
2.6 Hop Selection
2.6.1 General Selection Scheme
2.6.2 Selection Kernel
2.6.2.1 First Addition Operation
2.6.2.2 XOR Operation
2.6.2.3 Permutation Operation
2.6.2.4 Second Addition Operation
2.6.2.5 Register Bank
2.6.3 Adapted Hop Selection Kernel
2.6.3.1 Channel Re-mapping Function
2.6.4 Control Word
2.6.4.1 Page Scan and Inquiry Scan Hopping Sequences
2.6.4.2 Page Hopping Sequence
2.6.4.3 Slave Page Response Hopping Sequence
2.6.4.4 Master Page Response Hopping Sequence
2.6.4.5 Inquiry Hopping Sequence
2.6.4.6 Inquiry Response Hopping Sequence
2.6.4.7 Basic and Adapted Channel Hopping Sequence
2.6.4.8 Synchronization Train RF Channels
2.7 Synchronization Scan Physical Channel
2.7.1 Hopping Characteristics
2.7.2 Synchronization Train Procedure Timing
2.7.3 Synchronization Scan Procedure Timing
3 Physical Links
3.1 Link Supervision for Active Physical Links
3.2 Link Supervision for Connectionless Slave Broadcast Physical Links
3.3 Authenticated Payload Timeout for Active Links
4 Logical Transports
4.1 General
4.2 Logical Transport Address (LT_ADDR)
4.3 Synchronous Logical Transports
4.4 Asynchronous Logical Transport
4.5 Transmit/Receive Routines
4.5.1 TX Routine
4.5.1.1 ACL Traffic
4.5.1.2 SCO Traffic
4.5.1.3 Mixed Data/Voice Traffic
4.5.1.4 eSCO Traffic
4.5.1.5 Default Packet Types
4.5.2 RX Routine
4.5.3 Flow Control
4.5.3.1 Destination Control
4.5.3.2 Source Control
4.6 Active Slave Broadcast Transport
4.7 This section no longer used
4.8 Connectionless Slave Broadcast Logical Transport
5 Logical Links
5.1 Link Control Logical Link (LC)
5.2 ACL Control Logical Links (ACL-C and ASB-C)
5.3 User Asynchronous/Isochronous Logical Links (ACL-U and ASB-U)
5.3.1 Pausing the ACL-U Logical Link
5.4 User Synchronous Data Logical Link (SCO-S)
5.5 User Extended Synchronous Data Logical Link (eSCO-S)
5.6 Logical Link Priorities
5.7 Profile Broadcast Data Logical Link
6 Packets
6.1 General Format
6.1.1 Basic Rate
6.1.2 Enhanced Data Rate
6.2 Bit Ordering
6.3 Access Code
6.3.1 Access Code Types
6.3.2 Preamble
6.3.3 Sync Word
6.3.3.1 Synchronization Word Definition
6.3.3.2 Pseudo-Random Noise Sequence Generation
6.3.4 Trailer
6.4 Packet Header
6.4.1 LT_ADDR
6.4.2 TYPE
6.4.3 FLOW
6.4.4 ARQN
6.4.5 SEQN
6.4.6 HEC
6.5 Packet Types
6.5.1 Common Packet Types
6.5.1.1 ID Packet
6.5.1.2 NULL Packet
6.5.1.3 POLL Packet
6.5.1.4 FHS Packet
6.5.1.5 DM1 Packet
6.5.2 SCO Packets
6.5.2.1 HV1 Packet
6.5.2.2 HV2 Packet
6.5.2.3 HV3 Packet
6.5.2.4 DV Packet
6.5.3 eSCO Packets
6.5.3.1 EV3 Packet
6.5.3.2 EV4 Packet
6.5.3.3 EV5 Packet
6.5.3.4 2-EV3 Packet
6.5.3.5 2-EV5 Packet
6.5.3.6 3-EV3 Packet
6.5.3.7 3-EV5 Packet
6.5.4 ACL Packets
6.5.4.1 DM1 Packet
6.5.4.2 DH1 Packet
6.5.4.3 DM3 Packet
6.5.4.4 DH3 Packet
6.5.4.5 DM5 Packet
6.5.4.6 DH5 Packet
6.5.4.7 AUX1 Packet
6.5.4.8 2-DH1 Packet
6.5.4.9 2-DH3 Packet
6.5.4.10 2-DH5 Packet
6.5.4.11 3-DH1 Packet
6.5.4.12 3-DH3 Packet
6.5.4.13 3-DH5 Packet
6.6 Payload Format
6.6.1 Synchronous Data Field
6.6.2 Asynchronous Data Field
6.7 Packet Summary
7 Bit stream Processing
7.1 Error Checking
7.1.1 HEC Generation
7.1.2 CRC Generation
7.2 Data Whitening
7.3 Error Correction
7.4 FEC Code: Rate 1/3
7.5 FEC Code: Rate 2/3
7.6 ARQ Scheme
7.6.1 Unnumbered ARQ
7.6.2 Retransmit Filtering
7.6.2.1 Initialization of SEQN at Start of New Connection
7.6.2.2 ACL and SCO Retransmit Filtering
7.6.2.3 eSCO Retransmit Filtering
7.6.2.4 FHS Retransmit Filtering
7.6.2.5 Extended Inquiry Response Retransmit Filtering
7.6.2.6 Packets without CRC Retransmit Filtering
7.6.3 Flushing Payloads
7.6.4 Multi-slave Considerations
7.6.5 Active Slave Broadcast Packets
7.7 Erroneous Synchronous Data Reporting
7.8 Message Integrity Check
8 Link Controller Operation
8.1 Overview of States
8.2 Standby State
8.3 Connection Establishment Substates
8.3.1 Page Scan Substate
8.3.2 Page Substate
8.3.3 Page Response Substates
8.3.3.1 Slave Response Substate
8.3.3.2 Master Response Substate
8.4 Device Discovery Substates
8.4.1 Inquiry Scan Substate
8.4.2 Inquiry Substate
8.4.3 Inquiry Response Substate
8.5 Connection State
8.6 Active Mode
8.6.1 Polling in the Active Mode
8.6.2 SCO
8.6.3 eSCO
8.6.4 Broadcast Scheme
8.6.5 Role Switch
8.6.6 Scatternet
8.6.6.1 Inter-Piconet Communications
8.6.7 Hop Sequence Switching
8.6.8 Channel Classification and Channel Map Selection
8.6.9 Power Management
8.6.9.1 Packet Handling
8.6.9.2 Slot Occupancy
8.6.9.3 Recommendations for Low-Power Operation
8.6.9.4 Enhanced Data Rate
8.6.10 Piconet Clock Adjustment
8.6.10.1 Coarse Clock Adjustment
8.6.10.2 Coarse Clock Adjustment Recovery Mode
8.6.10.3 Clock Dragging
8.6.11 Slot Availability Mask (SAM)
8.6.11.1 SAM Anchor Point
8.6.11.2 SAM Scheduling
8.7 Sniff Mode
8.7.1 Sniff Transition Mode
8.7.2 Sniff Subrating
8.7.2.1 Sniff Mode Timeout
8.7.2.2 Sniff Subrating Mode
8.8 Hold Mode
8.9 This section no longer used
8.10 Connectionless Slave Broadcast Mode
8.10.1 Connectionless Slave Broadcast Transmit Operation
8.10.2 Connectionless Slave Broadcast Receive Operation
8.10.3 AFH in Connectionless Slave Broadcast
8.11 Synchronization Establishment Substates
8.11.1 Synchronization Scan Substate
8.11.2 Synchronization Train Substate
9 Audio
9.1 LOG PCM CODEC
9.2 CVSD CODEC
9.3 Error Handling
9.4 General Audio Requirements
9.4.1 Signal Levels
9.4.2 CVSD Audio Quality
Appendix A General Audio Recommendations
A.1 Maximum Sound Pressure
A.2 Other Telephony Network Requirements
A.3 Audio Levels for Bluetooth
A.4 Microphone Path
A.5 Loudspeaker Path
A.6 Bluetooth Voice Interface
A.7 Frequency Mask
Appendix B Timers
B.1 List of Timers
B.1.1 inquiryTO
B.1.2 pageTO
B.1.3 extended_pageTO
B.1.4 pagerespTO
B.1.5 newconnectionTO
B.1.6 supervisionTO
B.1.7 CSB_supervisionTO
B.1.8 synchronization_trainTO
B.1.9 synchronization_scanTO
B.1.10 authenticatedPayloadTO
B.1.11 CLK_adj_dragTO
Appendix C Recommendations for AFH Operation in Hold, Sniff and CSB
Connectionless Slave Broadcast
C.1 Operation at the Master
C.2 [This section no longer used]
C.3 AFH Operation in Sniff
C.4 AFH Operation in Hold
C.5 AFH Operation in Connectionless Slave Broadcast
Part C: Link Manager Protocol Specification
Contents
1 Introduction
2 General Rules
2.1 Message Transport
2.2 Synchronization
2.3 Packet Format
2.4 Transactions
2.4.1 LMP Response Timeout
2.5 Error Handling
2.5.1 Transaction Collision Resolution
2.6 Procedure Rules
2.7 General Response Messages
2.8 LMP Message Constraints
3 Device Features
3.1 General Description
3.2 Feature Definitions
3.3 Feature Mask Definition
3.4 Link Manager Interoperability policy
4 Procedure Rules
4.1 Connection Control
4.1.1 Connection Establishment
4.1.2 Detach
4.1.3 Power Control
4.1.3.1 Enhanced Power Control
4.1.3.1.1 Sending Enhanced Power Control Requests
4.1.3.1.2 Responding to Enhanced Power Control Requests
4.1.4 Adaptive Frequency Hopping
4.1.4.1 Master Enables AFH
4.1.4.2 Master Disables AFH
4.1.4.3 Master Updates AFH
4.1.4.4 AFH Operation in Hold and Sniff Modes
4.1.5 Channel Classification
4.1.5.1 Channel Classification Reporting Enabling and Disabling
4.1.6 Link Supervision
4.1.7 Channel Quality Driven Data Rate Change (CQDDR)
4.1.8 Quality of Service (QoS)
4.1.8.1 Master Notifies Slave of the Quality of Service
4.1.8.2 Device Requests New Quality of Service
4.1.9 Paging Scheme Parameters
4.1.9.1 Page Mode
4.1.9.2 Page Scan Mode
4.1.10 Control of Multi-Slot Packets
4.1.11 Enhanced Data Rate
4.1.12 Encapsulated LMP PDUs
4.1.12.1 Sending an Encapsulated PDU
4.1.13 Ping
4.1.14 Piconet Clock Adjustment
4.1.14.1 Master Coarse Adjustment of Piconet Clock
4.1.14.2 Slave Request for Coarse Adjustment of Piconet Clock
4.1.15 Slot Availability Mask
4.1.15.1 SAM Type 0 Submap Configuration
4.1.15.2 SAM Slot Map Define
4.1.15.3 SAM Switch Sequence
4.1.15.4 SAM Change during the Transmission of a Multi-Slot Packet
4.1.15.5 SAM and Role Switching
4.1.15.6 SAM and Sniff Mode
4.2 Security
4.2.1 Authentication
4.2.1.1 Claimant has Link Key (Legacy Authentication)
4.2.1.2 Claimant has no Link Key (Legacy Authentication and Secure Authentication)
4.2.1.3 Repeated Attempts
4.2.1.4 Responder has Link Key (Secure Authentication)
4.2.2 Pairing
4.2.2.1 Responder Accepts Pairing
4.2.2.2 Responder has a Fixed PIN
4.2.2.3 Responder Rejects Pairing
4.2.2.4 Creation of the Link Key
4.2.2.5 Repeated Attempts
4.2.3 Change Link Key
4.2.4 Change Current Link Key Type
4.2.4.1 Change to a Temporary Link Key
4.2.4.2 Semi-Permanent Link Key becomes Current Link Key
4.2.5 Encryption
4.2.5.1 Encryption Mode
4.2.5.2 Encryption Key Size
4.2.5.3 Start Encryption
4.2.5.4 Stop Encryption
4.2.5.5 Pause Encryption
4.2.5.6 Resume Encryption
4.2.5.7 Change Encryption Mode, Key or Random Number
4.2.5.8 Encryption Key Refresh
4.2.6 Request Supported Encryption Key Size
4.2.7 Secure Simple Pairing
4.2.7.1 IO Capability Exchange
4.2.7.1.1 IO Capability Exchange Transaction Collision and Resolution
4.2.7.2 Public Key Exchange
4.2.7.3 Authentication Stage 1
4.2.7.3.1 Authentication Stage 1: Numeric Comparison
4.2.7.3.1.1 Commitment Check Failure
4.2.7.3.1.2 Numeric Comparison Failure on Initiator Side
4.2.7.3.1.3 Numeric Comparison Failure on Responder Side
4.2.7.3.2 Authentication Stage 1: Passkey Entry Authentication
4.2.7.3.2.1 Commitment Check Failure on the Responder side
4.2.7.3.2.2 Commitment check failure on the Initiator side
4.2.7.3.2.3 Passkey Entry Failure on Initiator Side
4.2.7.3.3 Passkey Entry Failure on Responding Side
4.2.7.3.4 Keypress Notifications
4.2.7.3.5 Authentication Stage 1: OOB
4.2.7.3.5.1 Commitment Check Failure on the Responder Side
4.2.7.3.5.2 Commitment Check Failure on the Initiator Side
4.2.7.3.6 Out-of-Band Information not Available on the Initiator Side
4.2.7.4 Authentication stage 2: DHKey Check
4.2.7.4.1 Check Failure on the Responder Side
4.2.7.4.1.1 Check Failure on the Initiator Side
4.3 Informational Requests
4.3.1 Timing Accuracy
4.3.2 Clock Offset
4.3.3 LMP Version
4.3.4 Supported Features
4.3.5 Name Request
4.4 Role Switch
4.4.1 Slot Offset
4.4.2 Role Switch
4.5 Modes of Operation
4.5.1 Hold Mode
4.5.1.1 Master Forces Hold Mode
4.5.1.2 Slave Forces Hold Mode
4.5.1.3 Master or Slave Requests Hold Mode
4.5.2 This Section no longer used
4.5.3 Sniff Mode
4.5.3.1 Master or Slave Requests Sniff Mode
4.5.3.2 Moving a Slave from Sniff Mode to Active Mode
4.5.3.3 Sniff Subrating
4.6 Logical Transports
4.6.1 SCO Logical Transport
4.6.1.1 Master Initiates a SCO Link
4.6.1.2 Slave Initiates a SCO Link
4.6.1.3 Master Requests Change of SCO Parameters
4.6.1.4 Slave Requests Change of SCO Parameters
4.6.1.5 Remove a SCO link
4.6.2 eSCO Logical Transport
4.6.2.1 Master Initiates an eSCO Link
4.6.2.2 Slave Initiates an eSCO Link
4.6.2.3 Master or Slave Requests Change of eSCO Parameters
4.6.2.4 Remove an eSCO Link
4.6.2.5 Rules for the LMP Negotiation and Renegotiation
4.6.2.6 Negotiation State Definitions
4.7 Test Mode
4.7.1 Activation and Deactivation of Test Mode
4.7.2 Control of Test Mode
4.7.3 Summary of Test Mode PDUs
5 Summary
5.1 PDU Summary
5.2 Parameter Definitions
5.3 LMP Encapsulated
5.4 Default Values
Part D: Error Codes
Contents
1 Overview of Error Codes
1.1 Usage Descriptions
1.2 HCI Command Errors
1.3 List of Error Codes
2 Error Code Descriptions
2.1 Unknown HCI Command (0X01)
2.2 Unknown Connection Identifier (0X02)
2.3 Hardware Failure (0X03)
2.4 Page Timeout (0X04)
2.5 Authentication Failure (0X05)
2.6 PIN or Key Missing (0X06)
2.7 Memory Capacity Exceeded (0X07)
2.8 Connection Timeout (0X08)
2.9 Connection Limit Exceeded (0X09)
2.10 Synchronous Connection Limit to a Device Exceeded (0X0A)
2.11 Connection Already Exists (0X0B)
2.12 Command Disallowed (0X0C)
2.13 Connection Rejected due to Limited Resources (0X0D)
2.14 Connection Rejected due to Security Reasons (0X0E)
2.15 Connection Rejected due to Unacceptable BD_ADDR (0X0F)
2.16 Connection Accept Timeout Exceeded (0X10)
2.17 Unsupported Feature or Parameter Value (0X11)
2.18 Invalid HCI Command Parameters (0X12)
2.19 Remote User Terminated Connection (0X13)
2.20 Remote Device Terminated Connection due to Low Resources (0X14)
2.21 Remote Device Terminated Connection due to Power Off (0X15)
2.22 Connection Terminated by Local Host (0X16)
2.23 Repeated Attempts (0X17)
2.24 Pairing not Allowed (0X18)
2.25 Unknown LMP PDU (0X19)
2.26 Unsupported Remote Feature / Unsupported LMP Feature (0X1A)
2.27 SCO Offset Rejected (0X1B)
2.28 SCO Interval Rejected (0X1C)
2.29 SCO Air Mode Rejected (0X1D)
2.30 Invalid LMP Parameters / Invalid LL Parameters (0X1E)
2.31 Unspecified Error (0X1F)
2.32 Unsupported LMP Parameter Value / Unsupported LL Parameter Value (0X20)
2.33 Role Change not Allowed (0X21)
2.34 LMP Response Timeout / LL Response Timeout (0X22)
2.35 LMP Error Transaction Collision / LL Procedure Collision (0X23)
2.36 LMP PDU not Allowed (0X24)
2.37 Encryption Mode not Acceptable (0X25)
2.38 Link Key cannot be Changed (0X26)
2.39 Requested QoS not Supported (0X27)
2.40 Instant Passed (0X28)
2.41 Pairing with Unit Key not Supported (0X29)
2.42 Different Transaction Collision (0x2A)
2.43 QOS Unacceptable Parameter (0X2C)
2.44 QOS Rejected (0X2D)
2.45 Channel Assessment not Supported (0X2E)
2.46 Insufficient Security (0X2F)
2.47 Parameter Out of Mandatory Range (0X30)
2.48 Role Switch Pending (0X32)
2.49 Reserved Slot Violation (0X34)
2.50 Role Switch Failed (0X35)
2.51 Extended Inquiry Response too Large (0x36)
2.52 Simple Pairing not Supported by Host (0X37)
2.53 Host Busy–Pairing (0X38)
2.54 Connection Rejected due to no Suitable Channel Found (0X39)
2.55 Controller Busy (0X3A)
2.56 Unacceptable Connection Parameters (0X3B)
2.57 Advertising Timeout (0X3C)
2.58 Connection Terminated due to MIC Failure (0X3D)
2.59 Connection Failed to be Established (0X3E)
2.60 MAC Connection Failed (0x3F)
2.61 Coarse Clock Adjustment Rejected but Will Try to Adjust Using Clock Dragging (0x40)
2.62 Type0 Submap not Defined (0x41)
2.63 Unknown Advertising Identifier (0x42)
2.64 Limit Reached (0x43)
2.65 Operation Cancelled by Host (0x44)
Part E: Host Controller Interface Functional Specification
Contents
1 Introduction
1.1 Lower Layers of the Bluetooth Software Stack
2 Overview of Host Controller Transport Layer
2.1 Host Controller Transport Layer and AMPS
3 Overview of Commands and Events
3.1 LE Controller Requirements
3.1.1 Legacy and Extended Advertising
4 HCI Flow Control
4.1 Host to Controller Data Flow Control
4.1.1 Packet-based Data Flow Control
4.1.2 Data-Block-Based Data Flow Control
4.2 Controller to Host Data Flow Control
4.3 Disconnection Behavior
4.4 Command Flow Control
4.5 Command Error Handling
4.6 LMP Transaction and LL Procedure Collisions
5 HCI Data Formats
5.1 Introduction
5.2 Data and Parameter Formats
5.3 Handles
5.3.1 Primary Controller Handles
5.3.1.1 Broadcast Connection_Handles
5.3.2 AMP Controller Handles
5.4 Exchange of HCI-Specific Information
5.4.1 HCI Command Packet
5.4.2 HCI ACL Data Packets
5.4.3 HCI Synchronous Data Packets
5.4.4 HCI Event Packet
6 HCI Configuration Parameters
6.1 Scan Enable
6.2 Inquiry Scan Interval
6.3 Inquiry Scan Window
6.4 Inquiry Scan Type
6.5 Inquiry Mode
6.6 Page Timeout
6.7 Connection Accept Timeout
6.8 Page Scan Interval
6.9 Page Scan Window
6.10 This section no longer used
6.11 Page Scan Type
6.12 Voice Setting
6.13 PIN Type
6.14 Link Key
6.15 Failed Contact Counter
6.16 Authentication Enable
6.17 Hold Mode Activity
6.18 Link Policy Settings
6.19 Flush Timeout
6.20 Num Broadcast Retransmissions
6.21 Link Supervision Timeout
6.22 Synchronous Flow Control Enable
6.23 Local Name
6.24 Extended Inquiry Response
6.25 Erroneous Data Reporting
6.26 Class Of Device
6.27 Supported Commands
6.28 Logical Link Accept Timeout
6.29 Location Domain Aware
6.30 Location Domain
6.31 Location Domain Options
6.32 Location Options
6.33 Flow Control Mode
6.34 LE Supported Host
6.35 Simultaneous LE Host
6.36 Synchronization Train Interval
6.37 Synchronization Train Timeout
6.38 Service Data
6.39 Secure Connections Host Support
6.40 Authenticated Payload Timeout
6.41 Extended Page Timeout
6.42 Extended Inquiry Length
7 HCI Commands and Events
7.1 Link Control Commands
7.1.1 Inquiry Command
7.1.2 Inquiry Cancel Command
7.1.3 Periodic Inquiry Mode Command
7.1.4 Exit Periodic Inquiry Mode Command
7.1.5 Create Connection Command
7.1.6 Disconnect Command
7.1.7 Create Connection Cancel Command
7.1.8 Accept Connection Request Command
7.1.9 Reject Connection Request Command
7.1.10 Link Key Request Reply Command
7.1.11 Link Key Request Negative Reply Command
7.1.12 PIN Code Request Reply Command
7.1.13 PIN Code Request Negative Reply Command
7.1.14 Change Connection Packet Type Command
7.1.15 Authentication Requested Command
7.1.16 Set Connection Encryption Command
7.1.17 Change Connection Link Key Command
7.1.18 Master Link Key Command
7.1.19 Remote Name Request Command
7.1.20 Remote Name Request Cancel Command
7.1.21 Read Remote Supported Features Command
7.1.22 Read Remote Extended Features Command
7.1.23 Read Remote Version Information Command
7.1.24 Read Clock Offset Command
7.1.25 Read LMP Handle Command
7.1.26 Setup Synchronous Connection Command
7.1.27 Accept Synchronous Connection Request Command
7.1.28 Reject Synchronous Connection Request Command
7.1.29 IO Capability Request Reply Command
7.1.30 User Confirmation Request Reply Command
7.1.31 User Confirmation Request Negative Reply Command
7.1.32 User Passkey Request Reply Command
7.1.33 User Passkey Request Negative Reply Command
7.1.34 Remote OOB Data Request Reply Command
7.1.35 Remote OOB Data Request Negative Reply Command
7.1.36 IO Capability Request Negative Reply Command
7.1.37 Create Physical Link Command
7.1.38 Accept Physical Link Command
7.1.39 Disconnect Physical Link Command
7.1.40 Create Logical Link Command
7.1.41 Accept Logical Link Command
7.1.42 Disconnect Logical Link Command
7.1.43 Logical Link Cancel Command
7.1.44 Flow Spec Modify Command
7.1.45 Enhanced Setup Synchronous Connection Command
7.1.46 Enhanced Accept Synchronous Connection Request Command
7.1.47 Truncated Page Command
7.1.48 Truncated Page Cancel Command
7.1.49 Set Connectionless Slave Broadcast Command
7.1.50 Set Connectionless Slave Broadcast Receive Command
7.1.51 Start Synchronization Train Command
7.1.52 Receive Synchronization Train Command
7.1.53 Remote OOB Extended Data Request Reply Command
7.2 Link Policy Commands
7.2.1 Hold Mode Command
7.2.2 Sniff Mode Command
7.2.3 Exit Sniff Mode Command
7.2.4 This section no longer used
7.2.5 This section no longer used
7.2.6 QoS Setup Command
7.2.7 Role Discovery Command
7.2.8 Switch Role Command
7.2.9 Read Link Policy Settings Command
7.2.10 Write Link Policy Settings Command
7.2.11 Read Default Link Policy Settings Command
7.2.12 Write Default Link Policy Settings Command
7.2.13 Flow Specification Command
7.2.14 Sniff Subrating Command
7.3 Controller & Baseband Commands
7.3.1 Set Event Mask Command
7.3.2 Reset Command
7.3.3 Set Event Filter Command
7.3.4 Flush Command
7.3.5 Read PIN Type Command
7.3.6 Write PIN Type Command
7.3.7 Create New Unit Key Command
7.3.8 Read Stored Link Key Command
7.3.9 Write Stored Link Key Command
7.3.10 Delete Stored Link Key Command
7.3.11 Write Local Name Command
7.3.12 Read Local Name Command
7.3.13 Read Connection Accept Timeout Command
7.3.14 Write Connection Accept Timeout Command
7.3.15 Read Page Timeout Command
7.3.16 Write Page Timeout Command
7.3.17 Read Scan Enable Command
7.3.18 Write Scan Enable Command
7.3.19 Read Page Scan Activity Command
7.3.20 Write Page Scan Activity Command
7.3.21 Read Inquiry Scan Activity Command
7.3.22 Write Inquiry Scan Activity Command
7.3.23 Read Authentication Enable Command
7.3.24 Write Authentication Enable Command
7.3.25 Read Class of Device Command
7.3.26 Write Class of Device Command
7.3.27 Read Voice Setting Command
7.3.28 Write Voice Setting Command
7.3.29 Read Automatic Flush Timeout Command
7.3.30 Write Automatic Flush Timeout Command
7.3.31 Read Num Broadcast Retransmissions Command
7.3.32 Write Num Broadcast Retransmissions Command
7.3.33 Read Hold Mode Activity Command
7.3.34 Write Hold Mode Activity Command
7.3.35 Read Transmit Power Level Command
7.3.36 Read Synchronous Flow Control Enable Command
7.3.37 Write Synchronous Flow Control Enable Command
7.3.38 Set Controller To Host Flow Control Command
7.3.39 Host Buffer Size Command
7.3.40 Host Number Of Completed Packets Command
7.3.41 Read Link Supervision Timeout Command
7.3.42 Write Link Supervision Timeout Command
7.3.43 Read Number Of Supported IAC Command
7.3.44 Read Current IAC LAP Command
7.3.45 Write Current IAC LAP Command
7.3.46 Set AFH Host Channel Classification Command
7.3.47 Read Inquiry Scan Type Command
7.3.48 Write Inquiry Scan Type Command
7.3.49 Read Inquiry Mode Command
7.3.50 Write Inquiry Mode Command
7.3.51 Read Page Scan Type Command
7.3.52 Write Page Scan Type Command
7.3.53 Read AFH Channel Assessment Mode Command
7.3.54 Write AFH Channel Assessment Mode Command
7.3.55 Read Extended Inquiry Response Command
7.3.56 Write Extended Inquiry Response Command
7.3.57 Refresh Encryption Key Command
7.3.58 Read Simple Pairing Mode Command
7.3.59 Write Simple Pairing Mode Command
7.3.60 Read Local OOB Data Command
7.3.61 Read Inquiry Response Transmit Power Level Command
7.3.62 Write Inquiry Transmit Power Level Command
7.3.63 Send Keypress Notification Command
7.3.64 Read Default Erroneous Data Reporting Command
7.3.65 Write Default Erroneous Data Reporting Command
7.3.66 Enhanced Flush Command
7.3.67 Read Logical Link Accept Timeout Command
7.3.68 Write Logical Link Accept Timeout Command
7.3.69 Set Event Mask Page 2 Command
7.3.70 Read Location Data Command
7.3.71 Write Location Data Command
7.3.72 Read Flow Control Mode Command
7.3.73 Write Flow Control Mode Command
7.3.74 Read Enhanced Transmit Power Level Command
7.3.75 Read Best Effort Flush Timeout Command
7.3.76 Write Best Effort Flush Timeout Command
7.3.77 Short Range Mode Command
7.3.78 Read LE Host Support Command
7.3.79 Write LE Host Support Command
7.3.80 Set MWS Channel Parameters Command
7.3.81 Set External Frame Configuration Command
7.3.82 Set MWS Signaling Command
7.3.83 Set MWS Transport Layer Command
7.3.84 Set MWS Scan Frequency Table Command
7.3.85 Set MWS_PATTERN Configuration Command
7.3.86 Set Reserved LT_ADDR Command
7.3.87 Delete Reserved LT_ADDR Command
7.3.88 Set Connectionless Slave Broadcast Data Command
7.3.89 Read Synchronization Train Parameters Command
7.3.90 Write Synchronization Train Parameters Command
7.3.91 Read Secure Connections Host Support Command
7.3.92 Write Secure Connections Host Support Command
7.3.93 Read Authenticated Payload Timeout Command
7.3.94 Write Authenticated Payload Timeout Command
7.3.95 Read Local OOB Extended Data Command
7.3.96 Read Extended Page Timeout Command
7.3.97 Write Extended Page Timeout Command
7.3.98 Read Extended Inquiry Length Command
7.3.99 Write Extended Inquiry Length Command
7.4 Informational Parameters
7.4.1 Read Local Version Information Command
7.4.2 Read Local Supported Commands Command
7.4.3 Read Local Supported Features Command
7.4.4 Read Local Extended Features Command
7.4.5 Read Buffer Size Command
7.4.6 Read BD_ADDR Command
7.4.7 Read Data Block Size Command
7.4.8 Read Local Supported Codecs Command
7.5 Status Parameters
7.5.1 Read Failed Contact Counter Command
7.5.2 Reset Failed Contact Counter Command
7.5.3 Read Link Quality Command
7.5.4 Read RSSI Command
7.5.5 Read AFH Channel Map Command
7.5.6 Read Clock Command
7.5.7 Read Encryption Key Size Command
7.5.8 Read Local AMP Info Command
7.5.9 Read Local AMP ASSOC Command
7.5.10 Write Remote AMP ASSOC Command
7.5.11 Get MWS Transport Layer Configuration Command
7.5.12 Set Triggered Clock Capture Command
7.6 Testing Commands
7.6.1 Read Loopback Mode Command
7.6.2 Write Loopback Mode Command
7.6.3 Enable Device Under Test Mode Command
7.6.4 Write Simple Pairing Debug Mode Command
7.6.5 Enable AMP Receiver Reports Command
7.6.6 AMP Test End Command
7.6.7 AMP Test Command
7.6.8 Write Secure Connections Test Mode Command
7.7 Events
7.7.1 Inquiry Complete Event
7.7.2 Inquiry Result Event
7.7.3 Connection Complete Event
7.7.4 Connection Request Event
7.7.5 Disconnection Complete Event
7.7.6 Authentication Complete Event
7.7.7 Remote Name Request Complete Event
7.7.8 Encryption Change Event
7.7.9 Change Connection Link Key Complete Event
7.7.10 Master Link Key Complete Event
7.7.11 Read Remote Supported Features Complete Event
7.7.12 Read Remote Version Information Complete Event
7.7.13 QoS Setup Complete Event
7.7.14 Command Complete Event
7.7.15 Command Status Event
7.7.16 Hardware Error Event
7.7.17 Flush Occurred Event
7.7.18 Role Change Event
7.7.19 Number Of Completed Packets Event
7.7.20 Mode Change Event
7.7.21 Return Link Keys Event
7.7.22 PIN Code Request Event
7.7.23 Link Key Request Event
7.7.24 Link Key Notification Event
7.7.25 Loopback Command Event
7.7.26 Data Buffer Overflow Event
7.7.27 Max Slots Change Event
7.7.28 Read Clock Offset Complete Event
7.7.29 Connection Packet Type Changed Event
7.7.30 QoS Violation Event
7.7.31 Page Scan Repetition Mode Change Event
7.7.32 Flow Specification Complete Event
7.7.33 Inquiry Result with RSSI Event
7.7.34 Read Remote Extended Features Complete Event
7.7.35 Synchronous Connection Complete Event
7.7.36 Synchronous Connection Changed Event
7.7.37 Sniff Subrating Event
7.7.38 Extended Inquiry Result Event
7.7.39 Encryption Key Refresh Complete Event
7.7.40 IO Capability Request Event
7.7.41 IO Capability Response Event
7.7.42 User Confirmation Request Event
7.7.43 User Passkey Request Event
7.7.44 Remote OOB Data Request Event
7.7.45 Simple Pairing Complete Event
7.7.46 Link Supervision Timeout Changed Event
7.7.47 Enhanced Flush Complete Event
7.7.48 User Passkey Notification Event
7.7.49 Keypress Notification Event
7.7.50 Remote Host Supported Features Notification Event
7.7.51 Physical Link Complete Event
7.7.52 Channel Selected Event
7.7.53 Disconnection Physical Link Complete Event
7.7.54 Physical Link Loss Early Warning Event
7.7.55 Physical Link Recovery Event
7.7.56 Logical Link Complete Event
7.7.57 Disconnection Logical Link Complete Event
7.7.58 Flow Spec Modify Complete Event
7.7.59 Number Of Completed Data Blocks Event
7.7.60 Short Range Mode Change Complete Event
7.7.61 AMP Status Change Event
7.7.62 AMP Start Test Event
7.7.63 AMP Test End Event
7.7.64 AMP Receiver Report Event
7.7.65 LE Meta Event
7.7.65.1 LE Connection Complete Event
7.7.65.2 LE Advertising Report Event
7.7.65.3 LE Connection Update Complete Event
7.7.65.4 LE Read Remote Features Complete Event
7.7.65.5 LE Long Term Key Request Event
7.7.65.6 LE Remote Connection Parameter Request Event
7.7.65.7 LE Data Length Change Event
7.7.65.8 LE Read Local P-256 Public Key Complete Event
7.7.65.9 LE Generate DHKey Complete Event
7.7.65.10 LE Enhanced Connection Complete Event
7.7.65.11 LE Directed Advertising Report Event
7.7.65.12 LE PHY Update Complete Event
7.7.65.13 LE Extended Advertising Report Event
7.7.65.14 LE Periodic Advertising Sync Established Event
7.7.65.15 LE Periodic Advertising Report Event
7.7.65.16 LE Periodic Advertising Sync Lost Event
7.7.65.17 LE Scan Timeout Event
7.7.65.18 LE Advertising Set Terminated Event
7.7.65.19 LE Scan Request Received Event
7.7.65.20 LE Channel Selection Algorithm Event
7.7.66 Triggered Clock Capture Event
7.7.67 Synchronization Train Complete Event
7.7.68 Synchronization Train Received Event
7.7.69 Connectionless Slave Broadcast Receive Event
7.7.70 Connectionless Slave Broadcast Timeout Event
7.7.71 Truncated Page Complete Event
7.7.72 Slave Page Response Timeout Event
7.7.73 Connectionless Slave Broadcast Channel Map Change Event
7.7.74 Inquiry Response Notification Event
7.7.75 Authenticated Payload Timeout Expired Event
7.7.76 SAM Status Change Event
7.8 LE Controller Commands
7.8.1 LE Set Event Mask Command
7.8.2 LE Read Buffer Size Command
7.8.3 LE Read Local Supported Features Command
7.8.4 LE Set Random Address Command
7.8.5 LE Set Advertising Parameters Command
7.8.6 LE Read Advertising Channel Tx Power Command
7.8.7 LE Set Advertising Data Command
7.8.8 LE Set Scan Response Data Command
7.8.9 LE Set Advertising Enable Command
7.8.10 LE Set Scan Parameters Command
7.8.11 LE Set Scan Enable Command
7.8.12 LE Create Connection Command
7.8.13 LE Create Connection Cancel Command
7.8.14 LE Read White List Size Command
7.8.15 LE Clear White List Command
7.8.16 LE Add Device To White List Command
7.8.17 LE Remove Device From White List Command
7.8.18 LE Connection Update Command
7.8.19 LE Set Host Channel Classification Command
7.8.20 LE Read Channel Map Command
7.8.21 LE Read Remote Features Command
7.8.22 LE Encrypt Command
7.8.23 LE Rand Command
7.8.24 LE Start Encryption Command
7.8.25 LE Long Term Key Request Reply Command
7.8.26 LE Long Term Key Request Negative Reply Command
7.8.27 LE Read Supported States Command
7.8.28 LE Receiver Test Command
7.8.29 LE Transmitter Test Command
7.8.30 LE Test End Command
7.8.31 LE Remote Connection Parameter Request Reply Command
7.8.32 LE Remote Connection Parameter Request Negative Reply Command
7.8.33 LE Set Data Length Command
7.8.34 LE Read Suggested Default Data Length Command
7.8.35 LE Write Suggested Default Data Length Command
7.8.36 LE Read Local P-256 Public Key Command
7.8.37 LE Generate DHKey Command
7.8.38 LE Add Device To Resolving List Command
7.8.39 LE Remove Device From Resolving List Command
7.8.40 LE Clear Resolving List Command
7.8.41 LE Read Resolving List Size Command
7.8.42 LE Read Peer Resolvable Address Command
7.8.43 LE Read Local Resolvable Address Command
7.8.44 LE Set Address Resolution Enable Command
7.8.45 LE Set Resolvable Private Address Timeout Command
7.8.46 LE Read Maximum Data Length Command
7.8.47 LE Read PHY Command
7.8.48 LE Set Default PHY Command
7.8.49 LE Set PHY Command
7.8.50 LE Enhanced Receiver Test Command
7.8.51 LE Enhanced Transmitter Test Command
7.8.52 LE Set Advertising Set Random Address Command
7.8.53 LE Set Extended Advertising Parameters Command
7.8.54 LE Set Extended Advertising Data Command
7.8.55 LE Set Extended Scan Response Data Command
7.8.56 LE Set Extended Advertising Enable Command
7.8.57 LE Read Maximum Advertising Data Length Command
7.8.58 LE Read Number of Supported Advertising Sets Command
7.8.59 LE Remove Advertising Set Command
7.8.60 LE Clear Advertising Sets Command
7.8.61 LE Set Periodic Advertising Parameters Command
7.8.62 LE Set Periodic Advertising Data Command
7.8.63 LE Set Periodic Advertising Enable Command
7.8.64 LE Set Extended Scan Parameters Command
7.8.65 LE Set Extended Scan Enable Command
7.8.66 LE Extended Create Connection Command
7.8.67 LE Periodic Advertising Create Sync Command
7.8.68 LE Periodic Advertising Create Sync Cancel Command
7.8.69 LE Periodic Advertising Terminate Sync Command
7.8.70 LE Add Device To Periodic Advertiser List Command
7.8.71 LE Remove Device From Periodic Advertiser List Command
7.8.72 LE Clear Periodic Advertiser List Command
7.8.73 LE Read Periodic Advertiser List Size Command
7.8.74 LE Read Transmit Power Command
7.8.75 LE Read RF Path Compensation Command
7.8.76 LE Write RF Path Compensation Command
7.8.77 LE Set Privacy Mode Command
Appendix A Deprecated Commands, Events and Configuration Parameters
A.1 Read Page Scan Mode Command
A.2 Write Page Scan Mode Command
A.3 Read Page Scan Period Mode Command
A.4 Write Page Scan Period Mode Command
A.5 Add SCO Connection Command
A.6 Page Scan Mode Change Event
A.7 Read Country Code Command
A.8 Read Encryption Mode Command
A.9 Write Encryption Mode Command
A.10 Deprecated Parameters
A.10.1 Encryption Mode
A.10.2 Page Scan Mode
A.10.3 Page Scan Period Mode
Part F: Message Sequence Charts
Contents
1 Introduction
1.1 Notation
1.2 Flow of Control
1.3 Example MSC
2 Services Without Connection Request
2.1 Remote Name Request
2.2 One-Time Inquiry
2.3 Periodic Inquiry
3 ACL Connection Establishment and Detachment
3.1 Connection Setup
4 Optional Activities after ACL Connection Establishment
4.1 Authentication Requested
4.2 Simple Pairing Message Sequence Charts
4.2.1 Optional OOB Information Collection
4.2.2 Enable Simple Pairing and Secure Connections
4.2.3 Connection Establishment
4.2.4 L2CAP Connection Request for a Secure Service
4.2.5 Optional OOB Information Transfer
4.2.6 Start Simple Pairing
4.2.7 IO Capability Exchange
4.2.8 Public Key Exchange
4.2.9 Authentication
4.2.10 Numeric Comparison
4.2.11 Numeric Comparison Failure on Initiating Side
4.2.12 Numeric Comparison Failure on Responding Side
4.2.13 Passkey Entry
4.2.14 Passkey Entry Failure on Responding Side
4.2.15 Passkey Entry Failure on Initiator Side
4.2.16 Out of Band
4.2.17 OOB Failure on Initiator Side
4.2.18 DHKey Checks
4.2.19 Calculate Link Key
4.2.20 Enable Encryption
4.2.21 L2CAP Connection Response
4.2.22 LMP Ping
4.3 Link Supervision Timeout Changed Event
4.4 Set Connection Encryption
4.5 Change Connection Link Key
4.6 Change Connection Link Key with Encryption Pause and Resume
4.7 Master Link Key
4.8 Read Remote Supported Features
4.9 Read Remote Extended Features
4.10 Read Clock Offset
4.11 Role Switch on an Encrypted Link using Encryption Pause and Resume
4.12 Refreshing Encryption Keys
4.13 Read Remote Version Information
4.14 QOS Setup
4.15 Switch Role
4.16 AMP Physical Link Creation and Disconnect
4.16.1 Physical Link Establishment
4.16.2 Logical Link Creation
4.17 AMP Test Mode Sequence Charts
4.17.1 Discover the AMP Present and Running Transmitter and Receiver Tests
4.18 Slot Availability Mask
4.19 LMP Transaction Collision
5 Synchronous Connection Establishment and Detachment
5.1 Synchronous Connection Setup
5.2 Synchronous Connection Setup with Enhanced Synchronous Commands
6 Sniff and Hold
6.1 Sniff Mode
6.2 Hold Mode
6.3 This section no longer used
7 Buffer Management, Flow Control
8 Loopback Mode
8.1 Local Loopback Mode
8.2 Remote Loopback Mode
9 Connectionless Slave Broadcast Services
Part G: Sample Data
Contents
1 Encryption Sample Data
1.1 E0 Encryption Sample Data
1.1.1 Generating Kc' from Kc
1.1.2 First Set of Sample Data
1.1.3 Second Set of Sample Data
1.1.4 Third Set of Samples
1.1.5 Fourth Set of Samples
1.2 AES-CCM ENCRYPTION SAMPLE DATA
1.2.1 Sample Data 1 (DM1, M --> S)
1.2.2 Sample Data 2 (DM1, M --> S)
1.2.3 Sample Data 3 (DM1, S --> M)
1.2.4 Sample Data 4 (DM1, M --> S)
1.2.5 Sample Data 5 (DM1, S --> M)
1.2.6 Sample Data 6 (DH1, M --> S)
1.2.7 Sample Data 7 (DH1, S --> M)
1.2.8 Sample Data 8 (DH1, M --> S)
1.2.9 Sample Data 9 (DH1, S --> M)
1.2.10 Sample Data 10 (2-DH3, M --> S)
1.2.11 Sample Data 11 (2-DH3, S --> M)
1.2.12 Sample Data 12 (3-DH5, M --> S)
1.2.13 Sample Data 13 (3-DH5, S --> M)
1.2.14 Sample Data 14 (EV3)
2 Frequency Hopping Sample Data
2.1 First Set
2.2 Second Set
2.3 Third Set
3 Access Code Sample Data
4 HEC and Packet Header Sample Data
5 CRC Sample Data
6 Complete Sample Packets
6.1 Example of DH1 Packet
6.2 Example of DM1 Packet
7 Simple Pairing Sample Data
7.1 Elliptic Curve Sample Data
7.1.1 P-192 Sample Data
7.1.1.1 P-192 Data Set 1
7.1.1.2 P-192 Data Set 2
7.1.1.3 P-192 Data Set 3
7.1.1.4 P-192 Data Set 4
7.1.1.5 P-192 Data Set 5
7.1.1.6 P-192 Data Set 6
7.1.1.7 P-192 Data Set 7
7.1.1.8 P-192 Data Set 8
7.1.1.9 P-192 Data Set 9
7.1.1.10 P-192 Data Set 10
7.1.2 P-256 Sample Data
7.1.2.1 P-256 Data Set 1
7.1.2.2 P-256 Data Set 2
7.2 Hash Functions Sample Data
7.2.1 f1()
7.2.1.1 f1() with P-192 Inputs
7.2.1.2 f1() with P-256 Inputs
7.2.2 g()
7.2.2.1 g() with P-192 Inputs
7.2.2.2 g() with P-256 Inputs
7.2.3 f2()
7.2.3.1 f2() with P-192 Inputs
7.2.3.2 f2() with P-256 Inputs
7.2.4 f3()
7.2.4.1 f3() with P-192 Inputs
7.2.4.2 f3() with P-256 Inputs
7.2.5 h2()
7.2.6 h4()
7.2.7 h5()
7.2.8 h3()
8 Whitening Sequence Sample Data
9 FEC Sample Data
10 Encryption Key Sample Data
10.1 Four Tests of E1
10.2 Four Tests of E21
10.3 Three Tests of E22
10.4 Tests of E22 with Pin Augmenting
10.5 Four Tests of E3
11 Connectionless Slave Broadcast Sample Data
Part H: Security Specification
Contents
1 Security Overview
1.1 Pausing Encryption and Role Switch
1.2 Change Connection Link Keys
1.3 Periodically Refreshing Encryption Keys
2 Random Number Generation
3 Key Management
3.1 Key Types
3.2 Key Generation and Initialization
3.2.1 Generation of Initialization Key,
3.2.2 Authentication
3.2.3 Generation of a Unit Key
3.2.4 Generation of a Combination Key
3.2.5 Generating the Encryption Key
3.2.6 Point-to-Multipoint Configuration
3.2.7 Modifying the Link Keys
3.2.8 Generating a Master Key
4 Encryption (E0)
4.1 Encryption Key Size Negotiation
4.2 Encryption of Broadcast Messages
4.3 Encryption Concept
4.4 Encryption Algorithm
4.4.1 The Operation of the Cipher
4.5 LFSR Initialization
4.6 Key Stream Sequence
5 Authentication
5.1 Repeated Attempts
6 The Authentication and Key-Generating Functions
6.1 The Authentication Function E1
6.2 The Functions Ar and A’r
6.2.1 The Round Computations
6.2.2 The Substitution Boxes “e” and “l”
6.2.3 Key Scheduling
6.3 E2-Key Generation Function for Authentication
6.4 E3-Key Generation Function for Encryption
7 Secure Simple Pairing
7.1 Phase 1: Public Key Exchange
7.2 Phase 2: Authentication Stage 1
7.2.1 Authentication Stage 1: Numeric Comparison Protocol
7.2.2 Authentication Stage 1: Out of Band Protocol
7.2.3 Authentication Stage 1: Passkey Entry Protocol
7.3 Phase 3: Authentication Stage 2
7.4 Phase 4: Link Key Calculation
7.5 Phase 5: LMP Authentication and Encryption
7.6 Elliptic Curve Definition
7.7 Cryptographic Function Definitions
7.7.1 The Simple Pairing Commitment Function f1
7.7.2 The Simple Pairing Numeric Verification Function g
7.7.3 The Simple Pairing Key Derivation Function f2
7.7.4 The Simple Pairing Check Function f3
7.7.5 The Simple Pairing AMP Key Derivation Function h2
7.7.5.1 Initial GAMP_LK Creation
7.7.5.2 Dedicated AMP Link Key Generation
7.7.5.3 GAMP_LK Regeneration
7.7.5.4 Debug AMP Link Key Generation
7.7.6 The AES Encryption Key Generation Function h3
7.7.7 The Device Authentication Key Generation Function h4
7.7.8 The Device Authentication Confirmation Function h5
8 AMP Security
8.1 Creation of the Initial Generic AMP Link Key
8.2 Creation of Dedicated AMP Link Keys
8.3 Debug Considerations
9 AES-CCM Encryption for BR/EDR
9.1 Nonce Formats
9.2 Counter Mode Blocks
9.3 Encryption Blocks
9.4 Encryption Key Size Reduction
9.5 Repeated MIC Failures
Vol 3: Core System Package [Host volume]
Part A: Logical Link Control and Adaptation Protocol Specification
Contents
1 Introduction
1.1 L2CAP Features
1.2 Assumptions
1.3 Scope
1.4 Terminology
2 General Operation
2.1 Channel Identifiers
2.2 Operation Between Devices
2.3 Operation Between Layers
2.4 Modes of Operation
2.5 Mapping Channels to Logical Links
3 Data Packet Format
3.1 Connection-oriented Channels in Basic L2CAP Mode
3.2 Connectionless Data Channel in Basic L2CAP Mode
3.3 Connection-oriented Channel in Retransmission/Flow Control/Streaming Modes
3.3.1 L2CAP header fields
3.3.2 Control field (2 or 4 octets)
3.3.3 L2CAP SDU Length Field (2 octets)
3.3.4 Information Payload Field
3.3.5 Frame Check Sequence (2 octets)
3.3.6 Invalid Frame Detection
3.3.7 Invalid Frame Detection Algorithm
3.4 Connection-Oriented Channels in LE Credit Based Flow Control Mode
3.4.1 L2CAP Header Fields
3.4.2 L2CAP SDU Length Field (2 octets)
3.4.3 Information Payload Field
4 Signaling Packet Formats
4.1 Command Reject (code 0x01)
4.2 Connection Request (code 0x02)
4.3 Connection Response (code 0x03)
4.4 Configuration Request (code 0x04)
4.5 Configuration Response (code 0x05)
4.6 Disconnection Request (code 0x06)
4.7 Disconnection Response (code 0x07)
4.8 Echo Request (code 0x08)
4.9 Echo Response (code 0x09)
4.10 Information Request (code 0x0A)
4.11 Information Response (code 0x0B)
4.12 Extended Feature Mask
4.13 Fixed Channels Supported
4.14 Create Channel Request (code 0x0C)
4.15 Create Channel Response (code 0x0D)
4.16 Move Channel Request (code 0x0E)
4.17 Move Channel Response (code 0x0F)
4.18 Move Channel Confirmation (code 0x10)
4.19 Move Channel Confirmation Response (code 0x11)
4.20 Connection Parameter Update Request (code 0X12)
4.21 Connection Parameter Update Response (code 0X13)
4.22 LE Credit Based Connection Request (Code 0x14)
4.23 LE Credit Based Connection Response (Code 0x15)
4.24 LE Flow Control Credit (Code 0x16)
5 Configuration Parameter Options
5.1 Maximum Transmission Unit (MTU)
5.2 Flush Timeout Option
5.3 Quality of Service (QoS) Option
5.4 Retransmission and Flow Control Option
5.5 Frame Check Sequence (FCS) Option
5.6 Extended Flow Specification Option
5.7 Extended Window Size Option
6 State Machine
6.1 General rules for the state machine:
6.1.1 CLOSED state
6.1.2 WAIT_CONNECT_RSP state
6.1.3 WAIT_CONNECT state
6.1.4 CONFIG state
6.1.5 OPEN state
6.1.6 WAIT_DISCONNECT state
6.1.7 WAIT_CREATE_RSP state
6.1.8 WAIT_CREATE state
6.1.9 WAIT_MOVE_RSP state
6.1.10 WAIT_MOVE state
6.1.11 WAIT_MOVE_CONFIRM state
6.1.12 WAIT_CONFIRM_RSP state
6.2 Timers events
6.2.1 RTX
6.2.2 ERTX
7 General Procedures
7.1 Configuration Process
7.1.1 Request Path
7.1.2 Response Path
7.1.3 Lockstep Configuration Process
7.1.4 Standard Configuration Process
7.2 Fragmentation and Recombination
7.2.1 Fragmentation of L2CAP PDUs
7.2.2 Recombination of L2CAP PDUs
7.3 Encapsulation of SDUs
7.3.1 Segmentation of L2CAP SDUs
7.3.2 Reassembly of L2CAP SDUs
7.3.3 Segmentation and fragmentation
7.4 Delivery of Erroneous L2CAP SDUs
7.5 Operation with Flushing On ACL-U Logical Links
7.6 Connectionless Data Channel
7.7 Operation Collision Resolution
7.8 Aggregating Best Effort Extended Flow Specifications
7.9 Prioritizing Data over HCI
7.10 Supporting Extended Flow Specification for BR/EDR and BR/EDR/LE Controllers
8 Procedures for Flow Control and Retransmission
8.1 Information Retrieval
8.2 Function of PDU Types for Flow Control and Retransmission
8.2.1 Information frame (I-frame)
8.2.2 Supervisory Frame (S-frame)
8.2.2.1 Receiver Ready (RR)
8.2.2.2 Reject (REJ)
8.3 Variables and Sequence Numbers
8.3.1 Sending peer
8.3.1.1 Send sequence number TxSeq
8.3.1.2 Send state variable NextTXSeq
8.3.1.3 Acknowledge state variable ExpectedAckSeq
8.3.2 Receiving peer
8.3.2.1 Receive sequence number ReqSeq
8.3.2.2 Receive state variable, ExpectedTxSeq
8.3.2.3 Buffer state variable BufferSeq
8.4 Retransmission Mode
8.4.1 Transmitting frames
8.4.1.1 Last received R was set to zero
8.4.1.2 Last received R was set to one
8.4.2 Receiving I-frames
8.4.3 I-frames pulled by the SDU reassembly function
8.4.4 Sending and receiving acknowledgments
8.4.4.1 Sending acknowledgments
8.4.4.2 Receiving acknowledgments
8.4.5 Receiving REJ frames
8.4.6 Waiting acknowledgments
8.4.7 Exception conditions
8.4.7.1 TxSeq Sequence error
8.4.7.2 ReqSeq Sequence error
8.4.7.3 Timer recovery error
8.4.7.4 Invalid frame
8.5 Flow Control Mode
8.5.1 Transmitting I-frames
8.5.2 Receiving I-frames
8.5.3 I-frames pulled by the SDU reassembly function
8.5.4 Sending and receiving acknowledgments
8.5.4.1 Sending acknowledgments
8.5.4.2 Receiving acknowledgments
8.5.5 Waiting acknowledgments
8.5.6 Exception conditions
8.5.6.1 TxSeq Sequence error
8.5.6.2 ReqSeq Sequence error
8.5.6.3 Invalid frame
8.6 Enhanced Retransmission Mode
8.6.1 Function Of PDU Types
8.6.1.1 Receiver Ready (RR)
8.6.1.2 Reject (REJ)
8.6.1.3 Receiver Not Ready (RNR)
8.6.1.4 Selective Reject (SREJ)
8.6.1.5 Functions of the Poll (P) and Final (F) bits.
8.6.2 Rules For Timers
8.6.2.1 Timer Rules for ACL-U Logical Links
8.6.2.2 Timer Rules for AMP Controllers
8.6.2.3 Timer Values used After a Move Operation
8.6.3 General Rules for the State Machine
8.6.4 State Diagram
8.6.5 States Tables
8.6.5.1 State Machines
8.6.5.2 States
8.6.5.3 Variables and Timers
8.6.5.4 Events
8.6.5.5 Conditions
8.6.5.6 Actions
8.6.5.7 XMIT State Table
8.6.5.8 WAIT_F State Table
8.6.5.9 RECV State Table
8.6.5.10 REJ_SENT State Table
8.6.5.11 SREJ_SENT State Table
8.7 Streaming Mode
8.7.1 Transmitting I-frames
8.7.2 Receiving I-frames
8.7.3 Exception Conditions
8.7.3.1 TxSeq Sequence error
9 Procedure for AMP Channel Creation and Handling
9.1 Create Channel
9.2 Move Channel
9.2.1 Move Channel Protocol Procedure with Enhanced Retransmission Mode
9.2.1.1 Enhanced Retransmission Mode Procedures During a Move Operation
9.2.2 Move Channel Protocol Procedure with Streaming Mode (Initiator is Data Source)
9.2.3 Move Channel Protocol Procedure with Streaming Mode (Initiator is Data Sink)
9.3 Disconnect Channel
10 Procedures for Credit Based Flow Control
10.1 LE Credit Based Flow Control Mode
Appendix A Configuration MSCs
Part B: Service Discovery Protocol (SDP) Specification
Contents
1 Introduction
1.1 General Description
1.2 Motivation
1.3 Requirements
1.4 Non-requirements and Deferred Requirements
1.5 Conventions
1.5.1 Bit And Byte Ordering Conventions
2 Overview
2.1 SDP Client-Server Architecture
2.2 Service Record
2.3 Service Attribute
2.3.1 Attribute ID
2.3.2 Attribute Value
2.4 Service Class
2.4.1 A Printer Service Class Example
2.5 Searching for Services
2.5.1 UUID
2.5.2 Service Search Patterns
2.6 Browsing for Services
2.6.1 Example Service Browsing Hierarchy
3 Data Representation
3.1 Data Element
3.2 Data Element Type Descriptor
3.3 Data Element Size Descriptor
3.4 Data Element Examples
4 Protocol Description
4.1 Transfer Byte Order
4.2 Protocol Data Unit Format
4.3 Partial Responses and Continuation State
4.4 Error Handling
4.4.1 SDP_ErrorResponse PDU
4.5 ServiceSearch Transaction
4.5.1 SDP_ServiceSearchRequest PDU
4.5.2 SDP_ServiceSearchResponse PDU
4.6 ServiceAttribute Transaction
4.6.1 SDP_ServiceAttributeRequest PDU
4.6.2 SDP_ServiceAttributeResponse PDU
4.7 ServiceSearchAttribute Transaction
4.7.1 SDP_ServiceSearchAttributeRequest PDU
4.7.2 SDP_ServiceSearchAttributeResponse PDU
5 Service Attribute Definitions
5.1 Universal Attribute Definitions
5.1.1 ServiceRecordHandle Attribute
5.1.2 ServiceClassIDList Attribute
5.1.3 ServiceRecordState Attribute
5.1.4 ServiceID Attribute
5.1.5 ProtocolDescriptorList Attribute
5.1.6 AdditionalProtocolDescriptorList Attribute
5.1.7 BrowseGroupList Attribute
5.1.8 LanguageBaseAttributeIDList Attribute
5.1.9 ServiceInfoTimeToLive Attribute
5.1.10 ServiceAvailability Attribute
5.1.11 BluetoothProfileDescriptorList Attribute
5.1.12 DocumentationURL Attribute
5.1.13 ClientExecutableURL Attribute
5.1.14 IconURL Attribute
5.1.15 ServiceName Attribute
5.1.16 ServiceDescription Attribute
5.1.17 ProviderName Attribute
5.1.18 Reserved Universal Attribute IDs
5.2 ServiceDiscoveryServer Service Class Attribute Definitions
5.2.1 ServiceRecordHandle Attribute
5.2.2 ServiceClassIDList Attribute
5.2.3 VersionNumberList Attribute
5.2.4 ServiceDatabaseState Attribute
5.2.5 Reserved Attribute IDs
5.3 BrowseGroupDescriptor Service Class Attribute Definitions
5.3.1 ServiceClassIDList Attribute
5.3.2 GroupID Attribute
5.3.3 Reserved Attribute IDs
6 Security
Appendix A Background Information
A.1 Service Discovery
A.2 Bluetooth Service Discovery
Appendix B Example SDP Transactions
B.1 SDP Example 1 – ServiceSearchRequest
B.2 SDP Example 2 – ServiceAttributeTransaction
B.3 SDP Example 3 – ServiceSearchAttributeTransaction
Part C: Generic Access Profile
Contents
Foreword
1 Introduction
1.1 Scope
1.2 Symbols and Conventions
1.2.1 Requirement Status Symbols
1.2.2 Signaling diagram conventions
1.2.3 Notation for Timers and Counters
1.2.4 Notation for UUIDs
2 Profile Overview
2.1 Profile Stack
2.2 Profile Roles
2.2.1 Roles when Operating over BR/EDR Physical Transport
2.2.2 Roles when Operating over an LE Physical Transport
2.2.2.1 Broadcaster Role
2.2.2.2 Observer Role
2.2.2.3 Peripheral Role
2.2.2.4 Central Role
2.2.2.5 Concurrent Operation in Multiple GAP Roles
2.3 User Requirements and Scenarios
2.4 Profile Fundamentals
2.5 Conformance
3 User Interface Aspects
3.1 The User Interface Level
3.2 Representation of Bluetooth Parameters
3.2.1 Bluetooth Device Address (BD_ADDR)
3.2.1.1 Definition
3.2.1.2 Term on user interface level
3.2.1.3 Representation
3.2.2 Bluetooth Device Name (the user-friendly name)
3.2.2.1 Definition
3.2.2.1.1 Bluetooth Device Name in a Device with BR/EDR/LE Device Type
3.2.2.2 Term on user interface level
3.2.2.3 Representation
3.2.3 Bluetooth Passkey (Bluetooth PIN)
3.2.3.1 Definition
3.2.3.2 Terms at user interface level
3.2.3.3 Representation
3.2.4 Class of Device
3.2.4.1 Definition
3.2.4.2 Term on user interface level
3.2.4.3 Representation
3.2.4.4 Usage
3.2.5 Appearance Characteristic
3.2.5.1 Definition
3.2.5.2 Usage at user interface level
3.2.5.3 Representation
3.3 Pairing
4 Modes – BR/EDR Physical Transport
4.1 Discoverability Modes
4.1.1 Non-discoverable Mode
4.1.1.1 Definition
4.1.1.2 Term on UI-level
4.1.2 Limited Discoverable Mode
4.1.2.1 Definition
4.1.2.2 Conditions
4.1.2.3 Term on UI-level
4.1.3 General Discoverable Mode
4.1.3.1 Definition
4.1.3.2 Conditions
4.1.3.3 Term on UI-level
4.2 Connectability Modes
4.2.1 Non-connectable Mode
4.2.1.1 Definition
4.2.1.2 Term on UI-level
4.2.2 Connectable Mode
4.2.2.1 Definition
4.2.2.2 Term on UI-level
4.3 Bondable Modes
4.3.1 Non-bondable Mode
4.3.1.1 Definition
4.3.1.2 Term on UI-level
4.3.2 Bondable Mode
4.3.2.1 Definition
4.3.2.2 Term on UI-level
4.4 Synchronizability Modes
4.4.1 Non-synchronizable Mode
4.4.1.1 Definition
4.4.1.2 Term on UI-level
4.4.2 Synchronizable Mode
4.4.2.1 Definition
5 Security Aspects – BR/EDR Physical Transport
5.1 Authentication
5.1.1 Purpose
5.1.2 Term on UI level
5.1.3 Procedure
5.1.4 Conditions
5.2 Security Modes
5.2.1 Legacy Security Modes
5.2.1.1 Security mode 1 (non-secure)
5.2.1.2 Security mode 2 (service level enforced security)
5.2.1.3 Security mode 3 (link level enforced security)
5.2.2 Security Mode 4 (service level enforced security)
5.2.2.1 Security for Access to Remote Service (Initiating Side)
5.2.2.1.1 Pairing Required for Access to Remote Service
5.2.2.1.2 Authentication Required for Access to Remote Service
5.2.2.1.3 Cross-transport Key Generation and Distribution
5.2.2.2 Security for Access to Local Service by Remote Device (Responding Side)
5.2.2.2.1 Pairing Required for Access to Local Service by Remote Device
5.2.2.2.2 Authentication Required for Access to Local Service by Remote Device
5.2.2.2.3 Cross-transport Key Generation and Distribution
5.2.2.3 Simple Pairing after Authentication Failure
5.2.2.4 IO Capabilities
5.2.2.5 Mapping of Input / Output Capabilities to IO Capability
5.2.2.6 IO and OOB Capability Mapping to Authentication Stage 1 Method
5.2.2.7 Out of Band (OOB)
5.2.2.8 Security Database
6 Idle Mode Procedures – BR/EDR Physical Transport
6.1 General Inquiry
6.1.1 Purpose
6.1.2 Term on UI level
6.1.3 Description
6.1.4 Conditions
6.2 Limited Inquiry
6.2.1 Purpose
6.2.2 Term on UI level
6.2.3 Description
6.2.4 Conditions
6.3 Name Discovery
6.3.1 Purpose
6.3.2 Term on UI level
6.3.3 Description
6.3.3.1 Name request
6.3.3.2 Name discovery
6.3.4 Conditions
6.4 Device Discovery
6.4.1 Purpose
6.4.2 Term on UI Level
6.4.3 Description
6.4.4 Conditions
6.5 Bonding
6.5.1 Purpose
6.5.2 Term on UI level
6.5.3 Description
6.5.3.1 General Bonding
6.5.3.2 Dedicated Bonding
6.5.4 Conditions
7 Establishment Procedures – BR/EDR Physical Transport
7.1 Link Establishment
7.1.1 Purpose
7.1.2 Term on UI Level
7.1.3 Description
7.1.3.1 B in security mode 1, 2, or 4
7.1.3.2 B in security mode 3
7.1.4 Conditions
7.2 Channel Establishment
7.2.1 Purpose
7.2.2 Term on UI level
7.2.3 Description
7.2.3.1 B in security mode 2 or 4
7.2.3.2 B in security mode 1 or 3
7.2.4 Conditions
7.3 Connection Establishment
7.3.1 Purpose
7.3.2 Term on UI level
7.3.3 Description
7.3.3.1 B in security mode 2 or 4
7.3.3.2 B in security mode 1 or 3
7.3.4 Conditions
7.4 Establishment of Additional Connection
7.5 Synchronization Establishment
7.5.1 Purpose
7.5.2 Term on UI Level
7.5.3 Description
7.5.4 Conditions
8 Extended Inquiry Response Data Format
9 Operational Modes and Procedures – LE Physical Transport
9.1 Broadcast Mode and Observation Procedure
9.1.1 Broadcast Mode
9.1.1.1 Definition
9.1.1.2 Conditions
9.1.2 Observation Procedure
9.1.2.1 Definition
9.1.2.2 Conditions
9.2 Discovery Modes and Procedures
9.2.1 Requirements
9.2.2 Non-Discoverable Mode
9.2.2.1 Description
9.2.2.2 Conditions
9.2.3 Limited Discoverable Mode
9.2.3.1 Description
9.2.3.2 Conditions
9.2.4 General Discoverable Mode
9.2.4.1 Description
9.2.4.2 Conditions
9.2.5 Limited Discovery Procedure
9.2.5.1 Description
9.2.5.2 Conditions
9.2.6 General Discovery Procedure
9.2.6.1 Description
9.2.6.2 Conditions
9.2.7 Name Discovery Procedure
9.2.7.1 Description
9.2.7.2 Conditions
9.3 Connection Modes and Procedures
9.3.1 Requirements
9.3.2 Non-Connectable Mode
9.3.2.1 Description
9.3.2.2 Conditions
9.3.3 Directed Connectable Mode
9.3.3.1 Description
9.3.3.2 Conditions
9.3.4 Undirected Connectable Mode
9.3.4.1 Description
9.3.4.2 Conditions
9.3.5 Auto Connection Establishment Procedure
9.3.5.1 Description
9.3.5.2 Conditions
9.3.6 General Connection Establishment Procedure
9.3.6.1 Description
9.3.6.2 Conditions
9.3.7 Selective Connection Establishment Procedure
9.3.7.1 Description
9.3.7.2 Conditions
9.3.8 Direct Connection Establishment Procedure
9.3.8.1 Description
9.3.8.2 Conditions
9.3.9 Connection Parameter Update Procedure
9.3.9.1 Description
9.3.9.2 Conditions
9.3.10 Terminate Connection Procedure
9.3.10.1 Description
9.3.10.2 Conditions
9.3.11 Connection Establishment Timing Parameters
9.3.11.1 Description
9.3.11.2 Conditions
9.3.12 Connection Interval Timing Parameters
9.3.12.1 Description
9.3.12.2 Conditions
9.4 Bonding Modes and Procedures
9.4.1 Requirements
9.4.2 Non-Bondable Mode
9.4.2.1 Description
9.4.2.2 Conditions
9.4.3 Bondable Mode
9.4.3.1 Description
9.4.3.2 Conditions
9.4.4 Bonding Procedure
9.4.4.1 Description
9.4.4.2 Conditions
9.5 Periodic Advertising Modes and Procedure
9.5.1 Periodic Advertising Synchronizability Mode
9.5.1.1 Definition
9.5.1.2 Conditions
9.5.2 Periodic Advertising Mode
9.5.2.1 Definition
9.5.2.2 Conditions
9.5.3 Periodic Advertising Synchronization Establishment Procedure
9.5.3.1 Definition
9.5.3.2 Conditions
10 Security Aspects – LE Physical Transport
10.1 Requirements
10.2 LE Security Modes
10.2.1 LE Security Mode 1
10.2.2 LE Security Mode 2
10.2.3 Mixed Security Modes Requirements
10.2.4 Secure Connections Only Mode
10.3 Authentication Procedure
10.3.1 Responding to a Service Request
10.3.1.1 Handling of GATT Indications and Notifications
10.3.1.2 Cross-transport Key Generation
10.3.2 Initiating a Service Request
10.3.2.1 Cross-transport Key Generation
10.4 Data Signing
10.4.1 Connection Data Signing Procedure
10.4.2 Authenticate Signed Data Procedure
10.5 Authorization Procedure
10.6 Encryption Procedure
10.7 Privacy Feature
10.7.1 Privacy Feature in a Peripheral
10.7.1.1 Privacy Feature in a Peripheral with Controller-based privacy
10.7.1.2 Privacy Feature in a Peripheral with Host-based privacy
10.7.2 Privacy Feature in a Central
10.7.2.1 Privacy Feature in a Central with Controller-based privacy
10.7.2.2 Privacy Feature in a Central with Host-based privacy
10.7.3 Privacy Feature in a Broadcaster
10.7.4 Privacy Feature in an Observer
10.8 Random Device Address
10.8.1 Static Address
10.8.2 Private address
10.8.2.1 Non-Resolvable Private Address Generation Procedure
10.8.2.2 Resolvable Private Address Generation Procedure
10.8.2.3 Resolvable Private Address Resolution Procedure
11 Advertising and Scan Response Data Format
12 GAP Service and Characteristics for GATT Server
12.1 Device Name Characteristic
12.2 Appearance Characteristic
12.3 Peripheral Preferred Connection Parameters Characteristic
12.4 Central Address Resolution
12.5 Resolvable Private Address Only
13 BR/EDR/LE Operation
13.1 Modes, Procedures and Security Aspects
13.1.1 Discoverable Mode Requirements
13.2 Bonding for BR/EDR/LE Device Type
13.3 Relationship between Physical Transports
14 BR/EDR/LE Security Aspects
14.1 Cross-transport Key Derivation
14.2 Collision Handling
15 Bluetooth Device Requirements
15.1 Bluetooth Device Address
15.1.1 Bluetooth Device Address Types
15.1.1.1 Public Bluetooth Address
15.1.1.2 Random Bluetooth Address
15.2 GATT Profile Requirements
15.3 SDP Requirements
15.4 SDP Service Record Requirement
16 Definitions
16.1 General Definitions
16.2 Connection-related Definitions
16.3 Device-related Definitions
16.4 Procedure-related Definitions
16.5 Security-related Definitions
17 References
Appendix A (Normative): Timers and Constants
Appendix B (Informative): Information Flows of Related Procedures
B.1 LMP – Authentication
B.2 LMP – Pairing
B.3 Service Discovery
B.4 Generating a Resolvable Private Address
B.5 Resolving a Resolvable Private Address
Part D: Test Support
Contents
1 Test Methodology
1.1 BR/EDR Test Scenarios
1.1.1 Test Setup
1.1.2 Transmitter Test
1.1.2.1 Packet Format
1.1.2.2 Pseudorandom Sequence
1.1.2.3 Control of Transmit Parameters
1.1.2.4 Power Control
1.1.2.5 Switch Between Different Frequency Settings
1.1.2.6 Adaptive Frequency Hopping
1.1.3 LoopBack Test
1.1.4 Pause Test
1.2 AMP Test Scenarios
1.2.1 Methodology Overview
1.2.1.1 Initiation Example Description
1.2.2 Control and Configuration
1.2.3 AMP Test Manager
1.2.4 Test Commands/Events Format
1.2.5 AMP Test Manager Commands/Events
1.2.5.1 AMP Command Rejected Event
1.2.5.2 AMP Discover Request
1.2.5.3 AMP Discover Response Event
1.2.5.4 AMP Read PHY Capability Bit Map Command
1.2.5.5 AMP Read PHY Capability Bit Map Response Event
1.3 References
2 Test Control Interface (TCI)
2.1 Introduction
2.1.1 Terms Used
2.1.2 Usage of the Interface
2.2 TCI Configurations
2.2.1 Bluetooth RF Requirements
2.2.1.1 Required interfaces
2.2.2 Bluetooth Protocol Requirements
2.2.2.1 Required interfaces
2.2.3 Bluetooth Profile Requirements
2.2.3.1 Required interfaces
2.3 TCI Configuration and Usage
2.3.1 Transport Layers
2.3.1.1 Physical bearer
2.3.1.2 Software bearer
2.3.2 Baseband and Link Manager Qualification
2.3.3 HCI Qualification
Part E: AMP Manager Protocol Specification
Contents
1 Introduction
1.1 General Description
2 General Operation
2.1 Basic Capabilities
2.2 AMP Manager Channel Over L2CAP
2.3 Using the AMP Manager Protocol
2.3.1 Discovering a Remote AMP Manager
2.3.2 Discovering Available Controllers on a Remote Device
2.3.3 Creation of AMP Physical Links
2.4 Controller IDs
2.5 Controller Types
3 Protocol Description
3.1 Packet Formats
3.2 AMP Command Reject (Code 0x01)
3.3 AMP Discover Request (Code 0x02)
3.4 AMP Discover Response (Code 0x03)
3.5 AMP Change Notify (Code 0x04)
3.6 AMP Change Response (Code 0x05)
3.7 AMP Get Info Request (Code 0x06)
3.8 AMP Get Info Response (Code 0x07)
3.9 AMP Get AMP Assoc Request (Code 0x08)
3.10 AMP Get AMP Assoc Response (Code 0x09)
3.11 AMP Create Physical Link Request (Code 0x0A)
3.12 AMP Create Physical Link Response (Code 0x0B)
3.13 AMP Disconnect Physical Link Request (Code 0x0C)
3.14 AMP Disconnect Physical Link Response (Code 0x0D)
3.15 Create Physical Link Collision Resolution
3.16 Response Timeout
3.17 Unexpected BR/EDR Physical Link Disconnect
Part F: Attribute Protocol (ATT)
Contents
1 Introduction
1.1 Scope
1.2 Conformance
1.3 Conventions
2 Protocol Overview
3 Protocol Requirements
3.1 Introduction
3.2 Basic Concepts
3.2.1 Attribute Type
3.2.2 Attribute Handle
3.2.3 Attribute Handle Grouping
3.2.4 Attribute Value
3.2.5 Attribute Permissions
3.2.6 Control-Point Attributes
3.2.7 Protocol Methods
3.2.8 Exchanging MTU Size
3.2.9 Long Attribute Values
3.2.10 Atomic Operations
3.3 Attribute PDU
3.3.1 Attribute PDU Format
3.3.2 Sequential Protocol
3.3.3 Transaction
3.4 Attribute Protocol PDUs
3.4.1 Error Handling
3.4.1.1 Error Response
3.4.2 MTU Exchange
3.4.2.1 Exchange MTU Request
3.4.2.2 Exchange MTU Response
3.4.3 Find Information
3.4.3.1 Find Information Request
3.4.3.2 Find Information Response
3.4.3.3 Find By Type Value Request
3.4.3.4 Find By Type Value Response
3.4.4 Reading Attributes
3.4.4.1 Read By Type Request
3.4.4.2 Read By Type Response
3.4.4.3 Read Request
3.4.4.4 Read Response
3.4.4.5 Read Blob Request
3.4.4.6 Read Blob Response
3.4.4.7 Read Multiple Request
3.4.4.8 Read Multiple Response
3.4.4.9 Read by Group Type Request
3.4.4.10 Read by Group Type Response
3.4.5 Writing Attributes
3.4.5.1 Write Request
3.4.5.2 Write Response
3.4.5.3 Write Command
3.4.5.4 Signed Write Command
3.4.6 Queued Writes
3.4.6.1 Prepare Write Request
3.4.6.2 Prepare Write Response
3.4.6.3 Execute Write Request
3.4.6.4 Execute Write Response
3.4.7 Server Initiated
3.4.7.1 Handle Value Notification
3.4.7.2 Handle Value Indication
3.4.7.3 Handle Value Confirmation
3.4.8 Attribute Opcode Summary
3.4.9 Attribute PDU Response Summary
4 Security Considerations
Part G: Generic Attribute Profile (GATT)
Contents
1 Introduction
1.1 Scope
1.2 Profile Dependency
1.3 Conformance
1.4 Bluetooth Specification Release Compatibility
1.5 Conventions
2 Profile Overview
2.1 Protocol Stack
2.2 Configurations and Roles
2.3 User Requirements and Scenarios
2.4 Profile Fundamentals
2.5 Attribute Protocol
2.5.1 Overview
2.5.2 Attribute Caching
2.5.3 Attribute Grouping
2.5.4 UUIDs
2.6 GATT Profile Hierarchy
2.6.1 Overview
2.6.2 Service
2.6.3 Included Services
2.6.4 Characteristic
2.7 Configured Broadcast
3 Service Interoperability Requirements
3.1 Service Definition
3.2 Include Definition
3.3 Characteristic Definition
3.3.1 Characteristic Declaration
3.3.1.1 Characteristic Properties
3.3.1.2 Characteristic Value Attribute Handle
3.3.1.3 Characteristic UUID
3.3.2 Characteristic Value Declaration
3.3.3 Characteristic Descriptor Declarations
3.3.3.1 Characteristic Extended Properties
3.3.3.2 Characteristic User Description
3.3.3.3 Client Characteristic Configuration
3.3.3.4 Server Characteristic Configuration
3.3.3.5 Characteristic Presentation Format
3.3.3.5.1 Bit Ordering
3.3.3.5.2 Format
3.3.3.5.3 Exponent
3.3.3.5.4 Unit
3.3.3.5.5 Name Space
3.3.3.5.6 Description
3.3.3.6 Characteristic Aggregate Format
3.4 Summary of GATT Profile Attribute Types
4 GATT Feature Requirements
4.1 Overview
4.2 Feature Support and Procedure Mapping
4.3 Server Configuration
4.3.1 Exchange MTU
4.4 Primary Service Discovery
4.4.1 Discover All Primary Services
4.4.2 Discover Primary Service by Service UUID
4.5 Relationship Discovery
4.5.1 Find Included Services
4.6 Characteristic Discovery
4.6.1 Discover All Characteristics of a Service
4.6.2 Discover Characteristics by UUID
4.7 Characteristic Descriptor Discovery
4.7.1 Discover All Characteristic Descriptors
4.8 Characteristic Value Read
4.8.1 Read Characteristic Value
4.8.2 Read Using Characteristic UUID
4.8.3 Read Long Characteristic Values
4.8.4 Read Multiple Characteristic Values
4.9 Characteristic Value Write
4.9.1 Write Without Response
4.9.2 Signed Write Without Response
4.9.3 Write Characteristic Value
4.9.4 Write Long Characteristic Values
4.9.5 Reliable Writes
4.10 Characteristic Value Notification
4.10.1 Notifications
4.11 Characteristic Value Indications
4.11.1 Indications
4.12 Characteristic Descriptors
4.12.1 Read Characteristic Descriptors
4.12.2 Read Long Characteristic Descriptors
4.12.3 Write Characteristic Descriptors
4.12.4 Write Long Characteristic Descriptors
4.13 GATT Procedure Mapping to ATT Protocol Opcodes
4.14 Procedure Timeouts
5 L2CAP Interoperability Requirements
5.1 BR/EDR L2CAP Interoperability Requirements
5.1.1 ATT_MTU
5.1.2 BR/EDR Channel Requirements
5.1.3 BR/EDR Channel Establishment Collisions
5.2 LE L2CAP Interoperability Requirements
5.2.1 ATT_MTU
5.2.2 LE Channel Requirements
6 GAP Interoperability Requirements
6.1 BR/EDR GAP Interoperability Requirements
6.1.1 Connection Establishment
6.2 LE GAP Interoperability Requirements
6.2.1 Connection Establishment
6.2.2 Profile Roles
6.3 Disconnected Events
6.3.1 Notifications and Indications While Disconnected
7 Defined Generic Attribute Profile Service
7.1 Service Changed
8 Security Considerations
8.1 Authentication Requirements
8.2 Authorization Requirements
9 SDP Interoperability Requirements
10 References
Appendix A Example Attribute Server Attributes
Part H: Security Manager Specification
Contents
1 Introduction
1.1 Scope
1.2 Conventions
1.2.1 Bit and Byte Ordering Conventions
2 Security Manager
2.1 Introduction
2.2 Cryptographic Toolbox
2.2.1 Security function e
2.2.2 Random Address Hash function ah
2.2.3 Confirm value generation function c1 for LE Legacy Pairing
2.2.4 Key generation function s1 for LE Legacy Pairing
2.2.5 Function AES-CMAC
2.2.6 LE Secure Connections Confirm Value Generation Function f4
2.2.7 LE Secure Connections Key Generation Function f5
2.2.8 LE Secure Connections Check Value Generation Function f6
2.2.9 LE Secure Connections Numeric Comparison Value Generation Function g2
2.2.10 Link Key Conversion Function h6
2.2.11 Link Key Conversion Function h7
2.3 Pairing Methods
2.3.1 Security Properties
2.3.2 IO Capabilities
2.3.3 OOB Authentication Data
2.3.4 Encryption Key Size
2.3.5 Pairing Algorithms
2.3.5.1 Selecting Key Generation Method
2.3.5.2 LE Legacy Pairing - Just Works
2.3.5.3 LE Legacy Pairing - Passkey Entry
2.3.5.4 Out of Band
2.3.5.5 LE Legacy Pairing Phase 2
2.3.5.6 LE Secure Connections Pairing Phase 2
2.3.5.6.1 Public Key Exchange
2.3.5.6.2 Authentication Stage 1 – Just Works or Numeric Comparison
2.3.5.6.3 Authentication Stage 1 – Passkey Entry
2.3.5.6.4 Authentication Stage 1 – Out of Band
2.3.5.6.5 Authentication Stage 2 and Long Term Key Calculation
2.3.5.7 Cross-transport Key Derivation
2.3.6 Repeated Attempts
2.4 Security in Bluetooth low energy
2.4.1 Definition of Keys and Values
2.4.2 Generation of Distributed Keys
2.4.2.1 Generation of IRK
2.4.2.2 Generation of CSRK
2.4.2.3 LE Legacy Pairing - Generation of LTK, EDIV and Rand
2.4.2.4 Derivation of BR/EDR Link Key from LE LTK
2.4.2.5 Derivation of LE LTK from BR/EDR Link Key
2.4.3 Distribution of Keys
2.4.3.1 LE Legacy Pairing Key Distribution
2.4.3.2 LE Secure Connections Key Distribution
2.4.4 Encrypted Session Setup
2.4.4.1 Encryption Setup using STK
2.4.4.2 Encryption Setup using LTK
2.4.5 Signing Algorithm
2.4.6 Slave Security Request
3 Security Manager Protocol
3.1 Introduction
3.2 Security Manager Channel over L2CAP
3.3 Command Format
3.4 SMP Timeout
3.5 Pairing Methods
3.5.1 Pairing Request
3.5.2 Pairing Response
3.5.3 Pairing Confirm
3.5.4 Pairing Random
3.5.5 Pairing Failed
3.5.6 Pairing Public Key
3.5.7 Pairing DHKey Check
3.5.8 Keypress Notification
3.6 Security in Bluetooth low energy
3.6.1 Key Distribution and Generation
3.6.2 Encryption Information
3.6.3 Master Identification
3.6.4 Identity Information
3.6.5 Identity Address Information
3.6.6 Signing Information
3.6.7 Security Request
Appendix A EDIV and Rand Generation
A.1 EDIV Masking
A.1.1 DIV Mask generation function dm
A.1.2 EDIV Generation
A.1.3 DIV Recovery
Appendix B Key Management
B.1 Database Lookup
B.2 Key Hierarchy
B.2.1 Diversifying function d1
B.2.2 Generating Keys from ER
B.2.3 Generating Keys from IR
Appendix C Message Sequence Charts
C.1 Phase 1: Pairing Feature Exchange
C.1.1 Slave Security Request – Master Requests Pairing
C.2 Phase 2: Authenticating and Encrypting
C.2.1 LE Legacy Pairing
C.2.1.1 Legacy Phase 2: Short Term Key Generation – Just Works
C.2.1.2 Legacy Phase 2: Short Term Key Generation – Passkey Entry
C.2.1.3 Legacy Phase 2: Short Term Key Generation – Out of Band
C.2.2 LE Secure Connections
C.2.2.1 Public Key Exchange
C.2.2.2 Authentication Stage 1
C.2.2.3 Long Term Key Calculation
C.2.2.4 Authentication Stage 2 (DHKey checks)
C.3 Phase 3: Transport Specific Key Distribution
C.4 Security Re-established using Previously Distributed LTK
C.4.1 Master Initiated Security - Master Initiated Link Layer Encryption
C.4.2 Slave Security Request - Master Initiated Link Layer Encryption
C.5 Failure Conditions
C.5.1 Pairing Not Supported by Slave
C.5.2 Master Rejects Pairing Because of Key Size
C.5.3 Slave Rejects Pairing Because of Key Size
C.5.4 Passkey Entry Failure on Master
C.5.5 Passkey Entry Failure on Slave
C.5.6 Slave Rejects Master’s Confirm Value
C.5.7 Master Rejects Slave’s Confirm Value
Appendix D Sample Data
D.1 AES-CMAC RFC4493 Test Vectors
D.1.1 Example 1: Len = 0
D.1.2 Example 2: Len = 16
D.1.3 Example 3: Len = 40
D.1.4 Example 4: Len = 64
D.2 f4 LE SC Confirm Value Generation Function
D.3 f5 LE SC Key Generation Function
D.4 f6 LE SC Check Value Generation Function
D.5 g2 LE SC Numeric Comparison Generation Function
D.6 h6 LE SC Link Key Conversion Function
D.7 ah Random Address Hash Functions
D.8 h7 LE SC Link Key Conversion Function
D.9 LTK to Link Key Conversion Using CT2=1
D.10 LTK to Link Key Conversion Using CT2=0
D.11 LINK KEY to LTK Conversion Using CT2=1
D.12 LINK KEY to LTK Conversion Using CT2=0
Vol 4: Host Controller Interface [Transport Layer]
Part A: UART Transport Layer
Contents
1 General
2 Protocol
3 RS232 Settings
4 Error Recovery
Part B: USB Transport Layer
Contents
1 Overview
2 USB Endpoint Expectations
2.1 Descriptor Overview
2.1.1 Primary Controller Descriptors
2.1.2 AMP Controller Descriptors
2.2 Control Endpoint Expectations
2.2.1 Single Function Primary Controller
2.2.2 Primary Controller Function in a Composite Device
2.2.3 AMP Controller
2.3 Bulk Endpoints Expectations
2.4 Interrupt Endpoint Expectations
2.5 Isochronous Endpoints Expectations
3 Class Code
3.1 Bluetooth Codes
3.1.1 Single Function Primary Controller
3.1.2 Single Function AMP Controller
3.1.3 Composite Bluetooth Primary and AMP Controller
3.1.4 Composite Device Including Bluetooth Primary and AMP Controller
4 Device Firmware Upgrade
5 Limitations
5.1 Power Specific Limitations
5.2 Other Limitations
6 Bluetooth Composite Device Implementation
6.1 Configurations
6.2 Using USB Interface Association Descriptors for a Primary Controller Function
6.3 Combined Primary Controller Function and Single AMP Controller Function
7 References
Part C: Secure Digital (SD) Transport Layer
Contents
1 Introduction
2 Goals
2.1 Hardware Goals
2.2 Software Goals
2.3 Configuration Goals
2.4 Configuration for Multiple Controllers
3 Physical Interface Documents
4 Communication
4.1 Overview
Appendix A Acronyms and Abbreviations
Appendix B Related Documents
Appendix C Tests
C.1 Test Suite Structure
Part D: Three-wire UART Transport Layer
Contents
1 General
2 Overview
3 Slip Layer
3.1 Encoding a Packet
3.2 Decoding a Packet
4 Packet Header
4.1 Sequence Number
4.2 Acknowledge Number
4.3 Data Integrity Check Present
4.4 Reliable Packet
4.5 Packet Type
4.6 Payload Length
4.7 Packet Header Checksum
5 Data Integrity Check
5.1 16 Bit CCITT-CRC
6 Reliable Packets
6.1 Header Checksum Error
6.2 Slip Payload Length Error
6.3 Data Integrity Check Error
6.4 Out Of Sequence Packet Error
6.5 Acknowledgment
6.6 Resending Packets
6.7 Example Reliable Packet Flow
7 Unreliable Packets
7.1 Unreliable Packet Header
7.2 Unreliable Packet Error
8 Link Establishment
8.1 Uninitialized State
8.2 Initialized State
8.3 Active State
8.4 Sync Message
8.5 Sync Response Message
8.6 Config Message
8.7 Config Response Message
8.8 Configuration Field
8.8.1 Configuration Messages
8.8.2 Sliding Window Size
8.8.3 Level of Data Integrity Check
8.8.4 Out of Frame Software Flow Control
8.8.5 Version Number
9 Low Power
9.1 Wakeup Message
9.2 Woken Message
9.3 Sleep Message
10 Out of Frame Control
10.1 Software Flow Control
11 Hardware Configuration
11.1 Wires
11.1.1 Transmit & Receive
11.1.2 Ground
11.2 Hardware Flow
11.2.1 RTS & CTS
12 Recommended Parameters
12.1 Timing Parameters
12.1.1 Acknowledgment of Packets
12.1.2 Resending Reliable Packets
13 References
Vol 5: Core System Package [AMP Controller volume]
Part A: 802.11 Protocol Adaptation Layer Functional Specification
Contents
1 Introduction
1.1 Organization of the 802.11 PAL
2 AMP Host Controller Interface
2.1 Read Local Version Information Command
2.2 Read Local Amp Info Command
2.3 Reset Command
2.4 Read Failed Contact Counter Command
2.5 Read Link Quality Command
2.6 Read RSSI Command
2.7 Short Range Mode Command
2.8 Write Best Effort Flush Timeout Command
2.9 Read Best Effort Flush Timeout Command
2.10 Physical Link Loss Early Warning Event
2.11 Physical Link Recovery Event
2.12 Channel Selected Event
2.13 Short Range Mode Change Complete Event
2.14 Data Structures
2.14.1 AMP_ASSOC Structure
2.14.2 MAC Address
2.14.3 802.11 PAL Capabilities
2.14.4 Preferred Channel List
2.14.5 Connected Channel List
2.14.6 802.11 PAL Version
2.14.7 Preferred Channel List v2
2.15 Connection Accept Timeout Configuration Parameter
2.16 Enable Device Under Test Mode
3 Physical Link Manager
3.1 Physical Link State Machine
3.1.1 General rules
3.1.2 State Diagram
3.1.3 States
3.1.4 Events
3.1.5 Conditions
3.1.6 Actions
3.1.7 DISCONNECTED State
3.1.8 STARTING State
3.1.9 CONNECTING State
3.1.10 AUTHENTICATING State
3.1.11 CONNECTED State
3.1.12 DISCONNECTING State
3.2 Channel Selection
3.2.1 Overview
3.2.2 Regulatory
3.2.3 Specification of Channel Identifiers
3.2.4 Channel List Examples
3.3 802.11 Link Creation
3.3.1 Starting the AMP Network
3.3.1.1 HT Operation
3.3.2 Establishing the 802.11 Link
3.3.3 Address Fields of Data Frames
3.3.4 Admission Control
3.4 Physical Link Maintenance
3.5 Physical Link Security
3.5.1 Obtaining Key Material
3.5.2 Creating a PTK
3.5.3 Using Encryption
3.5.4 Refreshing a PTK
3.5.5 Transporting Security Handshake Messages
3.6 Physical Link Support for QOS
3.6.1 QoS Advertisement
3.6.2 Negotiation
4 Logical Link Manager
4.1 Logical Link Creation
4.1.1 Logical Link Handles
4.1.2 Null Traffic Logical Links
4.1.3 Best Effort Logical Links
4.1.4 Guaranteed Logical Links
4.2 Logical Link Updates
4.3 Logical Link Deletion
5 Data Manager
5.1 Encapsulation
5.2 Coexistence and Local Interference
5.2.1 Interference from Collocated Radios
5.2.2 Unavailability of Remote Peer
5.2.3 Activity Reports
5.3 Explicit Flush
5.4 Automatic Flush
5.5 Quality Of Service Violations
6 Constants
7 Message Sequence Charts
8 References
Appendix A Test Support
A.1 AMP Test Command
A.1.1 Test Scenarios
A.1.2 Test Mode Data Frame Format
A.2 AMP Start Test Event
A.3 AMP Test End Event
Vol 6: Core System Package [Low Energy Controller volume]
Part A: Physical Layer Specification
Contents
1 Scope
2 Frequency Bands and Channel Arrangement
3 Transmitter Characteristics
3.1 Modulation Characteristics
3.1.1 Stable Modulation Index
3.2 Spurious Emissions
3.2.1 Modulation Spectrum
3.2.2 In-band Spurious Emission
3.2.3 Out-of-band Spurious Emission
3.3 Radio Frequency Tolerance
4 Receiver Characteristics
4.1 Actual Sensitivity Level
4.2 Interference Performance
4.3 Out-of-Band Blocking
4.4 Intermodulation Characteristics
4.5 Maximum Usable Level
4.6 Reference Signal Definition
4.7 Stable Modulation Index
Appendix A Test Conditions
A.1 Normal Operating Conditions (NOC)
A.1.1 Normal Temperature and Air Humidity
A.1.2 Nominal Supply Voltage
Part B: Link Layer Specification
Contents
1 General Description
1.1 Link Layer States
1.1.1 Permitted State and Role Combination Restrictions
1.1.2 Devices supporting only some states
1.2 Bit Ordering
1.3 Device Address
1.3.1 Public Device Address
1.3.2 Random Device Address
1.3.2.1 Static Device Address
1.3.2.2 Private Device Address Generation
1.3.2.3 Private Device Address Resolution
1.4 Physical Channel
1.4.1 Advertising and Data Channel Indices
2 Air Interface Packets
2.1 Packet Format For the LE Uncoded PHYs
2.1.1 Preamble
2.1.2 Access Address
2.1.3 PDU
2.1.4 CRC
2.2 Packet Format for the LE Coded PHY
2.2.1 Preamble
2.2.2 Access Address
2.2.3 Coding Indication
2.2.4 PDU
2.2.5 CRC
2.2.6 TERM1 and TERM2
2.3 Advertising Channel PDU
2.3.1 Advertising PDUs
2.3.1.1 ADV_IND
2.3.1.2 ADV_DIRECT_IND
2.3.1.3 ADV_NONCONN_IND
2.3.1.4 ADV_SCAN_IND
2.3.1.5 ADV_EXT_IND
2.3.1.6 AUX_ADV_IND
2.3.1.7 AUX_SYNC_IND
2.3.1.8 AUX_CHAIN_IND
2.3.2 Scanning PDUs
2.3.2.1 SCAN_REQ and AUX_SCAN_REQ
2.3.2.2 SCAN_RSP
2.3.2.3 AUX_SCAN_RSP
2.3.3 Initiating PDUs
2.3.3.1 CONNECT_IND and AUX_CONNECT_REQ
2.3.3.2 AUX_CONNECT_RSP
2.3.4 Common Extended Advertising Payload Format
2.3.4.1 AdvA field
2.3.4.2 TargetA field
2.3.4.3 RFU
2.3.4.4 AdvDataInfo field
2.3.4.5 AuxPtr field
2.3.4.6 SyncInfo field
2.3.4.7 TxPower field
2.3.4.8 ACAD field
2.3.4.9 Host Advertising Data
2.4 Data Channel PDU
2.4.1 LL Data PDU
2.4.2 LL Control PDU
2.4.2.1 LL_CONNECTION_UPDATE_IND
2.4.2.2 LL_CHANNEL_MAP_IND
2.4.2.3 LL_TERMINATE_IND
2.4.2.4 LL_ENC_REQ
2.4.2.5 LL_ENC_RSP
2.4.2.6 LL_START_ENC_REQ
2.4.2.7 LL_START_ENC_RSP
2.4.2.8 LL_UNKNOWN_RSP
2.4.2.9 LL_FEATURE_REQ
2.4.2.10 LL_FEATURE_RSP
2.4.2.11 LL_PAUSE_ENC_REQ
2.4.2.12 LL_PAUSE_ENC_RSP
2.4.2.13 LL_VERSION_IND
2.4.2.14 LL_REJECT_IND
2.4.2.15 LL_SLAVE_FEATURE_REQ
2.4.2.16 LL_CONNECTION_PARAM_REQ
2.4.2.17 LL_CONNECTION_PARAM_RSP
2.4.2.18 LL_REJECT_EXT_IND
2.4.2.19 LL_PING_REQ
2.4.2.20 LL_PING_RSP
2.4.2.21 LL_LENGTH_REQ and LL_LENGTH_RSP
2.4.2.22 LL_PHY_REQ and LL_PHY_RSP
2.4.2.23 LL_PHY_UPDATE_IND
2.4.2.24 LL_MIN_USED_CHANNELS_IND
3 Bit Stream Processing
3.1 Error Checking
3.1.1 CRC Generation
3.2 Data Whitening
3.3 Coding
3.3.1 Forward Error Correction Encoder
3.3.2 Pattern Mapper
4 Air Interface Protocol
4.1 Frame Space
4.1.1 Inter Frame Space
4.1.2 Minimum AUX Frame Space
4.2 Timing Requirements
4.2.1 Active Clock Accuracy
4.2.2 Sleep Clock Accuracy
4.2.3 Range Delay
4.3 Link Layer Device Filtering
4.3.1 White List
4.3.2 Advertising Filter Policy
4.3.3 Scanner Filter Policy
4.3.4 Initiator Filter Policy
4.4 Non-Connected States
4.4.1 Standby State
4.4.2 Advertising State
4.4.2.1 Advertising Channel Index Selection
4.4.2.2 Advertising Events
4.4.2.2.1 Advertising Interval
4.4.2.2.2 Extended Advertising Event
4.4.2.2.3 Periodic Advertising Events
4.4.2.3 Connectable and Scannable Undirected Event Type
4.4.2.4 Connectable Directed Event Type
4.4.2.4.1 Connectable Directed Event Type using ADV_DIRECT_IND
4.4.2.4.2 Low Duty Cycle Connectable Directed Advertising
4.4.2.4.3 High Duty Cycle Connectable Directed Advertising
4.4.2.4.4 Connectable Directed Event Type using ADV_EXT_IND
4.4.2.5 Scannable Undirected Event Type
4.4.2.5.1 Scannable Undirected Event Type using ADV_SCAN_IND
4.4.2.5.2 Scannable Undirected Event Type using ADV_EXT_IND
4.4.2.6 Non-Connectable and Non-Scannable Undirected Event Type
4.4.2.7 Connectable Undirected Event Type
4.4.2.8 Scannable Directed Event Type
4.4.2.9 Non-Connectable and Non-Scannable Directed Event Type
4.4.2.10 Advertising Data Sets
4.4.2.11 Using AdvDataInfo (ADI)
4.4.2.12 Periodic Advertising
4.4.3 Scanning State
4.4.3.1 Passive Scanning
4.4.3.2 Active Scanning
4.4.3.3 Advertising Data Sets
4.4.3.4 Periodic Advertisements
4.4.3.5 Advertising Reports
4.4.4 Initiating State
4.4.4.1 Connect Requests on the Primary Advertising Channel
4.4.4.2 Connect Requests on the Secondary Advertising Channel
4.5 Connection State
4.5.1 Connection Events
4.5.2 Supervision Timeout
4.5.3 Connection Event Transmit Window
4.5.4 Connection Setup – Master Role
4.5.5 Connection Setup – Slave Role
4.5.6 Closing Connection Events
4.5.7 Window Widening
4.5.8 Data Channel Index Selection
4.5.8.1 Channel Classification
4.5.8.2 Channel Selection Algorithm #1
4.5.8.3 Channel Selection Algorithm #2
4.5.8.3.1 Overview
4.5.8.3.2 Inputs and Basic Components
4.5.8.3.3 Unmapped Event Channel Selection
4.5.8.3.4 Event Mapping to Used Channel Index
4.5.9 Acknowledgment and Flow Control
4.5.9.1 Flow Control
4.5.10 Data PDU Length Management
4.6 Feature Support
4.6.1 LE Encryption
4.6.2 Connection Parameters Request Procedure
4.6.3 Extended Reject Indication
4.6.4 Slave-initiated Features Exchange
4.6.5 LE Ping
4.6.6 LE Data Packet Length Extension
4.6.7 LL Privacy
4.6.8 Extended Scanner Filter Policies
4.6.9 Multiple PHYs
4.6.9.1 Symmetric and Asymmetric Connections
4.6.10 Stable Modulation Index - Transmitter
4.6.11 Stable Modulation Index - Receiver
4.6.12 LE Extended Advertising
4.6.13 LE Periodic Advertising
4.6.14 Channel Selection Algorithm #2
4.6.15 Minimum Number of Used Channels Procedure
4.7 Resolving List
5 Link Layer Control
5.1 Link Layer Control Procedures
5.1.1 Connection Update Procedure
5.1.2 Channel Map Update Procedure
5.1.3 Encryption Procedure
5.1.3.1 Encryption Start Procedure
5.1.3.2 Encryption Pause Procedure
5.1.4 Feature Exchange Procedure
5.1.4.1 Master-initiated Feature Exchange Procedure
5.1.4.2 Slave-initiated Feature Exchange Procedure
5.1.5 Version Exchange
5.1.6 Termination Procedure
5.1.7 Connection Parameters Request Procedure
5.1.7.1 Issuing an LL_CONNECTION_PARAM_REQ PDU
5.1.7.2 Responding to LL_CONNECTION_PARAM_REQ and LL_CONNECTION_PARAM_RSP PDUs
5.1.7.3 Examples
5.1.7.3.1 Slave initiated anchor point move
5.1.7.3.2 ReferenceConnEventCount
5.1.7.3.3 Slave initiated interval and anchor point move
5.1.7.4 Packet Transmit Time Restrictions
5.1.8 LE Ping Procedure
5.1.9 Data Length Update Procedure
5.1.10 PHY Update Procedure
5.1.10.1 Packet Transmit Time Restrictions
5.1.11 Minimum Number Of Used Channels Procedure
5.2 Procedure Response Timeout
5.3 Procedure Collisions
5.4 LE Authenticated Payload Timeout
5.5 Procedures With Instants
6 Privacy
6.1 Private Address Generation Interval
6.2 Privacy in the Advertising State
6.2.1 Connectable and Scannable Undirected Event Type
6.2.2 Connectable Directed Event Type
6.2.3 Non-connectable and Non-scannable Undirected and Scannable Undirected Event Types
6.2.4 Connectable Undirected Event Type
6.2.5 Non-connectable and Non-scannable Directed and Scannable Directed Event Types
6.3 Privacy in the Scanning State
6.4 Privacy in the Initiating State
6.5 Privacy of the Device
Part C: Sample Data
Contents
1 Encryption sample data
1.1 Encrypt Command
1.2 Derivation of the MIC and Encrypted Data
2 LE Coded PHY Sample Data
2.1 Reference Information Packet
2.2 Forward Error Correction Encoder
2.3 Transmitted Symbols (S=2)
2.4 Transmitted Symbols (S=8)
3 LE Channel Selection Algorithm #2 Sample Data
3.1 Sample Data 1 (37 Used Channels)
3.2 Sample Data 2 (9 Used Channels)
Part D: Message Sequence Charts
Contents
1 Introduction
1.1 Notation
1.2 Control Flow
1.3 Example MSC
2 Standby State
2.1 Initial Setup
2.2 Random Device Address
2.3 White Lists
2.4 Adding IRK to Resolving List
2.5 Default Data Length
2.6 Periodic Advertiser List
3 Advertising State
3.1 Undirected Advertising
3.2 Directed Advertising
3.3 Advertising Using ADV_EXT_IND
3.4 Scan Request Notifications
3.5 Advertising Duration Ended
3.6 Periodic Advertising
4 Scanning State
4.1 Passive Scanning
4.2 Active Scanning
4.3 Passive Scanning for Directed Advertisements with Privacy
4.4 Active Scanning with Privacy
4.5 Active Scanning with Privacy and Controller Based Resolvable Private Address Generation
4.6 Active scanning on the secondary advertising channel
4.7 Scan Timeout
4.8 Periodic Scanning
4.9 Periodic Scanning Cancel
4.10 Periodic Scanning Timeout
4.11 Periodic Scanning Terminate
5 Initiating State
5.1 Initiating a Connection
5.2 Canceling an Initiation
5.3 Initiating a Connection using Undirected Advertising with Privacy
5.4 Initiating a Connection using Directed Advertising with Privacy
5.5 Initiating a Connection That Fails To Establish
5.6 Initiating a Connection on the secondary advertising channel
5.7 Initiating a Channel Selection Algorithm #2 connection
6 Connection State
6.1 Sending Data
6.2 Connection Update
6.3 Channel Map Update
6.4 Features Exchange
6.5 Version Exchange
6.6 Start Encryption
6.7 Start Encryption without Long Term Key
6.8 Start Encryption with Event Masked
6.9 Start Encryption Without Slave Supporting Encryption
6.10 Restart Encryption
6.11 Disconnect
6.12 Connection Parameters Request
6.13 LE Ping
6.14 Data Length Update
6.15 PHY Update
6.16 Minimum Number Of Used Channels Request
6.17 LL Procedure Collision
Part E: Low Energy Link Layer Security
Contents
1 Encryption and Authentication Overview
2 CCM
2.1 CCM Nonce
2.2 Counter Mode Blocks
2.3 Encryption Blocks
Part F: Direct Test Mode
Contents
1 Introduction
2 Low Energy Test Scenarios
2.1 Test Sequences
2.2 Message Sequence Charts
3 UART Test Interface
3.1 UART Interface Characteristics
3.2 UART Functional Description
3.3 Commands and Events
3.3.1 Command and Event Behavior
3.3.2 Commands
3.4 Events
3.4.1 LE_Test_Status_Event
3.4.2 LE_Packet_Report_Event
3.5 Timing – Command and Event
4 LE Test Packet Definition
4.1 LE Test Packets Format
4.1.1 Whitening
4.1.2 Preamble and Synchronization Word
4.1.3 CRC
4.1.4 LE Test Packet PDU
4.1.5 LE Test Packet Payload Description
4.1.6 LE Test Packet Interval
Vol 7: Core System Package [Wireless Coexistence volume]
Part A: MWS Coexistence Logical Signaling Specification
Contents
1 Introduction
2 Logical Interface
2.1 Coexistence Signals
2.1.1 FRAME_SYNC
2.1.2 MWS_RX
2.1.3 BLUETOOTH_RX_PRI
2.1.4 BLUETOOTH_TX_ON
2.1.5 MWS_PATTERN
2.1.6 MWS_TX
2.1.7 802_TX_ON
2.1.8 802_RX_PRI
2.1.9 MWS_INACTIVITY_DURATION
2.1.10 MWS_SCAN_FREQUENCY
2.2 Tolerances for Offsets and Jitter
Part B: Wireless Coexistence Interface 1 (WCI-1) Transport Specification
Contents
1 Introduction
2 Physical Layer
2.1 Physical Signal Specifications (Informative)
3 Transport Layer
3.1 Message Types
3.1.1 Real-time Signal Message (Type 0)
3.1.2 Transport Control Message (Type 1)
3.1.3 Transparent Data Message (Type 2)
3.1.4 MWS Inactivity Duration Message (Type 3)
3.1.5 MWS Scan Frequency Message (Type 4)
Part C: Wireless Coexistence Interface 2 (WCI-2) Transport Specification
Contents
1 Introduction
2 Physical Layer
3 Transport Layer
3.1 Message Types
3.1.1 Real-time Signal Message (Type 0)
3.1.2 Transport Control Message (Type 1)
3.1.3 Transparent Data Message (Type 2)
3.1.4 MWS Inactivity Duration Message (Type 3)
3.1.5 MWS Scan Frequency Message (Type 4)
Bluetooth Core Specification v 5.0 Bluetooth SIG Proprietary
Master Table of Contents & Compliance Requirements Specification of the Bluetooth System ® Specification Volume 0 Covered Core Package Version: 5.0 Publication Date: Dec 06 2016 Bluetooth SIG Proprietary
BLUETOOTH SPECIFICATION Version 5.0 | Vol 0 page 3 Revision History The Revision History is shown in the [Vol 0] Part C, Appendix. Contributors The persons who contributed to this specification are listed in the [Vol 0] Part C, Appendix. Web Site This specification can also be found on the official Bluetooth web site: https://www.bluetooth.org/en-us/specification/adopted-specifications Disclaimer and Copyright Notice Use of this specification is your acknowledgement that you agree to and will comply with the following notices and disclaimers. You are advised to seek appropriate legal, engineering, and other professional advice regarding the use, interpretation, and effect of this specification. Use of Bluetooth specifications by members of Bluetooth SIG is governed by the membership and other related agreements between Bluetooth SIG and its members, including those agreements posted on Bluetooth SIG’s website located at www.bluetooth.com. Any use of this specification by a member that is not in compliance with the applicable membership and other related agreements is prohibited and, among other things, may result in (i) termination of the applicable agreements and (ii) liability for infringement of the intellectual property rights of Bluetooth SIG and its members. Use of this specification by anyone who is not a member of Bluetooth SIG is prohibited and is an infringement of the intellectual property rights of Bluetooth SIG and its members. The furnishing of this specification does not grant any license to any intellectual property of Bluetooth SIG or its members. THIS SPECIFICATION IS PROVIDED “AS IS” AND BLUETOOTH SIG, ITS MEMBERS AND THEIR AFFILIATES MAKE NO REPRESENTATIONS OR WARRANTIES AND DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, OR THAT THE CONTENT OF THIS SPECIFICATION IS FREE OF ERRORS. For the avoidance of doubt, Bluetooth SIG has not made any search or investigation as to third parties that may claim rights in or to any specifications or any intellectual property that may be required to implement any specifications and it disclaims any obligation or duty to do so. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, BLUETOOTH SIG, ITS MEMBERS AND THEIR AFFILIATES DISCLAIM ALL LIABILITY ARISING OUT OF OR RELATING TO USE OF THIS SPECIFICATION AND ANY INFORMATION CONTAINED IN THIS SPECIFICATION, INCLUDING LOST REVENUE, PROFITS, DATA OR PROGRAMS, OR BUSINESS INTERRUPTION, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, AND EVEN IF BLUETOOTH SIG, ITS MEMBERS OR THEIR AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF THE DAMAGES. 06 December 2016 Bluetooth SIG Proprietary
BLUETOOTH SPECIFICATION Version 5.0 | Vol 0 page 4 If this specification is a prototyping specification, it is solely for the purpose of developing and using prototypes to verify the prototyping specifications at Bluetooth SIG sponsored IOP events. Prototyping Specifications cannot be used to develop products for sale or distribution and prototypes cannot be qualified for distribution. Products equipped with Bluetooth wireless technology ("Bluetooth Products") and their combination, operation, use, implementation, and distribution may be subject to regulatory controls under the laws and regulations of numerous countries that regulate products that use wireless non-licensed spectrum. Examples include airline regulations, telecommunications regulations, technology transfer controls and health and safety regulations. You are solely responsible for complying with all applicable laws and regulations and for obtaining any and all required authorizations, permits, or licenses in connection with your use of this specification and development, manufacture, and distribution of Bluetooth Products. Nothing in this specification provides any information or assistance in connection with complying with applicable laws or regulations or obtaining required authorizations, permits, or licenses. Bluetooth SIG is not required to adopt any specification or portion thereof. If this specification is not the final version adopted by Bluetooth SIG’s Board of Directors, it may not be adopted. Any specification adopted by Bluetooth SIG’s Board of Directors may be withdrawn, replaced, or modified at any time. Bluetooth SIG reserves the right to change or alter final specifications in accordance with its membership and operating agreements. Copyright © 1999 - 2016. The Bluetooth word mark and logos are owned by Bluetooth SIG, Inc. All copyrights in the Bluetooth Specifications themselves are owned by Ericsson AB, Lenovo (Singapore) Pte. Ltd., Intel Corporation, Microsoft Corporation, Nokia Corporation, Toshiba Corporation and Apple, Inc. Other third-party brands and names are the property of their respective owners. 06 December 2016 Bluetooth SIG Proprietary
Master Table of Contents & Compliance Requirements Part A PART A: MASTER TABLE OF CONTENTS This table of contents (TOC) covers the entire Bluetooth Specification. In addition each part of a volume is preceded by a detailed TOC. Bluetooth SIG Proprietary
BLUETOOTH SPECIFICATION Version 5.0 | Vol 0, Part A page 6 Master Table of Contents THE BLUETOOTH SPECIFICATION MASTER TABLE OF CONTENTS In the following Master Table of Contents: • The TOC for each Volume starts at the top of a page. • The Volume name in red is followed by the Volume number in black. • A Volume contains one or more Parts (A, B, etc.); each Part can be viewed independently and has its own TOC. Red or blue text on the following pages indicates hypertext links that take you directly to the indicated section, on condition that you have access to a complete specification. 06 December 2016 Bluetooth SIG Proprietary
BLUETOOTH SPECIFICATION Version 5.0 | Vol 0, Part A page 7 Master Table of Contents & Compliance Requirements Specification Volume 0 Part A MASTER TABLE OF CONTENTS Part B BLUETOOTH COMPLIANCE REQUIREMENTS 1 2 3 Introduction........................................................................................ 78 Scope .................................................................................................. 79 Definitions .......................................................................................... 80 3.1 Types of Bluetooth Products...................................................... 80 3.1.1 Bluetooth End Product.................................................. 81 3.1.2 Bluetooth Subsystem Product....................................... 81 3.1.3 Bluetooth Component Product...................................... 84 3.1.4 Bluetooth Development Tool ......................................... 84 3.1.5 Bluetooth Test Equipment............................................. 84 Core Configurations .......................................................................... 85 Basic Rate Core Configuration .................................................. 85 4.1 Enhanced Data Rate Core Configurations ................................ 86 4.2 4.3 High Speed Core Configuration................................................. 87 Low Energy Core Configuration ................................................ 87 4.4 Basic Rate and Low Energy Combined Core Configuration...... 88 4.5 4.6 Host Controller Interface Core Configuration............................. 89 4 06 December 2016 Bluetooth SIG Proprietary
BLUETOOTH SPECIFICATION Version 5.0 | Vol 0, Part A page 8 Part C APPENDIX 1 2 2.3 2.4 2.5 2.2 Revision History ................................................................................ 93 [Vol 0] Master TOC & Compliance Requirements ..................... 93 1.1 1.1.1 Bluetooth Compliance Requirements ........................... 93 [Vol 1] Architecture & Terminology Overview............................. 94 1.2 [Vols 2, 3, 5, 6 & 7] Core System Package ............................... 95 1.3 [Vol 4] Transport Layers............................................................. 97 1.4 Contributors ....................................................................................... 98 [Vol 0] Master TOC & Compliance Requirements ..................... 98 2.1 2.1.1 Part B: Bluetooth Compliance Requirements .............. 98 2.1.2 Vol 0 Part C: Appendix (Rev History and Contributors) 98 [Vol 1] Architecture & Terminology Overview............................. 99 2.2.1 Part A: Architectural Overview ...................................... 99 2.2.2 Part B: Acronyms & Abbreviations .............................. 102 2.2.3 Part C: Core Specification Change History ................ 103 2.2.4 Part D: Mixing of Specification Versions ..................... 103 2.2.5 Part E: General Terminology and Interpretation ......... 104 [Vol 2] Core System Package, Controller ................................ 104 2.3.1 Part A: Radio Specification ......................................... 104 2.3.2 Part B: Baseband Specification .................................. 106 2.3.3 Part C: Link Manager Protocol.................................... 110 2.3.4 Part D: Error Codes .................................................... 115 2.3.5 Part E: Bluetooth Host Controller Interface Functional Specification................................................................ 117 2.3.6 Part F: Message Sequence Charts............................. 124 2.3.7 Part G: Sample Data................................................... 126 2.3.8 Part H: Security Specification ..................................... 128 [Vol 3] Core System Package, Host ........................................ 130 2.4.1 Part A: Logical Link Control and Adaptation Protocol Specification................................................................ 130 2.4.2 Part B: Service Discovery Protocol (SDP) .................. 134 2.4.3 Part C: Generic Access Profile.................................... 135 2.4.4 Part D: Test Support.................................................... 139 2.4.5 Part E: AMP Manager Protocol ................................... 140 2.4.6 Part F: Attribute Protocol Specification ....................... 141 2.4.7 Part G: Generic Attribute Profile Specification ............ 142 2.4.8 Part H: Security Manager Specification ...................... 143 [Vol 4] Host Controller Interface [Transport Layer] .................. 145 06 December 2016 Bluetooth SIG Proprietary
分享到:
收藏