Beruflich Dokumente
Kultur Dokumente
Date / Year-Month-Day
Approved
Revision
Document No
2011-12-27
Adopted
V10r00
HOGP_SPEC
Prepared By
E-mail Address
HID WG
hid-main@bluetooth.org
N.B.
Abstract
This profile defines how a device with Bluetooth low energy wireless
communications can support HID services over the Bluetooth low
energy protocol stack using the Generic Attribute Profile.
Page 2 of 38
Revision History
Revision
Date
Comments
D09r01
D09r02
D09r03
D09r04
2011-06-30
2011-07-05
2011-07-08
2011-07-15
D09r05
2011-07-15
D09r06
D09r07
D09r08
D09r09
D09r10
D09r11
D09r12
D09r13
D09r14
D09r15
D09r16
D09r17
D09r18
D09r19
D09r20
D09r21
D09r22
D09r23
D09r24
2011-07-21
2011-08-04
2011-08-09
2011-08-10
2011-08-11
2011-08-11
2011-08-12
2011-08-17
2011-08-17
2011-08-19
2011-08-22
2011-08-26
2011-08-29
2011-09-05
2011-09-06
2011-09-07
2011-09-08
2011-09-10
2011-09-12
D09r25
2001-09-13
D09r26
D09r27
2011-09-13
2011-09-14
D09r28
2011-09-14
D09r29
D09r30
2011-09-16
2011-09-16
Page 3 of 38
Revision
Date
Comments
D09r31
D09r32
D09r33
D09r34
D09r35
2011-09-17
2011-09-19
2011-09-20
2011-09-26
2011-09-29
D09r36
2011-09-29
D09r37
D09r38
2011-10-09
2011-10-15
D09r39
2011-10-15
D09r40
2011-10-25
D09r41
2011-11-02
D09r42
2011-11-08
D10r00
2011-11-23
D10r01
2011-12-07
V10r00
2011-12-27
Contributors
Name
Company
Krishnan Nair
Simon Finch
Robin Heydon
Joe Decuir
Amit Gupta
Chris Church
Alain Michaud
CSR
CSR
CSR
CSR
CSR
CSR
Microsoft
Company
Jacques Chassot
David Edwin
Sandeep Kamath
Karl Torvmark
Len Ott
Mike Tsai
Rob Hulvey
Logitech
Nordic
TI
TI
Socket Mobile
Qualcomm Atheros
Broadcom
Page 4 of 38
Page 5 of 38
Copyright 2011. 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, Inc., Nokia Corporation, and Toshiba Corporation. *Other third-party brands and
names are the property of their respective owners.
Page 6 of 38
Document Terminology
The Bluetooth SIG has adopted Section 13.1 of the IEEE Standards Style Manual,
which dictates use of the words ``shall, ``should, ``may, and ``can in the
development of documentation, as follows:
The word shall is used to indicate mandatory requirements strictly to be followed in
order to conform to the standard and from which no deviation is permitted (shall equals
is required to).
The use of the word must is deprecated and shall not be used when stating mandatory
requirements; must is used only to describe unavoidable situations.
The use of the word will is deprecated and shall not be used when stating mandatory
requirements; will is only used in statements of fact.
The word should is used to indicate that among several possibilities one is
recommended as particularly suitable, without mentioning or excluding others; or that a
certain course of action is preferred but not necessarily required; or that (in the negative
form) a certain course of action is deprecated but not prohibited (should equals is
recommended that).
The word may is used to indicate a course of action permissible within the limits of the
standard (may equals is permitted).
The word can is used for statements of possibility and capability, whether material,
physical, or causal (can equals is able to).
Page 7 of 38
Table of Contents
1
Introduction .................................................................................................................................... 9
Profile Dependencies ................................................................................................................ 9
Conformance ............................................................................................................................. 9
Configuration ................................................................................................................................ 10
2.1
Roles ........................................................................................................................................ 10
2.2
Role/Service Relationships ...................................................................................................... 10
2.3
Concurrent Role Limitations and Restrictions ......................................................................... 11
2.4
Topology Limitations and Restrictions ..................................................................................... 11
2.5
Multiple Service Instances ....................................................................................................... 11
HID Device Requirements ........................................................................................................... 13
3.1
HID Service.............................................................................................................................. 13
3.1.1 Dependent Service Requirements .................................................................................... 13
3.1.2 Service Type ..................................................................................................................... 13
3.1.3 Service UUIDs AD Type ................................................................................................... 13
3.1.4 Local Name AD Type ........................................................................................................ 14
3.1.5 Appearance AD Type ........................................................................................................ 14
3.1.6 Additional Security Requirements ..................................................................................... 14
3.2
Battery Service ........................................................................................................................ 14
3.2.1 Service Type ..................................................................................................................... 14
3.2.2 Additional Security Requirements ..................................................................................... 14
3.3
Device Information Service ...................................................................................................... 14
3.3.1 Service Type ..................................................................................................................... 14
3.3.2 Mandatory Characteristics ................................................................................................ 15
3.3.3 Additional Security Requirements ..................................................................................... 15
3.4
Scan Parameters Service ........................................................................................................ 15
3.4.1 Additional Security Requirements ..................................................................................... 15
HID Host Requirements and Behaviors ..................................................................................... 16
4.1
GATT Sub-Procedure Requirements ...................................................................................... 17
4.2
Scan Parameters Profile Support. ........................................................................................... 17
4.2.1 Additional Security Requirements ..................................................................................... 17
4.3
Service Discovery - Boot Host ................................................................................................. 17
4.3.1 HID Service Discovery ...................................................................................................... 18
4.3.2 Device Information Service Discovery .............................................................................. 18
4.3.3 Battery Service Discovery ................................................................................................. 18
4.4
Characteristic Discovery Boot Host ...................................................................................... 18
4.4.1 HID Service Characteristic Discovery ............................................................................... 18
4.4.2 Device Information Service Characteristic Discovery ....................................................... 19
4.4.3 Battery Service Characteristic Discovery .......................................................................... 19
4.5
Service Discovery Report Host ............................................................................................ 19
4.5.1 HID Service Discovery ...................................................................................................... 20
4.5.2 Device Information Service Discovery .............................................................................. 20
4.5.3 Battery Service Discovery ................................................................................................. 20
4.6
Characteristic Discovery Report Host .................................................................................. 20
4.6.1 HID Service Characteristic Discovery ............................................................................... 20
4.6.2 Device Information Service Characteristic Discovery ....................................................... 21
4.6.3 Battery Service Characteristic Discovery .......................................................................... 21
4.7
Report Map Behavior ............................................................................................................... 21
4.8
Report Behavior ....................................................................................................................... 22
4.8.1 Translation Layer .............................................................................................................. 22
4.9
HID Control Point Behavior ..................................................................................................... 23
4.10
HID Information Behavior ........................................................................................................ 23
4.11
Protocol Mode Behavior .......................................................................................................... 23
1.1
1.2
Page 8 of 38
4.12
Boot Keyboard Input Report Behavior ..................................................................................... 23
4.13
Boot Keyboard Output Report Behavior .................................................................................. 23
4.14
Boot Mouse Input Report Behavior ......................................................................................... 24
4.15
Battery Level Behavior ............................................................................................................ 24
4.16
PnP ID Behavior ...................................................................................................................... 24
4.17
Information Sharing between HID Hosts ................................................................................. 24
5
Connection Establishment .......................................................................................................... 25
5.1
HID Device Requirements ....................................................................................................... 25
5.1.1 Device Discovery .............................................................................................................. 25
5.1.2 Connection Procedure for Non-bonded Devices .............................................................. 25
5.1.3 Device-Initiated Connection Procedure for Bonded Devices ............................................ 26
5.1.4 Host-Initiated Connection Procedure for Bonded Devices ............................................... 27
5.1.5 Link Loss Reconnection Procedure .................................................................................. 28
5.1.6 Idle Connection ................................................................................................................. 28
5.2
Host Requirements .................................................................................................................. 28
5.2.1 Device Discovery .............................................................................................................. 28
5.2.2 Connection Procedure for Non-bonded Devices .............................................................. 29
5.2.3 Device-Initiated Connection Procedure for Bonded Devices ............................................ 30
5.2.4 Host-Initiated Connection Procedure for Bonded Devices ............................................... 30
5.2.5 Link Loss Reconnection Procedure .................................................................................. 31
5.2.6 Fast Connection Interval ................................................................................................... 32
6
Security Considerations .............................................................................................................. 33
6.1
Device Security Considerations............................................................................................... 33
6.2
Host Security Considerations .................................................................................................. 33
7
List of Figures .............................................................................................................................. 34
8
List of Tables ................................................................................................................................ 35
9
Acronyms and Abbreviations ..................................................................................................... 36
10
References .................................................................................................................................... 37
11
Appendix A ................................................................................................................................... 38
Page 9 of 38
1 Introduction
The HID over GATT profile defines the procedures and features to be used by Bluetooth
low energy HID Devices using GATT and Bluetooth HID Hosts using GATT.
This profile is an adaptation of the USB HID specification [2] to operate over a Bluetooth
low energy wireless link.
This profile shall operate over an LE transport only. For BR/EDR, the Bluetooth Human
Interface Device Profile Specification [9] shall be used.
1.1
Profile Dependencies
This profile requires the Generic Attribute Profile (GATT), the Battery Service, the
Device Information Service, and the Scan Parameters Profile.
This specification can be used with Bluetooth Core Specification Version 4.0 [3] or later.
1.2 Conformance
If conformance to this profile is claimed, all capabilities indicated as mandatory for this
profile shall be supported in the specified manner (process-mandatory). This also
applies for all optional and conditional capabilities for which support is indicated. All
mandatory capabilities, and optional and conditional capabilities for which support is
indicated, are subject to verification as part of the Bluetooth qualification program.
Page 10 of 38
2 Configuration
2.1 Roles
This profile defines three roles: HID Device, Boot Host, and Report Host.
HID Device
Boot Host
HID Service
Device
Information
Service
Scan
Parameters
Service
Battery Service
Other optional
Service(s)
Note: Profile roles are represented by yellow boxes and services are represented by
orange boxes.
Page 11 of 38
HID Device
Report Host
HID Service
Device
Information
Service
Scan
Parameters
Service
Scan
Parameters
Profile
Battery Service
Other optional
Service(s)
Note: Profile roles are represented by yellow boxes and services are represented by
orange boxes.
The Report Host supports the Scan Client role of the Scan Parameters Profile.
The Boot Host shall not support the Scan Client role of the Scan Parameters Profile.
The HID Device has one or more instances of the HID Service, one or more instances
of the Battery Service, a single instance of the Device Information Service, and
optionally one instance of the Scan Parameters Service as part of Scan Server role of
the Scan Parameters Profile. The HID Device may optionally have single or multiple
instances of other services.
Multiple service instances shall not be supported for the following services:
Page 12 of 38
Multiple service instances of the HID Service may be supported to allow implementers
to define composite HID Devices whose combined functions require more than 512
octets of data to describe.
Multiple service instances of the following may be supported, but are not considered
as a part of this profile:
Any Service other than HID Service, Device Information Service, or Scan
Parameters Service.
Page 13 of 38
Requirement
M
Battery Service
Page 14 of 38
the advertising data. Section 5.2.1 describes how a HID Host can take advantage of this
feature.
3.1.4 Local Name AD Type
For enhanced user experience a HID Device should include its Local Name in its
Advertising Data or Scan Response Data. Section 5.2.1 describes how a HID Host can
take advantage of this feature.
3.1.5 Appearance AD Type
For enhanced user experience a HID Device should include its Appearance in its
Advertising Data or Scan Response Data. Section 5.2.1 describes how a HID Host can
take advantage of this feature.
3.1.6 Additional Security Requirements
This profile defines additional security requirements in Section 6.1 beyond those defined
in the HID Service.
Page 15 of 38
Page 16 of 38
Section
Reference
Boot Host
Requirement
Report Host
Requirement
Service Discovery
4.3/4.5
4.3.1/4.5.1
4.3.2/4.5.2
4.3.3/4.5.3
Characteristic Discovery
- HID Service Characteristic Discovery
4.4/4.6
4.6.1
O
O
M
M
4.6.2
4.6.3
Report Map
4.7
Report
4.8
4.4.1.2/4.12
C.2/C.3
4.4.1.3/4.13
C.2/C.3
4.4.1.4/4.14
C.2
HID Information
HID Control Point
4.10
4.9
X
X
M
C.1
Protocol Mode
4.4.1/4.11
M
Non-HID Service characteristic defined within
4.8.1
X
Report Map
C.1: Mandatory if the Host supports Suspend Mode, otherwise optional.
C.2: Mandatory to support at least one of these features.
C.3: If one of these features is supported, both features shall be supported.
O
M
Requirements marked with M are mandatory, O are optional, and X are excluded
(not permitted).
Page 17 of 38
Boot Host
Requirement
C.1
C.1
Requirements marked with M are mandatory, O are optional, and X are excluded
(not permitted).
Page 18 of 38
The Boot Host may discover the Protocol Mode characteristic for each HID Service on
the GATT Server.
4.4.1.2
The Boot Host may discover the Boot Keyboard Input Report characteristic for each HID
Service on the GATT Server.
The Boot Host shall discover the associated Client Characteristic Configuration
Descriptor of all Boot Keyboard Input Report characteristics using the GATT Discover
All Characteristic Descriptors sub-procedure.
4.4.1.3
The Boot Host may discover the Boot Keyboard Output Report characteristic for each
HID Service on the GATT Server.
Page 19 of 38
The Boot Host may discover the Boot Mouse Input Report characteristic for each HID
Service on the GATT Server.
The Boot Host shall discover the associated Client Characteristic Configuration
Descriptor of all Boot Mouse Input Report characteristics using the GATT Discover All
Characteristic Descriptors sub-procedure.
4.4.2 Device Information Service Characteristic Discovery
The Boot Host may use either the GATT Discover All Characteristics of a Service subprocedure or the GATT Discover Characteristics by UUID sub-procedure to discover the
following characteristic of the Device Information Service, if characteristic discovery is
supported:
PnP ID characteristic (section 4.4.2.1)
If characteristic discovery is not supported, the Boot Host may use the GATT Read
Using Characteristic UUID sub-procedure to read the above Device Information Service
characteristic, replacing normal characteristic discovery.
4.4.2.1
PnP ID Characteristic
Page 20 of 38
Report Characteristics
Page 21 of 38
The Report Host shall discover all HID Control Point characteristics, if the Report Host
supports Suspend mode, to allow the Report Host to send control commands to HID
Devices whenever the Report Host enters a low power Suspend Mode.
4.6.1.4
The Report Host may discover the Protocol Mode characteristic for each HID Service on
the GATT server.
4.6.2 Device Information Service Characteristic Discovery
The Report Host shall discover characteristics of the Device Information Service.
In order for the Report Host to discover the characteristics of the Device Information
Service, it shall use either the GATT Discover All Characteristics of a Service subprocedure or the GATT Discover Characteristics by UUID sub-procedure.
4.6.2.1
PnP ID Characteristic
The Report Host shall discover all Battery Level characteristics to find Battery Level
characteristics referenced within the External Report Reference characteristic descriptor
and their associated Report Reference characteristic descriptors.
Page 22 of 38
Page 23 of 38
Page 24 of 38
Page 25 of 38
5 Connection Establishment
This section describes the connection establishment and connection termination
procedures used by a HID Host and HID Device in certain scenarios.
The advertising interval and time to perform advertising should be configured with
consideration for user expectations of connection establishment time.
The HID Device shall accept any valid values for connection interval and connection
latency set by the HID Host, as a fast connection interval may be requested in order for
the HID Host to quickly perform service discovery and enable encryption.
After service discovery and encryption, the HID Device should request to change to the
preferred connection parameters that best suit its use case.
To request a change in the connection parameters, the HID Device shall use the L2CAP
Connection Parameter Update Request as described in [Vol.3] Part A, Section 4.20 of
[3].
If the HID Host receives the L2CAP Connection Parameter Update request but has not
yet completed service discovery or has not completed encryption, the HID Host may
send the L2CAP Connection Parameter Update Response with the Result field
indicating that the request has been rejected. In this case, the HID Device may wait and
re-send a new L2CAP Connection Parameter Update Request no sooner than
TGAP(conn_param_timeout) (see [3] Volume 3, Part C, Section 9.3.9.2) seconds later.
If a connection is not established within a time limit defined by the HID Device, the HID
Device may exit the GAP connectable mode.
Page 26 of 38
The HID Device shall be in a bondable mode during this procedure to optimize
connecting to the HID Host, again using the procedure described in Section 5.1.3 and
section 5.1.4.
If a bond is created, the HID Device should write the address of the HID Host in the HID
Device controllers white list and set the HID Device controllers advertising filter policy
to process scan and connection requests only from devices in the White List.
Once connected, the HID Device should wait for an idle connection timeout (refer to
section 5.1.6) to allow the HID Host to complete configuration.
If the Client Characteristic Configuration descriptor has been configured to enable
notifications but the HID Device has no data to transfer, the HID Device should wait for
an idle connection timeout (refer to section 5.1.6) to allow the HID Host to terminate the
connection once its actions are complete.
If the Client Characteristic Configuration descriptor has been configured to enable
notifications and the HID Device has data to transfer, after it has completed its transfer,
it should perform the GAP Terminate Connection procedure after waiting for an idle
connection timeout.
5.1.3 Device-Initiated Connection Procedure for Bonded Devices
This procedure is used after the HID Device has bonded with the Host using the
connection procedure in section 5.1.2. The HID Device may initiate the connection
procedure when commanded by the user or autonomously when a notification is
pending.
A HID Device shall enter the GAP Undirected Connectable Mode or Directed
Connectable Mode either when commanded by the user to initiate a connection to a
HID Host or when the HID Device has one or more notifications to send to a previously
connected HID Host.
The HID Device when bonded should use whichever advertising filter policy it has
previously configured when using the connection procedure in section 5.1.2.
The HID Device should use the recommended advertising interval values shown in
Table 5.2. The interval values in the first row are designed to attempt fast connection
during the first 1.28 seconds; however, if a connection is not established within that
time, the interval values in the second row are designed to reduce power consumption
for devices that continue to advertise.
Advertising Duration
1.28 seconds (low latency) Option 1
30 seconds (higher latency) - Option 2
Parameter
Value
Advertising mode
Directed
Advertising mode
Undirected
Advertising Interval
20 ms to 30 ms
Table 5.2: Recommended advertising parameters for device-initiated connection of bonded devices
The advertising interval and time to perform advertising should be configured with
consideration for user expectations of connection establishment time.
The HID Device shall accept any valid values for connection interval and connection
latency set by the HID Host until service discovery, bonding and/or encryption is
Page 27 of 38
complete. Only after that should the HID Device request to change to its preferred
connection parameters which best suit its use case.
If a connection is not established within a time limit defined by the HID Device, the HID
Device may exit the GAP connectable mode or switch to the Advertising parameters
shown in Table 5.2 if NormallyConnectable is TRUE.
When a connection is established with a notification pending, the HID Device shall send
one or more notifications to the HID Host.
If the Client Characteristic Configuration descriptor has been configured to enable
notifications but the HID Device has no data to transfer, it should wait for an idle
connection timeout (refer to section 5.1.6) to allow the HID Host to terminate the
connection once its actions are complete.
If the Client Characteristic Configuration descriptor has been configured to enable
notifications and the HID Device has data to transfer, after it has completed its transfer,
it should perform the GAP Terminate Connection procedure after waiting for an idle
connection timeout.
Refer to Appendix A for details on NormallyConnectable behavior.
5.1.4 Host-Initiated Connection Procedure for Bonded Devices
This procedure is used after the HID Device has bonded with the HID Host using the
connection procedure in section 5.1.2. The HID Host may initiate the connection
procedure when commanded by the user or autonomously when data such as LED
status needs to be transmitted to the HID Device.
A HID Device that wishes to be able to accept connections initiated by bonded Report
Hosts shall set the NormallyConnectable flag to TRUE in the HID Information
characteristic. When NormallyConnectable is TRUE, a HID Device bonded to at least
one Report Host shall be in the GAP Undirected Connectable Mode whenever it is not
connected to any HID Host.
The HID Device when bonded should use whichever advertising filter policy it has
previously configured when using the connection procedure in section 5.1.2.
The HID Device should use the recommended advertising interval values shown in
Table 5.3.
Advertising Duration
Permanent (reduced power)
Parameter
Value
Advertising mode
Undirected
Advertising Interval
1 s to 2.5 s
Table 5.3: Recommended Advertising Parameters for Host-Initiated Connection of Bonded Devices
The advertising interval and time to perform advertising should be configured with
consideration for user expectations of connection establishment time.
The HID Device shall accept any valid values for connection interval and connection
latency set by the HID Host until service discovery, bonding and encryption is complete.
Only after that should the HID Device request to change to its preferred connection
parameters which best suit its use case.
Page 28 of 38
When a connection is established with a notification pending, the HID Device shall send
one or more notifications to the HID Host.
If the Client Characteristic Configuration descriptor has been configured to enable
notifications but the HID Device has no data to transfer, it should wait for an idle
connection timeout (refer to section 5.1.6) to allow the HID Host to terminate the
connection once its actions are complete.
If the Client Characteristic Configuration descriptor has been configured to enable
notifications and the HID Device has data to transfer, after it has completed its transfer,
it should perform the GAP Terminate Connection procedure after waiting for an idle
connection timeout.
Refer to Appendix A for details on NormallyConnectable behavior.
5.1.5 Link Loss Reconnection Procedure
When a connection is terminated due to link loss a HID Device should attempt to
reconnect to the HID Host by entering a GAP connectable mode using the
recommended advertising interval values shown in Table 5.2. The HID Device may also
wait until it has data to transmit or until the next user activity is detected.
5.1.6 Idle Connection
The HID Device may perform the GAP Terminate Connection procedure if the
connection is idle for a time period, which is implementation specific. If the HID Device
supports the Scan Parameters Service, the Report Host shall follow the procedures
defined in the Scan Parameters Profile to write its intended scanning behavior to the
Scan Interval Window characteristic, and should not terminate the connection, but
should wait for the HID Device to terminate the connection.
The HID Device may use the scan parameters written to the Scan Interval Window
characteristic by the Report Host when deciding whether to remain connected to the
Report Host or to terminate the connection, depending on the power consumption or
reconnection latency requirements of the HID Device.
Page 29 of 38
Parameter
Scan Interval
Scan Window
Table 5.4: Recommended Scan Parameters for Non-bonded Devices
Value
22.5ms
11.25ms
The HID Host shall bond with the HID Device during this procedure to optimize
reconnecting to the HID Device using the procedure in section 5.2.3 and section 5.2.4.
If a bond is created, the HID Host should write the address of the HID Device in the HID
Host controllers white list and set the HID Host controllers initiator filter policy to
process connectable advertisement packets.
If the Client Characteristic Configuration descriptor has been configured to enable
notifications, the HID Host should wait for an idle connection timeout (refer to section
5.1.6) before terminating the connection in case the HID Device has any notifications
pending.
The HID Device typically terminates the connection after completion of data transfer, but
may wait for an idle connection timeout (refer to section 5.1.6) to allow the HID Host to
terminate the connection once its actions are complete.
Page 30 of 38
Parameter
Value
Scan Interval
1.28s
Scan Window
11.25ms
Table 5.5: Recommended Scan Parameters for Device-Initiated Connection of Bonded Devices
The HID Host should use a scan window and scan interval suitable to its power and
connection time requirements. Increasing the scan window increases the power
consumption, but decreases the connection time.
The scan interval and scan window should be configured with consideration for user
expectations of connection establishment time.
If the Client Characteristic Configuration descriptor has been configured to enable
notifications, the HID Host should wait for an idle connection timeout (see section 5.1.6)
before terminating the connection in case the HID Device has any notifications pending.
The HID Device typically terminates the connection after completion of data transfer, but
may wait for an idle connection timeout (refer to section 5.1.6) to allow the HID Host to
terminate the connection once its actions are complete.
The HID Host shall start encryption after connection establishment to verify the status of
the bond.
If encryption fails upon connection establishment (i.e., the bond no longer exists), the
HID Host must, after user interaction, perform bonding, perform service discovery
(unless the HID Host had previously determined that the HID Device did not have the
Service Changed characteristic), and reconfigure the HID Device Client
Characteristic Configuration descriptor before using any of the this profiles services in
case the previous configuration was altered or lost.
5.2.4 Host-Initiated Connection Procedure for Bonded Devices
This procedure is used after the HID Host has bonded with the HID Device using the
connection procedure in section 5.2.2.
The HID Host may initiate the connection procedure when commanded by the user or
autonomously when data such as LED status needs to be transmitted to the HID
Device.
Page 31 of 38
Note: The Report Host should only attempt to connect to a bonded HID Device if the
HID Device has the NormallyConnectable flag set to TRUE.
A HID Host may use one of the connection procedures (see section 5.2.2) based on its
connectivity requirements.
The HID Host should use the recommended scan interval and scan window values
shown in Table 5.6.
Scan Duration
30 seconds (fast connection)
Parameter
Value
Scan Interval
30ms to 60ms*
Scan Window
30ms
Table 5.6: Recommended Scan Parameters for Host-Initiated Connection of Bonded Devices
* A scan interval of 60ms is recommended when the HID Host is supporting other
operations to provide a 50% scan duty cycle versus 100% scan duty cycle.
If a connection is not established within that time, the HID Host may exit the GAP
connection procedure.
The HID Host should use a scan window and scan interval suitable to its power and
connection time requirements. Increasing the scan window increases the power
consumption, but decreases the connection time.
The scan interval and scan window should be configured with consideration for user
expectations of connection establishment time.
If the Client Characteristic Configuration descriptor has been configured to enable
notifications, the Host should wait for an idle connection timeout (refer to section 5.1.6)
before terminating the connection in case the HID Device has any notifications pending.
The HID Device typically terminates the connection after completion of data transfer, but
may wait for an idle connection timeout (refer to section 5.1.6) to allow the HID Host to
terminate the connection once its actions are complete.
The HID Host shall start encryption after connection establishment to verify the status of
the bond.
If encryption fails upon connection establishment (i.e. the bond no longer exists), the
HID Host must, after user interaction, perform bonding, perform service discovery
(unless the Host had previously determined that the HID Device did not have the
Service Changed characteristic), and configure the HID Device Client Characteristic
Configuration descriptor again before using any of the services referenced by this profile
in case the configuration was altered or lost.
Refer to Appendix A for details on NormallyConnectable behavior.
5.2.5 Link Loss Reconnection Procedure
When a connection is terminated due to link loss, the HID Host should attempt to
reconnect to the HID Device using any of the GAP connection procedures (see section
5.2.2). The Report Host should use the parameters in Table 5.6 if the HID Device has
set the NormallyConnectable flag to TRUE.
Page 32 of 38
Value
7.5 ms
50 ms
If, at any time, lower latency is required, for example to perform encryption key refresh
or encryption setup, this should be preceded with a connection parameter update to the
minimum and maximum connection interval values defined in Table 5.7 and a slave
latency value of zero. This fast connection interval should be maintained as long as
lower latency is required. Afterwards, the connection parameters should return to those
specified by the HID Device using the L2CAP Connection Parameter Update procedure.
Page 33 of 38
6 Security Considerations
This section describes the security considerations for a HID Device and HID Host.
Page 34 of 38
7 List of Figures
Figure 2.1: Boot Host and HID Device Roles/Service Relationship ........................................................... 10
Figure 2.2: Report Host and HID Device Roles/Service Relationships ...................................................... 11
Page 35 of 38
8 List of Tables
Table 3.1: HID Device Service Requirements ............................................................................................ 13
Table 4.1: Boot Host and Report Host Requirements ................................................................................ 16
Table 4.2: Additional GATT Sub-Procedure Requirements ........................................................................ 17
Table 5.1: Recommended Advertising Parameters for Non-bonded Devices ............................................ 25
Table 5.2: Recommended Advertising Parameters for Device-Initiated Connection of Bonded Devices .. 26
Table 5.3: Recommended Advertising Parameters for Host-Initiated Connection of Bonded Devices ...... 27
Table 5.4: Recommended Scan Parameters for Non-bonded Devices ...................................................... 29
Table 5.5: Recommended Scan Parameters for Device-Initiated Connection of Bonded Devices ............ 30
Table 5.6: Recommended Scan Parameters for Host-Initiated Connection of Bonded Devices ............... 31
Table 5.7: Recommended Fast Connection Parameters ............................................................................ 32
Table 9-1: Acronyms and Abbreviations ..................................................................................................... 36
Table 11-1: HID Host and HID Device Connection Behavior ..................................................................... 38
Page 36 of 38
Page 37 of 38
10 References
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
Page 38 of 38
11 Appendix A
Table 11.1 details the Host and Device connection behavior as a function of
NormallyConnectable bit of the HID Information characteristic.
Normally
Connectable
FALSE
LE reconnection requirements
Device:
- if data to transmit: high duty-cycle
advertising for 5s
- if idle: radio off
Host:
- low duty-cycle scanning
TRUE
Device:
- if data to transmit: high duty-cycle
advertising for 5s
- if idle: low duty-cycle advertising
Host:
- if data to transmit: high duty-cycle scanning
for 5s
- if idle: low duty-cycle scanning
Table 11.1: HID Host and HID Device Connection Behavior
Comments
Most common
configuration
In this case, it is
preferred to keep the LE
HID connection active
always.