• No results found

THE BLUETOOTH SPECIFICATION MASTER TABLE OF CONTENTS

N/A
N/A
Protected

Academic year: 2022

Share "THE BLUETOOTH SPECIFICATION MASTER TABLE OF CONTENTS"

Copied!
2772
0
0

Loading.... (view fulltext now)

Full text

(1)

Covered Core Package version: 4.2

Master Table of Contents

& Compliance

Requirements

(2)

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

This disclaimer applies to all draft specifications and final specifications adopted by the Bluetooth SIG Board of Directors (both of which are hereinafter referred to herein as a Bluetooth “Specification”). Your use of this Specification in any way is subject to your compliance with all conditions of such use, and your acceptance of all disclaimers and limitations as to such use, contained in this Specification. Any user of this Specification is advised to seek appropriate legal, engineering or other professional advice regarding the use, interpretation or effect of this Specification on any matters discussed in this Specification.

Use of Bluetooth Specifications and any related intellectual property is governed by the Promoters Membership Agreement among the Promoter Members and Bluetooth SIG (the

“Promoters Agreement”), certain membership agreements between Bluetooth SIG and its Adopter and Associate Members, including, but not limited to, the Membership Application, the Bluetooth Patent/Copyright License Agreement and the Bluetooth Trademark License

Agreement (collectively, the “Membership Agreements”) and the Bluetooth Specification Early Adopters Agreements (1.2 Early Adopters Agreements) among Early Adopter members of the unincorporated Bluetooth SIG and the Promoter Members (the “Early Adopters Agreement”).

Certain rights and obligations of the Promoter Members under the Early Adopters Agreements have been assigned to Bluetooth SIG by the Promoter Members.

Use of the Specification by anyone who is not a member of Bluetooth SIG or a party to an Early Adopters Agreement (each such person or party, a “Member”) is prohibited. The use of any portion of a Bluetooth Specification may involve the use of intellectual property rights ("IPR"), including pending or issued patents, or copyrights or other rights. Bluetooth SIG has made no search or investigation for such rights and disclaims any undertaking or duty to do so. The legal rights and obligations of each Member are governed by the applicable Membership

Agreements, Early Adopters Agreement or Promoters Agreement. No license, express or implied, by estoppel or otherwise, to any intellectual property rights are granted herein.

Any use of the Specification not in compliance with the terms of the applicable Membership Agreements, Early Adopters Agreement or Promoters Agreement is prohibited and any such prohibited use may result in (i) termination of the applicable Membership Agreements or Early Adopters Agreement and (ii) liability claims by Bluetooth SIG or any of its Members for patent, copyright and/or trademark infringement claims permitted by the applicable agreement or by applicable law.

(3)

THE SPECIFICATION IS PROVIDED “AS IS” WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, SATISFACTORY QUALITY, OR REASONABLE SKILL OR CARE, OR ANY WARRANTY ARISING OUT OF ANY COURSE OF DEALING, USAGE, TRADE PRACTICE, PROPOSAL, SPECIFICATION OR SAMPLE.

Each Member hereby acknowledges that products equipped with the Bluetooth wireless technology ("Bluetooth Products") may be subject to various regulatory controls under the laws and regulations applicable to products using wireless non licensed spectrum of various governments worldwide. Such laws and regulatory controls may govern, among other things, the combination, operation, use, implementation and distribution of Bluetooth Products.

Examples of such laws and regulatory controls include, but are not limited to, airline regulatory controls, telecommunications regulations, technology transfer controls and health and safety regulations. Each Member is solely responsible for the compliance by their Bluetooth Products with any such laws and regulations and for obtaining any and all required authorizations, permits, or licenses for their Bluetooth Products related to such regulations within the

applicable jurisdictions. Each Member acknowledges that nothing in the Specification provides any information or assistance in connection with securing such compliance, authorizations or licenses. NOTHING IN THE SPECIFICATION CREATES ANY WARRANTIES, EITHER EXPRESS OR IMPLIED, REGARDING SUCH LAWS OR REGULATIONS.

ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS OR FOR NONCOMPLIANCE WITH LAWS, RELATING TO USE OF THE SPECIFICATION IS EXPRESSLY DISCLAIMED. To the extent not prohibited by law, in no event will Bluetooth SIG or its Members or their affiliates be liable for any damages, including without limitation, 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, arising out of or related to any furnishing, practicing, modifying, use or the performance or implementation of the contents of this Specification, even if Bluetooth SIG or its Members or their affiliates have been advised of the possibility of such damages. BY USE OF THE SPECIFICATION, EACH MEMBER EXPRESSLY WAIVES ANY CLAIM AGAINST BLUETOOTH SIG AND ITS MEMBERS OR THEIR AFFILATES RELATED TO USE OF THE SPECIFICATION.

If this Specification is an intermediate draft, it is for comment only. No products should be designed based on it except solely to verify the prototyping specification at SIG sponsored IOP events and it does not represent any commitment to release or implement any portion of the intermediate draft, which may be withdrawn, modified, or replaced at any time in the adopted Specification.

Bluetooth SIG reserves the right to adopt any changes or alterations to the Specification it deems necessary or appropriate.

Copyright © 1999-2014. 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, Motorola Mobility, LLC, Nokia Corporation and Toshiba Corporation. Other third-party brands and names are the property of their respective owners.

(4)

PART A: MASTER TABLE OF CONTENTS

This table of contents (TOC) covers the entire Bluetooth Specification.

In addition each volume has a TOC and each part of a volume is preceded by a detailed TOC.

(5)

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 number in black is followed by the Volume name in red.

Note: Each Volume is a self contained book and is equipped with a TOC of its own.

• 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.

(6)

Specification Volume 0

Master Table of Contents & Compliance Requirements

Part A

MASTER TABLE OF CONTENTS Part B

BLUETOOTH COMPLIANCE REQUIREMENTS

1 Introduction ... 75

2 Scope ... 76

3 Definitions ... 77

3.1 Types of Bluetooth Products... 77

3.1.1 Bluetooth End Product ... 78

3.1.2 Bluetooth Subsystem Product... 78

3.1.3 Bluetooth Component Product... 81

3.1.4 Bluetooth Development Tool ... 81

3.1.5 Bluetooth Test Equipment ... 81

4 Core Configurations ... 82

4.1 Basic Rate Core Configuration ... 82

4.2 Enhanced Data Rate Core Configurations ... 83

4.3 High Speed Core Configuration... 84

4.4 Low Energy Core Configuration ... 85

4.5 Basic Rate and Low Energy Combined Core Configuration... 86

4.6 Host Controller Interface Core Configuration... 87

Part C APPENDIX 1 Revision History ... 91

1.1 [Vol 0] Master TOC & Compliance Requirements ... 91

1.1.1 Bluetooth Compliance Requirements ... 91

1.2 [Vol 1] Architecture & Terminology Overview... 92

1.3 [Vols 2, 3, 5, 6 & 7] Core System Package ... 93

1.4 [Vol 4] Transport Layers... 95

2 Contributors ... 96

2.1 [Vol 0] Master TOC & Compliance Requirements ... 96

2.1.1 Part B: Bluetooth Compliance Requirements ... 96

2.1.2 Vol 0 Part C: Appendix (Rev History and Contributors) 96 2.2 [Vol 1] Architecture & Terminology Overview... 97

2.2.1 Part A: Architectural Overview ... 97

(7)

2.2.2 Part B: Acronyms & Abbreviations... 99

2.2.3 Part C: Core Specification Change History ... 99

2.2.4 Part D: Mixing of Specification Versions ... 100

2.3 [Vol 2] Core System Package, Controller ... 101

2.3.1 Part A: Radio Specification ... 101

2.3.2 Part B: Baseband Specification... 103

2.3.3 Part C: Link Manager Protocol... 108

2.3.4 Part D: Error Codes ... 112

2.3.5 Part E: Bluetooth Host Controller Interface Functional Specification... 115

2.3.6 Part F: Message Sequence Charts... 121

2.3.7 Part G: Sample Data... 124

2.3.8 Part H: Security Specification... 126

2.4 [Vol 3] Core System Package, Host ... 129

2.4.1 Part A: Logical Link Control and Adaptation Protocol Specification... 129

2.4.2 Part B: Service Discovery Protocol (SDP) ... 133

2.4.3 Part C: Generic Access Profile ... 134

2.4.4 Part D: Test Support... 138

2.4.5 Part E: AMP Manager Protocol... 139

2.4.6 Part F: Attribute Protocol Specification ... 139

2.4.7 Part G: Generic Attribute Protocol Specification ... 140

2.4.8 Part H: Security Manager Specification ... 142

2.5 [Vol 4] Host Controller Interface [Transport Layer] ... 144

2.6 [Vol 5] Core System Package [AMP Controller volume] ... 146

2.6.1 Part A: 802.11 PAL... 146

2.7 [Vol 6] Low Energy Specification ... 147

2.7.1 Part A: Physical Layer Specification ... 147

2.7.2 Part B: Link Layer Specification ... 147

2.7.3 Part C: Sample Data ... 149

2.7.4 Part D: Message Sequence Charts ... 150

2.7.5 Part E: Low Energy Security Specification... 151

2.7.6 Part F: Direct Test Mode ... 152

2.8 [Vol 7] Core System Package [Wireless Coexistence volume] 153 2.8.1 Part A: MWS Coexistence Logical Signaling Specification... 153

2.8.2 Part B: Wireless Coexistence Interface 1 (WCI-1) Transport Specification ... 153

2.8.3 Part C: Wireless Coexistence Interface 2 (WCI-2) Transport Specification ... 153

(8)

Specification Volume 1

Architecture & Terminology Overview

Part A

ARCHITECTURE

1 General Description... 13

1.1 Overview of BR/EDR Operation ... 14

1.2 Overview of Bluetooth Low Energy Operation... 16

1.3 Overview of AMP Operation ... 19

1.4 Nomenclature ... 20

2 Core System Architecture... 26

2.1 Core Architectural Blocks ... 30

2.1.1 Host Architectural Blocks ... 30

2.1.2 BR/EDR/LE Controller Architectural Blocks... 31

2.1.3 AMP Controller architectural blocks... 33

3 Data Transport Architecture ... 35

3.1 Core Traffic Bearers ... 36

3.1.1 Framed Data Traffic ... 37

3.1.2 Unframed Data Traffic... 38

3.1.3 Reliability of traffic bearers... 39

3.2 Transport Architecture Entities ... 42

3.2.1 BR/EDR Generic Packet Structure ... 43

3.2.2 LE Generic Packet Structure... 44

3.3 Physical Channels ... 46

3.3.1 BR/EDR Physical Channels... 46

3.3.2 LE Physical Channels ... 52

3.3.3 AMP physical channel... 55

3.4 Physical Links... 56

3.4.1 BR/EDR Links Supported By The Basic And Adapted Piconet Physical Channel ... 56

3.4.2 BR/EDR Links Supported by the Scanning Physical Channels... 59

3.4.3 LE Links Supported by the LE Physical Channels... 59

3.4.4 Links Supported by the AMP Physical Channels... 59

3.5 Logical Links and Logical Transports ... 60

3.5.1 Casting... 61

3.5.2 Scheduling and Acknowledgement Scheme... 62

3.5.3 Class of Data ... 62

(9)

3.5.4 Logical Transports... 63

3.5.5 Logical Links ... 68

3.6 L2CAP Channels ... 71

4 Communication Topology and Operation ... 72

4.1 Piconet Topology ... 72

4.1.1 BR/EDR Topology ... 72

4.1.2 LE Topology ... 74

4.2 Operational Procedures and Modes... 76

4.2.1 BR/EDR Procedures ... 76

4.2.2 LE Procedures ... 80

4.2.3 AMP Procedures... 84

5 Security Overview... 85

5.1 Security Architecture ... 85

5.2 BR/EDR Secure Simple Pairing... 87

5.2.1 Security Goals... 87

5.2.2 Passive Eavesdropping Protection ... 88

5.2.3 Man-In-The-Middle Protection ... 89

5.2.4 Association Models ... 89

5.3 Secure Connections Only Mode ... 92

5.4 LE Security ... 93

5.4.1 Association Models ... 93

5.4.2 Key Generation ... 94

5.4.3 Encryption ... 94

5.4.4 Signed Data ... 94

5.4.5 Privacy Feature... 94

5.5 AMP Security... 96

5.6 Key Generation Between BR/EDR and LE Physical Transports96 6 Bluetooth Application Architecture ... 97

6.1 Bluetooth Profiles ... 97

6.2 Generic Access Profile ... 98

6.3 Profile Hierarchy ... 99

6.4 Generic Attribute Profile ... 99

6.5 GATT-based Profile Hierarchy ... 100

6.5.1 Service ... 101

6.5.2 Referenced Services... 102

6.5.3 Characteristic ... 102

7 Coexistence and Collocation... 103

7.1 Core Features Supporting Coexistence and Collocation... 104

7.2 Adaptive Frequency Hopping ... 104

(10)

7.3 Coexistence Between Bluetooth Devices and Wireless LAN

Devices... 105

7.4 Mobile Wireless Standards (MWS) Coexistence ... 105

7.5 Synchronizing Bluetooth with an External Timing Source ... 108

7.6 Piconet Clock Adjustment... 109

Part B ACRONYMS & ABBREVIATIONS 1 List of Acronyms and Abbreviations ... 113

Part C CORE SPECIFICATION CHANGE HISTORY 1 Deprecated Features ... 126

2 Changes from V1.1 to V1.2 ... 127

2.1 New Features ... 127

2.2 Structure Changes... 127

2.3 Deprecated Features list ... 127

2.4 Changes in Wording ... 128

2.5 Nomenclature Changes... 128

3 Changes from V1.2 to V2.0 + EDR... 129

3.1 New Features ... 129

3.2 Deprecated Features... 129

4 Changes from V2.0 + EDR to V2.1 + EDR ... 130

4.1 New features ... 130

4.2 Deprecated Features... 130

5 Changes From V2.1 + EDR To V3.0 + HS ... 131

5.1 New Features ... 131

5.2 Deprecated Features... 131

6 Changes From V3.0 + HS To v4.0 ... 132

6.1 New Features ... 132

6.2 Deprecated Features... 132

7 Changes from v4.0 to v4.1 ... 133

7.1 New Features ... 133

7.1.1 Features Added in CSA 4 – Integrated in v4.1 ... 133

7.1.2 Features Added in CSA 3 – Integrated in v4.1 ... 133

7.1.3 Features Added in CSA 2 – Integrated in v4.1 ... 134

7.2 Deprecated Features... 134

8 Changes from v4.1 to v4.2 ... 135

8.1 New Features ... 135

8.2 Errata Incorporated in v4.2 ... 135

(11)

Part D

MIXING OF SPECIFICATION VERSIONS

1 Mixing of Specification Versions... 139

1.1 Features and their Types... 141

1.2 Core Specification Addenda ... 143

Part E IEEE LANGUAGE 1 Use of IEEE Language... 148

1.1 Shall... 149

1.2 Must... 149

1.3 Will... 149

1.4 Should ... 149

1.5 May... 150

1.6 Can ... 150

LIST OF FIGURES (ALL PARTS) ... 151

LIST OF TABLES (ALL PARTS) ... 153

(12)

Specification Volume 2 Core System Package

[BR/EDR Controller volume]

Part A

RADIO SPECIFICATION

1 Scope ... 34

2 Frequency Bands and Channel Arrangement... 36

3 Transmitter Characteristics ... 37

3.1 Basic Rate ... 39

3.1.1 Modulation Characteristics... 39

3.1.2 Spurious Emissions... 39

3.1.3 Radio Frequency Tolerance ... 40

3.2 Enhanced Data Rate ... 41

3.2.1 Modulation Characteristics... 41

3.2.2 Spurious Emissions... 44

3.2.3 Radio Frequency Tolerance ... 46

3.2.4 Relative Transmit Power... 46

4 Receiver Characteristics ... 47

4.1 Basic Rate ... 47

4.1.1 Actual Sensitivity Level ... 47

4.1.2 Interference Performance ... 47

4.1.3 Out-of-Band Blocking... 48

4.1.4 Intermodulation Characteristics ... 48

4.1.5 Maximum Usable Level... 49

4.1.6 Receiver Signal Strength Indicator... 49

4.1.7 Reference Signal Definition ... 49

4.2 Enhanced Data Rate ... 49

4.2.1 Actual Sensitivity Level ... 49

4.2.2 BER Floor Performance... 49

4.2.3 Interference Performance ... 50

4.2.4 Maximum Usable Level... 51

4.2.5 Out-of-Band and Intermodulation Characteristics... 51

4.2.6 Reference Signal Definition ... 51

Appendix A Test Conditions ... 52

A.1 Nominal Test Conditions ... 52

(13)

A.1.1 Nominal temperature ... 52

A.1.2 Nominal power source ... 52

A.2 Extreme Test Conditions ... 52

A.2.1 Extreme temperatures ... 52

A.2.2 Extreme power source voltages ... 53

Appendix B Test Conditions for RF Parameters ... 54

Appendix C Modulation Accuracy Definition ... 55

C.1 Enhanced Data Rate Modulation Accuracy ... 55

C.1.1 RMS DEVM ... 57

C.1.2 Peak DEVM ... 57

Part B BASEBAND SPECIFICATION 1 General Description... 66

1.1 Bluetooth Clock ... 67

1.2 Bluetooth Device Addressing ... 69

1.2.1 Reserved Addresses... 69

1.3 Access Codes... 70

2 Physical Channels ... 71

2.1 Physical Channel Definition ... 72

2.2 Basic Piconet Physical Channel ... 72

2.2.1 Master-slave Definition ... 72

2.2.2 Hopping Characteristics... 73

2.2.3 Time Slots ... 73

2.2.4 Piconet Clocks ... 74

2.2.5 Transmit/Receive Timing ... 74

2.3 Adapted Piconet Physical Channel ... 78

2.3.1 Hopping Characteristics... 78

2.4 Page Scan Physical Channel ... 79

2.4.1 Clock Estimate for Paging... 79

2.4.2 Hopping Characteristics... 79

2.4.3 Paging Procedure Timing ... 80

2.4.4 Page Response Timing... 81

2.5 Inquiry Scan Physical Channel ... 83

2.5.1 Clock for Inquiry ... 83

2.5.2 Hopping Characteristics... 83

2.5.3 Inquiry Procedure Timing... 83

(14)

2.5.4 Inquiry Response Timing ... 83

2.6 Hop Selection ... 85

2.6.1 General Selection Scheme ... 85

2.6.2 Selection Kernel... 89

2.6.3 Adapted Hop Selection Kernel... 92

2.6.4 Control Word... 93

2.7 Synchronization Scan Physical Channel ... 98

2.7.1 Hopping Characteristics... 98

2.7.2 Synchronization Train Procedure Timing ... 98

2.7.3 Synchronization Scan Procedure Timing... 99

3 Physical Links ... 101

3.1 Link Supervision for Active and Parked Physical Links ... 101

3.2 Link Supervision for Connectionless Slave Broadcast Physical Links ... 102

3.3 Authenticated Payload Timeout for Active Links ... 102

4 Logical Transports... 103

4.1 General... 103

4.2 Logical Transport Address (LT_ADDR) ... 103

4.3 Synchronous Logical Transports ... 104

4.4 Asynchronous Logical Transport ... 104

4.5 Transmit/Receive Routines... 106

4.5.1 TX Routine ... 106

4.5.2 RX Routine... 109

4.5.3 Flow Control... 110

4.6 Active Slave Broadcast Transport ...111

4.7 Parked Slave Broadcast Transport... 112

4.7.1 Parked Member Address (PM_ADDR) ... 112

4.7.2 Access Request Address (AR_ADDR) ... 112

4.8 Connectionless Slave Broadcast Logical Transport ... 112

5 Logical Links ... 113

5.1 Link Control Logical Link (LC) ... 113

5.2 ACL Control Logical Link (ACL-C) ... 113

5.3 User Asynchronous/Isochronous Logical Link (ACL-U)... 114

5.3.1 Pausing the ACL-U logical link... 114

5.4 User Synchronous Data Logical Link (SCO-S)... 114

5.5 User Extended Synchronous Data Logical Link (eSCO-S)... 114

5.6 Logical Link Priorities... 114

5.7 Profile Broadcast Data Logical Link... 114

6 Packets ... 115

6.1 General Format ... 115

(15)

6.1.1 Basic Rate... 115

6.1.2 Enhanced Data Rate... 115

6.2 Bit Ordering ... 116

6.3 Access Code ... 117

6.3.1 Access Code Types ... 117

6.3.2 Preamble... 118

6.3.3 Sync Word ... 118

6.3.4 Trailer... 121

6.4 Packet Header... 122

6.4.1 LT_ADDR... 122

6.4.2 TYPE... 122

6.4.3 FLOW... 123

6.4.4 ARQN... 123

6.4.5 SEQN... 123

6.4.6 HEC ... 123

6.5 Packet Types ... 124

6.5.1 Common Packet Types... 126

6.5.2 SCO Packets ... 128

6.5.3 eSCO Packets ... 130

6.5.4 ACL Packets ... 132

6.6 Payload Format ... 135

6.6.1 Synchronous Data Field... 135

6.6.2 Asynchronous Data Field... 137

6.7 Packet Summary ... 141

7 Bitstream Processing ... 143

7.1 Error Checking... 144

7.1.1 HEC Generation... 144

7.1.2 CRC Generation ... 146

7.2 Data Whitening ... 147

7.3 Error Correction ... 148

7.4 FEC Code: Rate 1/3 ... 148

7.5 FEC Code: Rate 2/3 ... 149

7.6 ARQ Scheme... 150

7.6.1 Unnumbered ARQ ... 150

7.6.2 Retransmit Filtering... 153

7.6.3 Flushing Payloads... 156

7.6.4 Multi-slave Considerations... 157

7.6.5 Active Slave and Park Slave Broadcast Packets... 157

7.7 Erroneous Synchronous Data Reporting ... 158

(16)

7.8 Message Integrity Check ... 158

8 Link Controller Operation ... 159

8.1 Overview of States... 159

8.2 Standby State... 160

8.3 Connection Establishment Substates ... 160

8.3.1 Page Scan Substate ... 160

8.3.2 Page substate ... 162

8.3.3 Page Response Substates ... 165

8.4 Device Discovery Substates ... 169

8.4.1 Inquiry scan substate ... 170

8.4.2 Inquiry Substate ... 171

8.4.3 Inquiry Response Substate... 172

8.5 Connection State ... 174

8.6 Active Mode... 176

8.6.1 Polling in the Active Mode... 177

8.6.2 SCO ... 177

8.6.3 eSCO ... 178

8.6.4 Broadcast Scheme... 181

8.6.5 Role Switch ... 182

8.6.6 Scatternet... 184

8.6.7 Hop Sequence Switching... 185

8.6.8 Channel Classification and Channel Map Selection ... 188

8.6.9 Power Management... 189

8.6.10 Piconet Clock Adjustment ... 190

8.7 Sniff Mode... 193

8.7.1 Sniff Transition Mode ... 194

8.7.2 Sniff Subrating ... 195

8.8 Hold Mode ... 197

8.9 Park State ... 197

8.9.1 Beacon Train... 198

8.9.2 Beacon Access Window ... 200

8.9.3 Parked Slave Synchronization ... 201

8.9.4 Parking... 202

8.9.5 Master-initiated Unparking ... 202

8.9.6 Slave-initiated Unparking ... 203

8.9.7 Broadcast Scan Window... 204

8.9.8 Polling in the Park State... 204

8.10 Connectionless Slave Broadcast Mode ... 205 8.10.1 Connectionless Slave Broadcast Transmit Operation 205

(17)

8.10.2 Connectionless Slave Broadcast Receive Operation . 206

8.10.3 AFH in Connectionless Slave Broadcast ... 207

8.11 Synchronization Establishment Substates... 207

8.11.1 Synchronization Scan Substate ... 207

8.11.2 Synchronization Train Substate ... 207

9 Audio... 210

9.1 LOG PCM CODEC ... 210

9.2 CVSD CODEC... 210

9.3 Error Handling ... 213

9.4 General Audio Requirements ... 213

9.4.1 Signal Levels... 213

9.4.2 CVSD Audio Quality... 213

Appendix A General Audio Recommendations ... 214

A.1 Maximum Sound Pressure ... 214

A.2 Other Telephony Network Requirements ... 214

A.3 Audio Levels for Bluetooth ... 214

A.4 Microphone Path ... 215

A.5 Loudspeaker Path ... 215

A.6 Bluetooth Voice Interface ... 215

A.7 Frequency Mask ... 216

Appendix B Timers ... 218

B.1 List of Timers ... 218

B.1.1 inquiryTO ... 218

B.1.2 pageTO ... 218

B.1.3 extended_pageTO ... 218

B.1.4 pagerespTO ... 218

B.1.5 newconnectionTO ... 218

B.1.6 supervisionTO ... 219

B.1.7 CSB_supervisionTO ... 219

B.1.8 synchronization_trainTO ... 219

B.1.9 synchronization_scanTO ... 219

B.1.10 authenticatedPayloadTO ... 219

B.1.11 CLK_adj_dragTO ... 220

Appendix C Recommendations for AFH Operation in Park, Hold, Sniff and CSB ... 221

C.1 Operation at the Master ... 221

(18)

C.2 Operation in Park ... 222

C.3 AFH Operation in Sniff ... 222

C.4 AFH Operation in Hold ... 222

C.5 AFH Operation in Connectionless Slave Broadcast ... 223

Part C LINK MANAGER PROTOCOL SPECIFICATION 1 Introduction ... 229

2 General Rules... 230

2.1 Message Transport... 230

2.2 Synchronization ... 230

2.3 Packet Format ... 231

2.4 Transactions ... 232

2.4.1 LMP Response Timeout ... 234

2.5 Error Handling ... 234

2.5.1 Transaction Collision Resolution... 235

2.6 Procedure Rules... 235

2.7 General Response Messages ... 236

2.8 LMP Message Constraints... 236

3 Device Features ... 237

3.1 General Description... 237

3.2 Feature Definitions ... 237

3.3 Feature Mask Definition... 245

3.4 Link Manager Interoperability policy ... 248

4 Procedure Rules ... 249

4.1 Connection Control... 249

4.1.1 Connection Establishment ... 249

4.1.2 Detach... 250

4.1.3 Power Control ... 251

4.1.4 Adaptive Frequency Hopping... 255

4.1.5 Channel Classification ... 258

4.1.6 Link Supervision... 260

4.1.7 Channel Quality Driven Data Rate Change (CQDDR) 261 4.1.8 Quality of Service (QoS) ... 262

4.1.9 Paging Scheme Parameters ... 263

4.1.10 Control of Multi-slot Packets ... 265

4.1.11 Enhanced Data Rate... 266

4.1.12 Encapsulated LMP PDUs ... 267

4.1.13 Ping... 269

(19)

4.1.14 Piconet Clock Adjustment ... 270

4.2 Security... 274

4.2.1 Authentication ... 274

4.2.2 Pairing... 277

4.2.3 Change Link Key... 280

4.2.4 Change Current Link Key Type... 282

4.2.5 Encryption ... 284

4.2.6 Request Supported Encryption Key Size... 293

4.2.7 Secure Simple Pairing ... 294

4.3 Informational Requests... 309

4.3.1 Timing Accuracy ... 309

4.3.2 Clock Offset ... 310

4.3.3 LMP version ... 311

4.3.4 Supported Features ... 312

4.3.5 Name Request ... 314

4.4 Role Switch... 315

4.4.1 Slot Offset ... 315

4.4.2 Role Switch ... 316

4.5 Modes of Operation ... 319

4.5.1 Hold Mode... 319

4.5.2 Park State ... 322

4.5.3 Sniff Mode... 329

4.6 Logical Transports ... 333

4.6.1 SCO Logical Transport ... 333

4.6.2 eSCO Logical Transport ... 336

4.7 Test Mode ... 341

4.7.1 Activation and Deactivation of Test Mode ... 341

4.7.2 Control of Test Mode... 342

4.7.3 Summary of Test Mode PDUs... 344

5 Summary ... 347

5.1 PDU Summary ... 347

5.2 Parameter Definitions ... 358

5.3 LMP Encapsulated... 369

5.4 Default Values... 369

Part D ERROR CODES 1 Overview of Error Codes... 373

1.1 Usage Descriptions ... 373

(20)

1.2 HCI Command Errors ... 373

1.3 List of Error Codes... 374

2 Error Code Descriptions ... 377

2.1 Unknown HCI Command (0x01)... 377

2.2 Unknown Connection Identifier (0x02) ... 377

2.3 Hardware Failure (0x03) ... 377

2.4 Page Timeout (0x04) ... 377

2.5 Authentication Failure (0x05)... 377

2.6 PIN or key Missing (0x06) ... 377

2.7 Memory Capacity Exceeded (0x07)... 377

2.8 Connection Timeout (0x08) ... 378

2.9 Connection Limit Exceeded (0x09)... 378

2.10 Synchronous Connection Limit to a Device Exceeded (0x0A) 378 2.11 ACL Connection Already Exists (0x0B) ... 378

2.12 Command Disallowed (0x0C) ... 378

2.13 Connection Rejected due to Limited Resources (0x0D)... 378

2.14 Connection Rejected due to Security Reasons (0x0E)... 378

2.15 Connection Rejected due to Unacceptable BD_ADDR (0x0F) 379 2.16 Connection Accept Timeout Exceeded (0x10) ... 379

2.17 Unsupported Feature or Parameter Value (0x11)... 379

2.18 Invalid HCI Command Parameters (0x12)... 379

2.19 Remote User Terminated Connection (0x13) ... 379

2.20 Remote Device Terminated Connection due to Low Resources (0x14) ... 380

2.21 Remote Device Terminated Connection due to Power Off (0x15) ... 380

2.22 Connection Terminated by Local Host (0x16)... 380

2.23 Repeated Attempts (0x17)... 380

2.24 Pairing not Allowed (0x18)... 380

2.25 Unknown LMP PDU (0x19) ... 380

2.26 Unsupported Remote Feature / Unsupported LMP Feature (0x1A) ... 380

2.27 SCO Offset Rejected (0x1B)... 380

2.28 SCO Interval Rejected (0x1C) ... 381

2.29 SCO Air Mode Rejected (0x1D)... 381

2.30 Invalid LMP Parameters / Invalid LL Parameters (0x1E)... 381

2.31 Unspecified Error (0X1F)... 381

2.32 Unsupported LMP Parameter Value / Unsupported LL Parameter Value (0x20)... 381

2.33 Role Change Not Allowed (0x21) ... 381

2.34 LMP Response Timeout / LL Response Timeout (0x22) ... 382

2.35 LMP Error Transaction Collision (0x23)... 382

2.36 LMP PDU Not Allowed (0x24) ... 382

(21)

2.37 Encryption Mode Not Acceptable (0x25) ... 382

2.38 Link Key cannot be Changed (0x26) ... 382

2.39 Requested QoS Not Supported (0x27)... 382

2.40 Instant Passed (0x28)... 382

2.41 Pairing with Unit Key Not Supported (0x29) ... 382

2.42 Different Transaction Collision (0x2A) ... 383

2.43 QoS Unacceptable Parameter (0x2C) ... 383

2.44 QoS Rejected (0x2D) ... 383

2.45 Channel Assessment Not Supported (0x2E) ... 383

2.46 Insufficient Security (0x2F) ... 383

2.47 Parameter out of Mandatory Range (0x30) ... 383

2.48 Role Switch Pending (0x32) ... 383

2.49 Reserved Slot Violation (0x34) ... 383

2.50 Role Switch Failed (0x35)... 384

2.51 Extended Inquiry Response Too Large (0x36) ... 384

2.52 Simple Pairing Not Supported By Host (0x37)... 384

2.53 Host Busy–Pairing (0x38) ... 384

2.54 Connection Rejected Due To No Suitable Channel Found (0x39) ... 384

2.55 Controller Busy (0x3A) ... 384

2.56 Unacceptable Connection Parameters (0x3B) ... 384

2.57 Directed Advertising Timeout (0x3C)... 385

2.58 Connection Terminated Due To MIC Failure (0x3D) ... 385

2.59 Connection Failed To Be Established (0x3E) ... 385

2.60 MAC Connection Failed (0x3F) ... 385

2.61 Coarse Clock Adjustment Rejected but Will Try to Adjust Using Clock Dragging (0x40)... 385

Part E HOST CONTROLLER INTERFACE FUNCTIONAL SPECIFICATION 1 Introduction ... 399

1.1 Lower Layers of the Bluetooth Software Stack ... 400

2 Overview of Host Controller Transport Layer ... 402

2.1 Host Controller Transport Layer and AMPS ... 402

3 Overview of Commands and Events... 403

3.1 Generic Events ... 404

3.2 Device Setup ... 404

3.3 Controller Flow Control ... 405

3.4 Controller Information ... 406

3.5 Controller Configuration... 408

3.6 Device Discovery ... 411

3.7 Connection Setup ... 414

(22)

3.8 Remote Information ... 419 3.9 Synchronous Connections... 420 3.10 Connection State ... 422 3.11 Piconet Structure ... 425 3.12 Quality of Service ... 426 3.13 Physical Links... 428 3.14 Host Flow Control ... 430 3.15 Link Information ... 433 3.16 Authentication and Encryption... 435 3.17 Testing ... 443 3.18 Alphabetical List of Commands and Events ... 445 3.19 LE Controller Requirements ... 454 3.20 Connectionless Slave Broadcast... 459 4 HCI Flow Control... 461 4.1 Host to Controller Data Flow Control ... 461 4.1.1 Packet-based Data Flow Control ... 461 4.1.2 Data-Block-Based Data Flow Control ... 463 4.2 Controller to Host Data Flow Control ... 464 4.3 Disconnection Behavior... 464 4.4 Command Flow Control... 465 4.5 Command Error Handling ... 465 5 HCI Data Formats ... 467 5.1 Introduction... 467 5.2 Data and Parameter Formats ... 467 5.3 Handles ... 468 5.3.1 Primary Controller Handles... 468 5.3.2 AMP Controller Handles ... 469 5.4 Exchange of HCI-Specific Information... 470 5.4.1 HCI Command Packet ... 470 5.4.2 HCI ACL Data Packets ... 472 5.4.3 HCI Synchronous Data Packets ... 475 5.4.4 HCI Event Packet... 477 6 HCI Configuration Parameters... 478 6.1 Scan Enable ... 478 6.2 Inquiry Scan Interval... 478 6.3 Inquiry Scan Window... 479 6.4 Inquiry Scan Type... 479 6.5 Inquiry Mode... 479 6.6 Page Timeout ... 480 6.7 Connection Accept Timeout... 480 6.8 Page Scan Interval ... 481

(23)

6.9 Page Scan Window ... 481 6.10 Page Scan Period Mode (Deprecated)... 481 6.11 Page Scan Type ... 482 6.12 Voice Setting... 482 6.13 PIN Type... 483 6.14 Link Key... 483 6.15 Failed Contact Counter... 483 6.16 Authentication Enable... 484 6.17 Hold Mode Activity... 484 6.18 Link Policy Settings ... 485 6.19 Flush Timeout ... 486 6.20 Num Broadcast Retransmissions ... 486 6.21 Link Supervision Timeout ... 487 6.22 Synchronous Flow Control Enable ... 487 6.23 Local Name ... 488 6.24 Extended Inquiry Response ... 488 6.25 Erroneous Data Reporting ... 488 6.26 Class Of Device... 489 6.27 Supported Commands... 489 6.28 Logical Link Accept Timeout... 498 6.29 Location Domain Aware... 499 6.30 Location Domain... 499 6.31 Location Domain Options ... 500 6.32 Location Options... 500 6.33 Flow Control Mode ... 500 6.34 LE Supported Host ... 501 6.35 Simultaneous LE Host ... 501 6.36 Synchronization Train Interval ... 501 6.37 Synchronization Train Timeout ... 502 6.38 Service Data ... 502 6.39 Secure Connections Host Support ... 502 6.40 Authenticated Payload Timeout... 503 6.41 Extended Page Timeout ... 503 6.42 Extended Inquiry Length... 503 7 HCI Commands and Events ... 504 7.1 Link Control Commands ... 504 7.1.1 Inquiry Command... 505 7.1.2 Inquiry Cancel Command ... 507 7.1.3 Periodic Inquiry Mode Command... 508 7.1.4 Exit Periodic Inquiry Mode Command... 511 7.1.5 Create Connection Command ... 512

(24)

7.1.6 Disconnect Command... 515 7.1.7 Create Connection Cancel Command ... 516 7.1.8 Accept Connection Request Command... 518 7.1.9 Reject Connection Request Command... 520 7.1.10 Link Key Request Reply Command ... 521 7.1.11 Link Key Request Negative Reply Command... 523 7.1.12 PIN Code Request Reply Command ... 524 7.1.13 PIN Code Request Negative Reply Command ... 526 7.1.14 Change Connection Packet Type Command... 527 7.1.15 Authentication Requested Command ... 530 7.1.16 Set Connection Encryption Command... 532 7.1.17 Change Connection Link Key Command... 534 7.1.18 Master Link Key Command... 535 7.1.19 Remote Name Request Command... 537 7.1.20 Remote Name Request Cancel Command... 539 7.1.21 Read Remote Supported Features Command ... 541 7.1.22 Read Remote Extended Features Command... 542 7.1.23 Read Remote Version Information Command ... 544 7.1.24 Read Clock Offset Command ... 545 7.1.25 Read LMP Handle Command ... 546 7.1.26 Setup Synchronous Connection Command... 548 7.1.27 Accept Synchronous Connection Request Command 552 7.1.28 Reject Synchronous Connection Request Command. 556 7.1.29 IO Capability Request Reply Command ... 557 7.1.30 User Confirmation Request Reply Command... 560 7.1.31 User Confirmation Request Negative Reply

Command ... 561 7.1.32 User Passkey Request Reply Command... 562 7.1.33 User Passkey Request Negative Reply Command .... 563 7.1.34 Remote OOB Data Request Reply Command... 564 7.1.35 Remote OOB Data Request Negative Reply

Command ... 566 7.1.36 IO Capability Request Negative Reply Command ... 567 7.1.37 Create Physical Link Command... 568 7.1.38 Accept Physical Link Command ... 570 7.1.39 Disconnect Physical Link Command... 572 7.1.40 Create Logical Link Command... 574 7.1.41 Accept Logical Link Command ... 576

(25)

7.1.42 Disconnect Logical Link Command... 578 7.1.43 Logical Link Cancel Command ... 579 7.1.44 Flow Spec Modify Command ... 581 7.1.45 Enhanced Setup Synchronous Connection

Command ... 583 7.1.46 Enhanced Accept Synchronous Connection Request

Command ... 593 7.1.47 Truncated Page Command... 600 7.1.48 Truncated Page Cancel Command... 602 7.1.49 Set Connectionless Slave Broadcast Command ... 604 7.1.50 Set Connectionless Slave Broadcast Receive

Command ... 608 7.1.51 Start Synchronization Train Command ... 612 7.1.52 Receive Synchronization Train Command... 613 7.1.53 Remote OOB Extended Data Request Reply

Command ... 615 7.2 Link Policy Commands ... 617 7.2.1 Hold Mode Command ... 617 7.2.2 Sniff Mode Command ... 620 7.2.3 Exit Sniff Mode Command ... 623 7.2.4 Park State Command... 624 7.2.5 Exit Park State Command... 626 7.2.6 QoS Setup Command... 627 7.2.7 Role Discovery Command ... 629 7.2.8 Switch Role Command ... 630 7.2.9 Read Link Policy Settings Command... 632 7.2.10 Write Link Policy Settings Command... 634 7.2.11 Read Default Link Policy Settings Command ... 636 7.2.12 Write Default Link Policy Settings Command ... 637 7.2.13 Flow Specification Command ... 638 7.2.14 Sniff Subrating Command... 640 7.3 Controller & Baseband Commands ... 642 7.3.1 Set Event Mask Command ... 642 7.3.2 Reset Command ... 645 7.3.3 Set Event Filter Command... 646 7.3.4 Flush Command... 652 7.3.5 Read PIN Type Command... 654 7.3.6 Write PIN Type Command ... 655 7.3.7 Create New Unit Key Command... 656

(26)

7.3.8 Read Stored Link Key Command ... 657 7.3.9 Write Stored Link Key Command... 658 7.3.10 Delete Stored Link Key Command... 661 7.3.11 Write Local Name Command... 663 7.3.12 Read Local Name Command... 664 7.3.13 Read Connection Accept Timeout Command... 665 7.3.14 Write Connection Accept Timeout Command... 666 7.3.15 Read Page Timeout Command ... 667 7.3.16 Write Page Timeout Command... 668 7.3.17 Read Scan Enable Command ... 669 7.3.18 Write Scan Enable Command... 670 7.3.19 Read Page Scan Activity Command... 671 7.3.20 Write Page Scan Activity Command ... 673 7.3.21 Read Inquiry Scan Activity Command ... 674 7.3.22 Write Inquiry Scan Activity Command... 676 7.3.23 Read Authentication Enable Command... 677 7.3.24 Write Authentication Enable Command ... 678 7.3.25 Read Class of Device Command... 679 7.3.26 Write Class of Device Command ... 680 7.3.27 Read Voice Setting Command... 681 7.3.28 Write Voice Setting Command... 682 7.3.29 Read Automatic Flush Timeout Command ... 683 7.3.30 Write Automatic Flush Timeout Command ... 685 7.3.31 Read Num Broadcast Retransmissions Command .... 687 7.3.32 Write Num Broadcast Retransmissions Command... 688 7.3.33 Read Hold Mode Activity Command ... 689 7.3.34 Write Hold Mode Activity Command ... 690 7.3.35 Read Transmit Power Level Command ... 691 7.3.36 Read Synchronous Flow Control Enable Command .. 693 7.3.37 Write Synchronous Flow Control Enable Command... 694 7.3.38 Set Controller To Host Flow Control Command... 695 7.3.39 Host Buffer Size Command ... 697 7.3.40 Host Number Of Completed Packets Command ... 699 7.3.41 Read Link Supervision Timeout Command ... 701 7.3.42 Write Link Supervision Timeout Command... 703 7.3.43 Read Number Of Supported IAC Command... 705 7.3.44 Read Current IAC LAP Command ... 706 7.3.45 Write Current IAC LAP Command ... 707

(27)

7.3.46 Set AFH Host Channel Classification Command... 709 7.3.47 Read Inquiry Scan Type Command... 711 7.3.48 Write Inquiry Scan Type Command ... 712 7.3.49 Read Inquiry Mode Command ... 713 7.3.50 Write Inquiry Mode Command ... 714 7.3.51 Read Page Scan Type Command ... 715 7.3.52 Write Page Scan Type Command ... 716 7.3.53 Read AFH Channel Assessment Mode Command... 717 7.3.54 Write AFH Channel Assessment Mode Command... 718 7.3.55 Read Extended Inquiry Response Command... 720 7.3.56 Write Extended Inquiry Response Command... 721 7.3.57 Refresh Encryption Key Command... 722 7.3.58 Read Simple Pairing Mode Command... 723 7.3.59 Write Simple Pairing Mode Command... 724 7.3.60 Read Local OOB Data Command... 726 7.3.61 Read Inquiry Response Transmit Power Level

Command ... 728 7.3.62 Write Inquiry Transmit Power Level Command ... 729 7.3.63 Send Keypress Notification Command ... 730 7.3.64 Read Default Erroneous Data Reporting Command... 732 7.3.65 Write Default Erroneous Data Reporting Command... 733 7.3.66 Enhanced Flush Command ... 734 7.3.67 Read Logical Link Accept Timeout Command... 736 7.3.68 Write Logical Link Accept Timeout Command ... 737 7.3.69 Set Event Mask Page 2 Command... 738 7.3.70 Read Location Data Command... 740 7.3.71 Write Location Data Command... 741 7.3.72 Read Flow Control Mode Command... 742 7.3.73 Write Flow Control Mode Command... 743 7.3.74 Read Enhanced Transmit Power Level Command... 744 7.3.75 Read Best Effort Flush Timeout Command ... 746 7.3.76 Write Best Effort Flush Timeout Command ... 747 7.3.77 Short Range Mode Command ... 748 7.3.78 Read LE Host Support Command ... 749 7.3.79 Write LE Host Support Command... 750 7.3.80 Set MWS Channel Parameters Command ... 751 7.3.81 Set External Frame Configuration Command ... 753 7.3.82 Set MWS Signaling Command ... 756

(28)

7.3.83 Set MWS Transport Layer Command... 761 7.3.84 Set MWS Scan Frequency Table Command ... 762 7.3.85 Set MWS_PATTERN Configuration Command ... 764 7.3.86 Set Reserved LT_ADDR Command ... 766 7.3.87 Delete Reserved LT_ADDR Command ... 768 7.3.88 Set Connectionless Slave Broadcast Data Command 769 7.3.89 Read Synchronization Train Parameters Command .. 771 7.3.90 Write Synchronization Train Parameters Command... 773 7.3.91 Read Secure Connections Host Support Command .. 775 7.3.92 Write Secure Connections Host Support Command... 776 7.3.93 Read Authenticated Payload Timeout Command... 778 7.3.94 Write Authenticated Payload Timeout Command ... 780 7.3.95 Read Local OOB Extended Data Command ... 782 7.3.96 Read Extended Page Timeout Command ... 784 7.3.97 Write Extended Page Timeout Command ... 785 7.3.98 Read Extended Inquiry Length Command... 786 7.3.99 Write Extended Inquiry Length Command ... 787 7.4 Informational Parameters ... 788 7.4.1 Read Local Version Information Command ... 788 7.4.2 Read Local Supported Commands Command ... 790 7.4.3 Read Local Supported Features Command ... 791 7.4.4 Read Local Extended Features Command... 792 7.4.5 Read Buffer Size Command ... 794 7.4.6 Read BD_ADDR Command... 796 7.4.7 Read Data Block Size Command ... 797 7.4.8 Read Local Supported Codecs Command ... 799 7.5 Status Parameters ... 801 7.5.1 Read Failed Contact Counter Command... 801 7.5.2 Reset Failed Contact Counter Command ... 803 7.5.3 Read Link Quality Command ... 804 7.5.4 Read RSSI Command ... 806 7.5.5 Read AFH Channel Map Command ... 808 7.5.6 Read Clock Command... 810 7.5.7 Read Encryption Key Size Command... 812 7.5.8 Read Local AMP Info Command ... 814 7.5.9 Read Local AMP ASSOC Command... 819 7.5.10 Write Remote AMP ASSOC Command ... 822 7.5.11 Get MWS Transport Layer Configuration Command .. 824

(29)

7.5.12 Set Triggered Clock Capture Command... 826 7.6 Testing Commands... 829 7.6.1 Read Loopback Mode Command ... 829 7.6.2 Write Loopback Mode Command ... 831 7.6.3 Enable Device Under Test Mode Command ... 834 7.6.4 Write Simple Pairing Debug Mode Command ... 835 7.6.5 Enable AMP Receiver Reports Command... 837 7.6.6 AMP Test End Command ... 838 7.6.7 AMP Test Command... 839 7.6.8 Write Secure Connections Test Mode Command... 840 7.7 Events... 843 7.7.1 Inquiry Complete Event... 843 7.7.2 Inquiry Result Event... 844 7.7.3 Connection Complete Event ... 846 7.7.4 Connection Request Event ... 848 7.7.5 Disconnection Complete Event... 849 7.7.6 Authentication Complete Event... 850 7.7.7 Remote Name Request Complete Event... 851 7.7.8 Encryption Change Event ... 852 7.7.9 Change Connection Link Key Complete Event... 854 7.7.10 Master Link Key Complete Event... 855 7.7.11 Read Remote Supported Features Complete Event .. 856 7.7.12 Read Remote Version Information Complete Event ... 857 7.7.13 QoS Setup Complete Event... 859 7.7.14 Command Complete Event... 861 7.7.15 Command Status Event ... 862 7.7.16 Hardware Error Event ... 864 7.7.17 Flush Occurred Event ... 865 7.7.18 Role Change Event... 866 7.7.19 Number Of Completed Packets Event ... 867 7.7.20 Mode Change Event ... 869 7.7.21 Return Link Keys Event ... 871 7.7.22 PIN Code Request Event... 872 7.7.23 Link Key Request Event... 873 7.7.24 Link Key Notification Event ... 874 7.7.25 Loopback Command Event... 876 7.7.26 Data Buffer Overflow Event ... 877 7.7.27 Max Slots Change Event ... 878

(30)

7.7.28 Read Clock Offset Complete Event ... 879 7.7.29 Connection Packet Type Changed Event ... 880 7.7.30 QoS Violation Event... 882 7.7.31 Page Scan Repetition Mode Change Event ... 883 7.7.32 Flow Specification Complete Event ... 884 7.7.33 Inquiry Result with RSSI Event ... 886 7.7.34 Read Remote Extended Features Complete Event.... 888 7.7.35 Synchronous Connection Complete Event ... 890 7.7.36 Synchronous Connection Changed Event ... 892 7.7.37 Sniff Subrating Event ... 894 7.7.38 Extended Inquiry Result Event... 896 7.7.39 Encryption Key Refresh Complete Event... 899 7.7.40 IO Capability Request Event... 900 7.7.41 IO Capability Response Event ... 901 7.7.42 User Confirmation Request Event ... 903 7.7.43 User Passkey Request Event ... 904 7.7.44 Remote OOB Data Request Event ... 905 7.7.45 Simple Pairing Complete Event ... 906 7.7.46 Link Supervision Timeout Changed Event... 907 7.7.47 Enhanced Flush Complete Event ... 908 7.7.48 User Passkey Notification Event... 909 7.7.49 Keypress Notification Event ... 910 7.7.50 Remote Host Supported Features Notification Event . 911 7.7.51 Physical Link Complete Event ... 912 7.7.52 Channel Selected Event ... 913 7.7.53 Disconnection Physical Link Complete Event... 914 7.7.54 Physical Link Loss Early Warning Event... 915 7.7.55 Physical Link Recovery Event... 916 7.7.56 Logical Link Complete Event ... 917 7.7.57 Disconnection Logical Link Complete Event... 918 7.7.58 Flow Spec Modify Complete Event ... 919 7.7.59 Number Of Completed Data Blocks Event... 920 7.7.60 Short Range Mode Change Complete Event... 922 7.7.61 AMP Status Change Event ... 923 7.7.62 AMP Start Test Event ... 925 7.7.63 AMP Test End Event... 926 7.7.64 AMP Receiver Report Event ... 927 7.7.65 LE Meta Event ... 929

(31)

7.7.66 Triggered Clock Capture Event... 950 7.7.67 Synchronization Train Complete Event... 951 7.7.68 Synchronization Train Received Event ... 952 7.7.69 Connectionless Slave Broadcast Receive Event ... 954 7.7.70 Connectionless Slave Broadcast Timeout Event ... 956 7.7.71 Truncated Page Complete Event... 957 7.7.72 Slave Page Response Timeout Event ... 958 7.7.73 Connectionless Slave Broadcast Channel Map Change

Event... 959 7.7.74 Inquiry Response Notification Event ... 960 7.7.75 Authenticated Payload Timeout Expired Event... 961 7.8 LE Controller Commands ... 962 7.8.1 LE Set Event Mask Command... 962 7.8.2 LE Read Buffer Size Command... 964 7.8.3 LE Read Local Supported Features Command ... 966 7.8.4 LE Set Random Address Command... 967 7.8.5 LE Set Advertising Parameters Command ... 968 7.8.6 LE Read Advertising Channel Tx Power Command ... 972 7.8.7 LE Set Advertising Data Command ... 973 7.8.8 LE Set Scan Response Data Command... 974 7.8.9 LE Set Advertise Enable Command ... 975 7.8.10 LE Set Scan Parameters Command... 977 7.8.11 LE Set Scan Enable Command ... 980 7.8.12 LE Create Connection Command ... 982 7.8.13 LE Create Connection Cancel Command... 987 7.8.14 LE Read White List Size Command... 988 7.8.15 LE Clear White List Command... 989 7.8.16 LE Add Device To White List Command... 990 7.8.17 LE Remove Device From White List Command ... 992 7.8.18 LE Connection Update Command ... 993 7.8.19 LE Set Host Channel Classification Command... 996 7.8.20 LE Read Channel Map Command ... 997 7.8.21 LE Read Remote Used Features Command ... 999 7.8.22 LE Encrypt Command... 1000 7.8.23 LE Rand Command ... 1002 7.8.24 LE Start Encryption Command ... 1003 7.8.25 LE Long Term Key Request Reply Command... 1005

(32)

7.8.26 LE Long Term Key Request Negative Reply

Command ... 1007 7.8.27 LE Read Supported States Command... 1008 7.8.28 LE Receiver Test Command... 1012 7.8.29 LE Transmitter Test Command... 1013 7.8.30 LE Test End Command... 1015 7.8.31 LE Remote Connection Parameter Request Reply

Command ... 1016 7.8.32 LE Remote Connection Parameter Request Negative

Reply Command ... 1019 7.8.33 LE Set Data Length Command ... 1021 7.8.34 LE Read Suggested Default Data Length Command1023 7.8.35 LE Write Suggested Default Data Length Command1025 7.8.36 LE Read Local P-256 Public Key Command ... 1027 7.8.37 LE Generate DHKey Command... 1028 7.8.38 LE Add Device to Resolving List Command ... 1029 7.8.39 LE Remove Device From Resolving List Command. 1031 7.8.40 LE Clear Resolving List Command ... 1033 7.8.41 LE Read Resolving List Size Command ... 1034 7.8.42 LE Read Peer Resolvable Address Command... 1035 7.8.43 LE Read Local Resolvable Address Command... 1037 7.8.44 LE Set Address Resolution Enable Command ... 1039 7.8.45 LE Set Resolvable Private Address Timeout

Command ... 1040 7.8.46 LE Read Maximum Data Length Command ... 1041 Appendix A Deprecated Commands, Events and Configuration

Parameters ... 1043 A.1 Read Page Scan Mode Command ... 1044 A.2 Write Page Scan Mode Command ... 1045 A.3 Read Page Scan Period Mode Command ... 1046 A.4 Write Page Scan Period Mode Command ... 1047 A.5 Add SCO Connection Command ... 1048 A.6 Page Scan Mode Change Event ... 1050 A.7 Read Country Code Command ... 1051 A.8 Read Encryption Mode Command ... 1052 A.9 Write Encryption Mode Command ... 1053 A.10 Deprecated Parameters ... 1054 A.10.1 Encryption Mode ... 1054 A.10.2 Page Scan Mode ... 1054

(33)

Part F

MESSAGE SEQUENCE CHARTS

1 Introduction ... 1061 1.1 Notation ... 1061 1.2 Flow of Control ... 1062 1.3 Example MSC... 1062 2 Services Without Connection Request... 1063 2.1 Remote Name Request ... 1063 2.2 One-time Inquiry ... 1065 2.3 Periodic Inquiry... 1067 3 ACL Connection Establishment and Detachment ... 1069 3.1 Connection Setup ... 1070 4 Optional Activities After ACL Connection Establishment ... 1078 4.1 Authentication Requested ... 1078 4.2 Simple Pairing Message Sequence Charts ... 1080 4.2.1 Optional OOB Information Collection... 1081 4.2.2 Enable Simple Pairing and Secure Connections ... 1082 4.2.3 Connection Establishment ... 1083 4.2.4 L2CAP Connection Request for a Secure Service ... 1084 4.2.5 Optional OOB Information Transfer ... 1084 4.2.6 Start Simple Pairing ... 1085 4.2.7 IO Capability Exchange ... 1086 4.2.8 Public Key Exchange ... 1087 4.2.9 Authentication ... 1087 4.2.10 Numeric Comparison ... 1088 4.2.11 Numeric Comparison Failure on Initiating Side... 1089 4.2.12 Numeric Comparison Failure on Responding Side... 1090 4.2.13 Passkey Entry ... 1091 4.2.14 Passkey Entry Failure on Responding Side... 1092 4.2.15 Passkey Entry Failure on Initiator Side ... 1093 4.2.16 Out of Band... 1094 4.2.17 OOB Failure on Initiator Side ... 1096 4.2.18 DHKey Checks... 1097 4.2.19 Calculate Link Key ... 1098 4.2.20 Enable Encryption... 1099 4.2.21 L2CAP Connection Response ... 1099 4.2.22 LMP Ping ... 1100 4.3 Link Supervision Timeout Changed Event... 1102 4.4 Set Connection Encryption ... 1103

(34)

4.5 Change Connection Link Key ... 1105 4.6 Change Connection Link Key with Encryption Pause and

Resume ... 1106 4.7 Master Link Key... 1107 4.8 Read Remote Supported Features... 1109 4.9 Read Remote Extended Features ...1110 4.10 Read Clock Offset...1111 4.11 Role Switch on an Encrypted Link using Encryption Pause and

Resume ...1112 4.12 Refreshing Encryption Keys ...1113 4.13 Read Remote Version Information ...1115 4.14 QOS Setup ...1116 4.15 Switch Role...1117 4.16 AMP Physical Link Creation and Disconnect...1119 4.16.1 Physical Link Establishment ... 1120 4.16.2 Logical Link Creation ... 1126 4.17 AMP Test Mode Sequence Charts... 1128 4.17.1 Discover the AMP Present and Running Transmitter and Receiver Tests ... 1129 5 Synchronous Connection Establishment and Detachment... 1132 5.1 Synchronous Connection Setup ... 1132 5.2 Synchronous Connection Setup with Enhanced Synchronous

Commands ... 1140 6 Sniff, Hold and Park... 1146 6.1 Sniff Mode... 1146 6.2 Hold Mode ... 1147 6.3 Park State ... 1150 7 Buffer Management, Flow Control ... 1154 8 Loopback Mode ... 1156 8.1 Local Loopback Mode ... 1156 8.2 Remote Loopback Mode ... 1159 9 Connectionless Slave Broadcast Services ... 1161 Part G

SAMPLE DATA

1 Encryption Sample Data... 1168 1.1 E0 Encryption Sample Data... 1168 1.1.1 Generating Kc' from Kc... 1168 1.1.2 First Set of Sample Data... 1171 1.1.3 Second Set of Sample Data... 1179

(35)

1.1.4 Third Set of Samples ... 1187 1.1.5 Fourth Set of Samples ... 1195 1.2 AES-CCM ENCRYPTION SAMPLE DATA ... 1203 1.2.1 Sample Data 1 (DM1, M --> S) ... 1203 1.2.2 Sample Data 2 (DM1, M --> S) ... 1204 1.2.3 Sample Data 3 (DM1, S --> M) ... 1205 1.2.4 Sample Data 4 (DM1, M --> S) ... 1205 1.2.5 Sample Data 5 (DM1, S --> M) ... 1206 1.2.6 Sample Data 6 (DH1, M --> S)... 1207 1.2.7 Sample Data 7 (DH1, S --> M)... 1208 1.2.8 Sample Data 8 (DH1, M --> S)... 1209 1.2.9 Sample Data 9 (DH1, S --> M)... 1210 1.2.10 Sample Data 10 (2-DH3, M --> S) ... 1211 1.2.11 Sample Data 11 (2-DH3, S --> M)... 1214 1.2.12 Sample Data 12 (3-DH5, M --> S) ... 1217 1.2.13 Sample Data 13 (3-DH5, S --> M) ... 1224 1.2.14 Sample Data 14 (EV3) ... 1231 2 Frequency Hopping Sample Data... 1232 2.1 First set... 1233 2.2 Second set... 1239 2.3 Third set... 1245 3 Access Code Sample Data... 1251 4 HEC and Packet Header Sample Data... 1254 5 CRC Sample Data... 1255 6 Complete Sample Packets ... 1256 6.1 Example of DH1 Packet ... 1256 6.2 Example of DM1 Packet ... 1257 7 Simple Pairing Sample Data ... 1258 7.1 Elliptic Curve Sample Data ... 1258 7.1.1 P-192 Sample Data... 1258 7.1.2 P-256 Sample Data... 1260 7.2 Hash Functions Sample Data ... 1261 7.2.1 f1()... 1261 7.2.2 g()... 1263 7.2.3 f2()... 1263 7.2.4 f3()... 1264 7.2.5 h2()... 1271 7.2.6 h4()... 1272

(36)

7.2.7 h5()... 1272 7.2.8 h3()... 1272 8 Whitening Sequence Sample Data ... 1273 9 FEC Sample Data ... 1276 10 Encryption Key Sample Data ... 1277 10.1 Four Tests of E1... 1277 10.2 Four Tests of E21... 1282 10.3 Three Tests of E22... 1284 10.4 Tests of E22 With Pin Augmenting ... 1286 10.5 Four Tests of E3... 1296 11 Connectionless Slave Broadcast Sample Data... 1301 Part H

SECURITY SPECIFICATION

1 Security Overview... 1306 1.1 Pausing Encryption and Role Switch... 1307 1.2 Change Connection Link Keys ... 1308 1.3 Periodically Refreshing Encryption Keys ... 1308 2 Random Number Generation ... 1309 3 Key Management ... 1310 3.1 Key Types... 1310 3.2 Key Generation and Initialization... 1312 3.2.1 Generation of initialization key, ... 1313 3.2.2 Authentication ... 1313 3.2.3 Generation of a unit key... 1313 3.2.4 Generation of a combination key ... 1314 3.2.5 Generating the encryption key ... 1315 3.2.6 Point-to-multipoint configuration ... 1316 3.2.7 Modifying the link keys... 1316 3.2.8 Generating a master key... 1317 4 Encryption (E0) ... 1319 4.1 Encryption Key Size Negotiation ... 1320 4.2 Encryption of Broadcast Messages ... 1320 4.3 Encryption Concept ... 1321 4.4 Encryption Algorithm ... 1322 4.4.1 The operation of the cipher ... 1324 4.5 LFSR Initialization... 1325 4.6 Key Stream Sequence... 1328

(37)

5 Authentication... 1329 5.1 Repeated Attempts ... 1332 6 The Authentication And Key-Generating Functions ... 1333 6.1 The Authentication Function E1 ... 1333 6.2 The Functions Ar and A’r ... 1335 6.2.1 The round computations ... 1335 6.2.2 The substitution boxes “e” and “l” ... 1335 6.2.3 Key scheduling... 1336 6.3 E2-Key Generation Function for Authentication ... 1337 6.4 E3-Key Generation Function for Encryption ... 1339 7 Secure Simple Pairing ... 1340 7.1 Phase 1: Public Key Exchange ... 1342 7.2 Phase 2: Authentication Stage 1... 1342

7.2.1 Authentication Stage 1: Numeric Comparison

Protocol... 1343 7.2.2 Authentication Stage 1: Out of Band Protocol... 1344 7.2.3 Authentication Stage 1: Passkey Entry Protocol... 1346 7.3 Phase 3: Authentication Stage 2... 1348 7.4 Phase 4: Link Key Calculation... 1349 7.5 Phase 5: LMP Authentication and Encryption ... 1349 7.6 Elliptic Curve Definition... 1349 7.7 Cryptographic Function Definitions... 1351 7.7.1 The Simple Pairing Commitment Function f1 ... 1351 7.7.2 The Simple Pairing Numeric Verification Function g. 1352 7.7.3 The Simple Pairing Key Derivation Function f2 ... 1353 7.7.4 The Simple Pairing Check Function f3... 1354 7.7.5 The Simple Pairing AMP Key Derivation

Function h2 ... 1355 7.7.6 The AES Encryption Key Generation

Function h3 ... 1357 7.7.7 The Device Authentication Key Generation

Function h4 ... 1358 7.7.8 The Device Authentication Confirmation

Function h5 ... 1359 8 AMP Security... 1360 8.1 Creation of the Initial Generic AMP Link Key... 1360 8.2 Creation of Dedicated AMP Link Keys ... 1360 8.3 Debug Considerations ... 1362

(38)

9 AES-CCM Encryption for BR/EDR... 1363 9.1 Nonce Formats ... 1363 9.2 Counter Mode Blocks ... 1365 9.3 Encryption Blocks ... 1367 9.4 Encryption Key Size Reduction ... 1367 9.5 Repeated MIC Failures... 1367 LIST OF FIGURES (ALL PARTS) ... 1368 LIST OF TABLES (ALL PARTS) ... 1379

(39)

Specification Volume 3 Core System Package [Host volume]

Part A

LOGICAL LINK CONTROL AND ADAPTATION PROTOCOL SPECIFICATION

1 Introduction ... 29 1.1 L2CAP Features ... 29 1.2 Assumptions ... 32 1.3 Scope ... 33 1.4 Terminology ... 33 2 General Operation ... 37 2.1 Channel Identifiers... 37 2.2 Operation Between Devices ... 40 2.3 Operation Between Layers ... 41 2.4 Modes of Operation ... 42 2.5 Mapping Channels to Logical Links ... 44 3 Data Packet Format ... 45 3.1 Connection-oriented Channels in Basic L2CAP Mode ... 45 3.2 Connectionless Data Channel in Basic L2CAP Mode ... 46 3.3 Connection-oriented Channel in Retransmission/Flow Control/

Streaming Modes... 47 3.3.1 L2CAP header fields ... 48 3.3.2 Control field (2 or 4 octets)... 49 3.3.3 L2CAP SDU Length Field (2 octets) ... 51 3.3.4 Information Payload Field ... 52 3.3.5 Frame Check Sequence (2 octets) ... 52 3.3.6 Invalid Frame Detection ... 53 3.3.7 Invalid Frame Detection Algorithm... 53 3.4 Connection-Oriented Channels in LE Credit Based Flow Control

Mode... 55 3.4.1 L2CAP Header Fields ... 55 3.4.2 L2CAP SDU Length Field (2 octets) ... 55 3.4.3 Information Payload Field ... 55 4 Signaling Packet Formats ... 57 4.1 Command Reject (code 0x01) ... 60 4.2 Connection Request (code 0x02) ... 61 4.3 Connection Response (code 0x03) ... 63 4.4 Configuration Request (code 0x04) ... 65

(40)

4.5 Configuration Response (code 0x05) ... 67 4.6 Disconnection Request (code 0x06)... 69 4.7 Disconnection Response (code 0x07) ... 70 4.8 Echo Request (code 0x08) ... 70 4.9 Echo Response (code 0x09) ... 71 4.10 Information Request (code 0x0A) ... 71 4.11 Information Response (code 0x0B) ... 72 4.12 Extended Feature Mask ... 74 4.13 Fixed Channels Supported ... 75 4.14 Create Channel Request (code 0x0C) ... 76 4.15 Create Channel Response (code 0x0D)... 77 4.16 Move Channel Request (code 0x0E)... 78 4.17 Move Channel Response (code 0x0F) ... 80 4.18 Move Channel Confirmation (code 0x10) ... 81 4.19 Move Channel Confirmation Response (code 0x11) ... 82 4.20 Connection Parameter Update Request (code 0x12)... 82 4.21 Connection Parameter Update Response (code 0x13) ... 84 4.22 LE Credit Based Connection Request (Code 0x14) ... 85 4.23 LE Credit Based Connection Response (Code 0x15) ... 86 4.24 LE Flow Control Credit (Code 0x16)... 88 5 Configuration Parameter Options ... 89 5.1 Maximum Transmission Unit (MTU) ... 89 5.2 Flush Timeout Option ... 91 5.3 Quality of Service (QoS) Option ... 92 5.4 Retransmission and Flow Control Option ... 96 5.5 Frame Check Sequence (FCS) Option... 101 5.6 Extended Flow Specification Option ... 102 5.7 Extended Window Size Option ... 108 6 State Machine ... 110 6.1 General rules for the state machine:... 110 6.1.1 CLOSED state ... 112 6.1.2 WAIT_CONNECT_RSP state ... 113 6.1.3 WAIT_CONNECT state ... 114 6.1.4 CONFIG state ... 114 6.1.5 OPEN state ... 120 6.1.6 WAIT_DISCONNECT state ... 121 6.1.7 WAIT_CREATE_RSP state ... 122 6.1.8 WAIT_CREATE state ... 122 6.1.9 WAIT_MOVE_RSP state ... 123 6.1.10 WAIT_MOVE state... 124 6.1.11 WAIT_MOVE_CONFIRM state ... 124

(41)

6.1.12 WAIT_CONFIRM_RSP state ... 125 6.2 Timers events ... 126 6.2.1 RTX... 126 6.2.2 ERTX ... 127 7 General Procedures... 131 7.1 Configuration Process ... 131 7.1.1 Request Path ... 132 7.1.2 Response Path ... 133 7.1.3 Lockstep Configuration Process ... 133 7.1.4 Standard Configuration Process ... 136 7.2 Fragmentation and Recombination... 138 7.2.1 Fragmentation of L2CAP PDUs ... 138 7.2.2 Recombination of L2CAP PDUs ... 139 7.3 Encapsulation of SDUs... 140 7.3.1 Segmentation of L2CAP SDUs ... 140 7.3.2 Reassembly of L2CAP SDUs ... 141 7.3.3 Segmentation and fragmentation... 141 7.4 Delivery of Erroneous L2CAP SDUs ... 142 7.5 Operation with Flushing On ACL-U Logical Links... 142 7.6 Connectionless Data Channel ... 143 7.7 Operation Collision Resolution ... 145 7.8 Aggregating Best Effort Extended Flow Specifications... 145 7.9 Prioritizing Data over HCI ... 147 7.10 Supporting Extended Flow Specification for BR/EDR and BR/

EDR/LE Controllers ... 147 8 Procedures for Flow Control and Retransmission ... 149 8.1 Information Retrieval ... 149 8.2 Function of PDU Types for Flow Control and Retransmission. 149 8.2.1 Information frame (I-frame) ... 149 8.2.2 Supervisory Frame (S-frame) ... 149 8.3 Variables and Sequence Numbers ... 150 8.3.1 Sending peer... 151 8.3.2 Receiving peer ... 152 8.4 Retransmission Mode ... 154 8.4.1 Transmitting frames ... 154 8.4.2 Receiving I-frames ... 156 8.4.3 I-frames pulled by the SDU reassembly function... 157 8.4.4 Sending and receiving acknowledgements... 157 8.4.5 Receiving REJ frames ... 158

(42)

8.4.6 Waiting acknowledgements ... 159 8.4.7 Exception conditions ... 159 8.5 Flow Control Mode ... 161 8.5.1 Transmitting I-frames ... 161 8.5.2 Receiving I-frames ... 162 8.5.3 I-frames pulled by the SDU reassembly function... 162 8.5.4 Sending and receiving acknowledgements... 162 8.5.5 Waiting acknowledgements ... 163 8.5.6 Exception conditions ... 164 8.6 Enhanced Retransmission Mode... 165 8.6.1 Function Of PDU Types ... 165 8.6.2 Rules For Timers ... 167 8.6.3 General Rules for the State Machine ... 169 8.6.4 State Diagram ... 171 8.6.5 States Tables... 171 8.7 Streaming Mode ... 197 8.7.1 Transmitting I-frames ... 197 8.7.2 Receiving I-frames ... 197 8.7.3 Exception Conditions ... 198 9 Procedure for AMP Channel Creation and Handling... 199 9.1 Create Channel ... 199 9.2 Move Channel ... 202

9.2.1 Move Channel Protocol Procedure with Enhanced

Retransmission Mode ... 203 9.2.2 Move Channel Protocol Procedure with Streaming Mode (Initiator is Data Source) ... 206 9.2.3 Move Channel Protocol Procedure with Streaming Mode (Initiator is Data Sink)... 207 9.3 Disconnect Channel ... 210 10 Procedures for Credit Based Flow Control ... 211 10.1 LE Credit Based Flow Control Mode ... 211

Appendix A Configuration MSCs ... 212 Part B

SERVICE DISCOVERY PROTOCOL (SDP) SPECIFICATION

1 Introduction ... 219 1.1 General Description... 219 1.2 Motivation ... 219 1.3 Requirements ... 219

(43)

1.4 Non-requirements and Deferred Requirements... 220 1.5 Conventions... 221 1.5.1 Bit And Byte Ordering Conventions ... 221 2 Overview ... 222 2.1 SDP Client-Server Architecture ... 222 2.2 Service Record ... 223 2.3 Service Attribute ... 225 2.3.1 Attribute ID ... 225 2.3.2 Attribute Value... 226 2.4 Service Class... 226 2.4.1 A Printer Service Class Example ... 227 2.5 Searching for Services ... 227 2.5.1 UUID ... 227 2.5.2 Service Search Patterns ... 228 2.6 Browsing for Services ... 228 2.6.1 Example Service Browsing Hierarchy... 229 3 Data Representation ... 231 3.1 Data Element ... 231 3.2 Data Element Type Descriptor... 231 3.3 Data Element Size Descriptor... 232 3.4 Data Element Examples ... 233 4 Protocol Description ... 234 4.1 Transfer Byte Order ... 234 4.2 Protocol Data Unit Format ... 234 4.3 Partial Responses and Continuation State ... 236 4.4 Error Handling ... 236 4.4.1 SDP_ErrorResponse PDU... 237 4.5 ServiceSearch Transaction... 238 4.5.1 SDP_ServiceSearchRequest PDU ... 238 4.5.2 SDP_ServiceSearchResponse PDU ... 239 4.6 ServiceAttribute Transaction... 241 4.6.1 SDP_ServiceAttributeRequest PDU ... 241 4.6.2 SDP_ServiceAttributeResponse PDU ... 243 4.7 ServiceSearchAttribute Transaction ... 244 4.7.1 SDP_ServiceSearchAttributeRequest PDU... 244 4.7.2 SDP_ServiceSearchAttributeResponse PDU ... 246 5 Service Attribute Definitions... 248 5.1 Universal Attribute Definitions ... 248 5.1.1 ServiceRecordHandle Attribute... 248

(44)

5.1.2 ServiceClassIDList Attribute ... 249 5.1.3 ServiceRecordState Attribute... 249 5.1.4 ServiceID Attribute ... 249 5.1.5 ProtocolDescriptorList Attribute ... 250 5.1.6 AdditionalProtocolDescriptorList Attribute... 251 5.1.7 BrowseGroupList Attribute ... 252 5.1.8 LanguageBaseAttributeIDList Attribute... 252 5.1.9 ServiceInfoTimeToLive Attribute ... 253 5.1.10 ServiceAvailability Attribute... 254 5.1.11 BluetoothProfileDescriptorList Attribute ... 254 5.1.12 DocumentationURL Attribute ... 255 5.1.13 ClientExecutableURL Attribute ... 255 5.1.14 IconURL Attribute... 256 5.1.15 ServiceName Attribute ... 256 5.1.16 ServiceDescription Attribute... 257 5.1.17 ProviderName Attribute... 257 5.1.18 Reserved Universal Attribute IDs... 257 5.2 ServiceDiscoveryServer Service Class Attribute Definitions ... 258 5.2.1 ServiceRecordHandle Attribute... 258 5.2.2 ServiceClassIDList Attribute ... 258 5.2.3 VersionNumberList Attribute ... 258 5.2.4 ServiceDatabaseState Attribute ... 259 5.2.5 Reserved Attribute IDs... 259 5.3 BrowseGroupDescriptor Service Class Attribute Definitions ... 260 5.3.1 ServiceClassIDList Attribute ... 260 5.3.2 GroupID Attribute ... 260 5.3.3 Reserved Attribute IDs... 260 6 Security... 261 Appendix A Background Information ... 262 A.1 Service Discovery ... 262 A.2 Bluetooth Service Discovery ... 262 Appendix B Example SDP Transactions ... 263 B.1 SDP Example 1 – ServiceSearchRequest ... 263 B.2 SDP Example 2 – ServiceAttributeTransaction ... 265 B.3 SDP Example 3 – ServiceSearchAttributeTransaction ... 267

(45)

Part C

GENERIC ACCESS PROFILE

1 Introduction ... 286 1.1 Scope ... 286 1.2 Symbols and Conventions... 287 1.2.1 Requirement Status Symbols... 287 1.2.2 Signaling diagram conventions ... 288 1.2.3 Notation for Timers and Counters ... 288 2 Profile Overview... 289 2.1 Profile Stack... 289 2.2 Profile Roles ... 289

2.2.1 Roles when Operating over BR/EDR Physical

Transport... 289 2.2.2 Roles when Operating over an LE Physical Transport290 2.3 User Requirements and Scenarios... 293 2.4 Profile Fundamentals... 293 2.5 Conformance ... 293 3 User Interface Aspects ... 294 3.1 The User Interface Level ... 294 3.2 Representation of Bluetooth Parameters... 294 3.2.1 Bluetooth Device Address (BD_ADDR) ... 294 3.2.2 Bluetooth Device Name (the user-friendly name) ... 295 3.2.3 Bluetooth Passkey (Bluetooth PIN)... 296 3.2.4 Class of Device ... 297 3.2.5 Appearance Characteristic... 298 3.3 Pairing ... 299 4 Modes – BR/EDR Physical Transport... 300 4.1 Discoverability Modes... 300 4.1.1 Non-discoverable Mode ... 301 4.1.2 Limited Discoverable Mode... 301 4.1.3 General Discoverable Mode ... 303 4.2 Connectability Modes ... 304 4.2.1 Non-connectable Mode... 304 4.2.2 Connectable Mode... 304 4.3 Bondable Modes... 306 4.3.1 Non-bondable Mode ... 306 4.3.2 Bondable Mode... 306 4.4 Synchronizability Modes... 307 4.4.1 Non-synchronizable Mode ... 307

(46)

4.4.2 Synchronizable Mode ... 307 5 Security Aspects – BR/EDR Physical Transport... 308 5.1 Authentication... 308 5.1.1 Purpose... 308 5.1.2 Term on UI level ... 308 5.1.3 Procedure ... 309 5.1.4 Conditions ... 309 5.2 Security Modes... 310 5.2.1 Legacy Security Modes... 311 5.2.2 Security Mode 4 (service level enforced security) ... 312 6 Idle Mode Procedures – BR/EDR Physical Transport... 328 6.1 General Inquiry ... 328 6.1.1 Purpose... 328 6.1.2 Term on UI level ... 328 6.1.3 Description ... 329 6.1.4 Conditions ... 329 6.2 Limited Inquiry ... 329 6.2.1 Purpose... 329 6.2.2 Term on UI level ... 330 6.2.3 Description ... 330 6.2.4 Conditions ... 330 6.3 Name Discovery ... 331 6.3.1 Purpose... 331 6.3.2 Term on UI level ... 331 6.3.3 Description ... 331 6.3.4 Conditions ... 332 6.4 Device Discovery ... 332 6.4.1 Purpose... 332 6.4.2 Term on UI Level... 332 6.4.3 Description ... 333 6.4.4 Conditions ... 333 6.5 Bonding ... 334 6.5.1 Purpose... 334 6.5.2 Term on UI level ... 334 6.5.3 Description ... 334 6.5.4 Conditions ... 336 7 Establishment Procedures – BR/EDR Physical Transport... 337 7.1 Link Establishment... 337

References

Related documents

Simultaneous multiple linear regression analyses were used to assess the relation between the outcome variable: whether the route environment hinders or stimulates

The objective is to contribute the knowledge of Indian APIs manufacturers in the antibiotic supply chain. The study includes the unavailable antibiotics in Sweden and their

However if both nodes modified the same resource simultaneously, the received pre-update resource will not match the current local version of the resource, which means that

Figure 4.9a & 4.9b shows the correlation plots of the live channel users of the watch duration of the current session and the join time and connectivity change rate of the

Figure 2 show that funds having a high Active Share and a high TEV in comparison to their peers are classified as Concentrated Stock Pickers. These funds are active both in the

• IDE4L project pushes the use of communication standards for the distribution network automation. • The focus is on the IEC 61850: data model and protocols (MMS, GOOSE and

In particular, we show that an absorbing microsphere, suspended in a critical binary mixture and optically trapped, is able to perform rotational motion around the beam waist and

Fund alphas were found to be in accord- ance with the efficient market hypothesis, but we do not reject a higher mean of Sharpe Ratios for passive funds in our sample when