Link Control Commands (OGF = 0x01) |
No |
Command Name |
OpCode |
Description |
1 |
Inquiry |
0x0001 |
Command used to enter Inquiry mode where
it discovers other Bluetooth devices. |
2 |
Inquiry_Cancel |
0x0002 |
Command to cancel the Inquiry mode in
which the Bluetooth device is in. |
3 |
Periodic_Inquiry_Mode |
0x0003 |
Command to set the device to enter
Inquiry modes periodically according to the time interval set. |
4 |
Exit_Periodic_Inquiry_Mode |
0x0004 |
Command to exit the periodic Inquiry mode |
5 |
Create_Connection |
0x0005 |
Command to create an ACL connection to
the device specified by the BD_ADDR in the parameters. |
6 |
Disconnect |
0x0006 |
Command to terminate the existing
connection to a device |
7 |
Add_SCO_Connection |
0x0007 |
Create an SCO connection defined by the
connection handle parameters. |
8 |
Accept_Connection_Request |
0x0009 |
Command to accept a new connection
request |
9 |
Reject_Connection_Request |
0x000A |
Command to reject a new connection
request |
10 |
Link_Key_Request_Reply |
0x000B |
Reply command to a link key request event
sent from controller to the host |
11 |
Link_Key_Request_Negative_Reply |
0x000C |
Reply command to a link key request event
from the controller to the host if there is no link key associated
with the connection. |
12 |
PIN_Code_Request_Reply |
0x000D |
Reply command to a PIN code request event
sent from a controller to the host. |
13 |
PIN_Code_Request_Negative_Reply |
0x000E |
Reply command to a PIN code request event
sent from the controller to the host if there is no PIN associated
with the connection. |
14 |
Change_Connection_Packet_Type |
0x000F |
Command to change the type of packets to
be sent for an existing connection. |
15 |
Authentication_Requested |
0x0011 |
Command to establish authentication
between two devices specified by the connection handle. |
16 |
Set_Connection_Encryption |
0x0013 |
Command to enable or disable the link
level encryption. |
17 |
Change_Connection_Link_Key |
0x0015 |
Command to force the change of a link key
to a new one between two connected devices. |
18 |
Master_Link_Key |
0x0017 |
Command to force two devices to use the
master's link key temporarily. |
19 |
Remote_Name_Request |
0x0019 |
Command to determine the user friendly
name of the connected device. |
20 |
Read_Remote_Supported_Features |
0x001B |
Command to determine the features
supported by the connected device. |
21 |
Read_Remote_Version_Information |
0x001D |
Command to determine the version
information of the connected device. |
22 |
Read_Clock_Offset |
0x001F |
Command to read the clock offset of the
remote device. |
HCI Policy Command (OGF=0x02) |
1 |
Hold_Mode |
0x0001 |
Command to place the current or remote
device into the Hold mode state. |
2 |
Sniff_Mode |
0x0003 |
Command to place the current or remote
device into the Sniff mode state. |
3 |
Exit_Sniff_Mode |
0x0004 |
Command to exit the current or remote
device from the Sniff mode state. |
4 |
Park_Mode |
0x0005 |
Command to place the current or remote
device into the Park mode state. |
5 |
Exit_Park_Mode |
0x0006 |
Command to exit the current or remote
device from the Park mode state. |
6 |
QoS_Setup |
0x0007 |
Command to setup the Quality of Service
parameters of the device. |
7 |
Role_Discovery |
0x0009 |
Command to determine the role of the
device for a particular connection. |
8 |
Switch_Role |
0x000B |
Command to allow the device to switch
roles for a particular connection. |
9 |
Read_Link_Policy_Settings |
0x000C |
Command to determine the link policy that
the LM can use to establish connections. |
10 |
Write_Link_Policy_Settings |
0x000D |
Command to set the link policy that the
LM can use for a particular connection. |
Host Controller and Baseband Commands (OGF=0x03) |
1 |
Set_Event_Mask |
0x0001 |
Command to set which events are generated
by the HCI for the host. |
2 |
Reset |
0x0003 |
Command to reset the host controller,
link manager and the radio module. |
3 |
Set_Event_Filter |
0x0005 |
Command used by host to set the different
types of event filters that the host needs to receive. |
4 |
Flush |
0x0008 |
Command used to flush all pending data
packets for transmission for a particular connection handle. |
5 |
Read_PIN_Type |
0x0009 |
Command used by host to determine if the
link manager assumes that the host requires a variable PIN type or
fixed PIN code. PIN is used during pairing. |
6 |
Write_PIN_Type |
0x000A |
Command used by host to write to the host
controller on the PIN type supported by the host. |
7 |
Create_New_Unit_Key |
0x000B |
Command used to create a new unit key. |
8 |
Read_Stored_Link_Key |
0x000D |
Command to read the link key stored in
the host controller. |
9 |
Write_Stored_Link_Key |
0x0011 |
Command to write the link key to the host
controller. |
10 |
Delete_Stored_Link_Key |
0x0012 |
Command to delete a stored link key in
the host controller. |
11 |
Change_Local_Name |
0x0013 |
Command to modify the user friendly name
of the device. |
12 |
Read_Local_Name |
0x0014 |
Command to read the user friendly name of
the device. |
13 |
Read_Connection_Accept_Timeout |
0x0015 |
Command to determine the timeout session
before the host denies and rejects a new connection request. |
14 |
Write_Connection_Accept_Timeout |
0x0016 |
Command to set the timeout session before
a device can deny or reject a connection request. |
15 |
Read_Page_Timeout |
0x0017 |
Command to read the timeout value where a
device will wait for a connection acceptance before sending a
connection failure is returned. |
16 |
Write_Page_Timeout |
0x0018 |
Command to write the timeout value where
a device will wait for a connection acceptance before sending a
connection failure is returned. |
17 |
Read_Scan_Enable |
0x0019 |
Command to read the status of the
Scan_Enable configuration. |
18 |
Write_Scan_Enable |
0x001A |
Command to set the status of the
Scan_Enable configuration. |
19 |
Read_Page_Scan_Activity |
0x001B |
Command to read the value of the
Page_Scan_Interval and Page_Scan_Window configurations. |
20 |
Write_Page_Scan_Activity |
0x001C |
Command to write the value of the
Page_Scan_Interval and Page_Scan_Window configurations. |
21 |
Read_Inquiry_Scan_Activity |
0x001D |
Command to read the value of the
Inquiry_Scan_Interval and Inquiry_Scan_Window configurations. |
22 |
Write_Inquiry_Scan_Activity |
0x001E |
Command to set the value of the
Inquiry_Scan_Interval and Inquiry_Scan_Window configurations. |
23 |
Read_Authentication_Enable |
0x001F |
Command to read the Authentication_Enable
parameter. |
24 |
Write_Authentication_Enable |
0x0020 |
Command to set the Authentication_Enable
parameter. |
25 |
Read_Encryption_Mode |
0x0021 |
Command to read the Encryption_Mode
parameter. |
26 |
Write_Encryption_Mode |
0x0022 |
Command to write the Encryption_Mode
parameter. |
27 |
Read_Class_Of_Device |
0x0023 |
Command to read the Class_Of_Device
parameter. |
28 |
Write_Class_Of_Device |
0x0024 |
Command to set the Class_Of_Device
parameter. |
29 |
Read_Voice_Setting |
0x0025 |
Command to read the Voice_Setting
parameter. Used for voice connections. |
30 |
Write_Voice_Setting |
0x0026 |
Command to set the Voice_Setting
parameter. Used for voice connections. |
31 |
Read_Automatic_Flush_Timeout |
0x0027 |
Command to read the Flush_Timeout
parameter. Used for ACL connections only. |
32 |
Write_Automatic_Flush_Timeout |
0x0028 |
Command to set the Flush_Timeout
parameter. Used for ACL connections only. |
33 |
Read_Num_Broadcast_Retransmissions |
0x0029 |
Command to read the number of time a
broadcast message is retransmitted. |
34 |
Write_Num_Broadcast_Retransmissions |
0x002A |
Command to set the number of time a
broadcast message is retransmitted. |
35 |
Read_Hold_Mode_Activity |
0x002B |
Command to set the Hold_Mode activity to
instruct the device to perform an activity during hold mode. |
36 |
Write_Hold_Mode_Activity |
0x002C |
Command to set the Hold_Mode_Activity
parameter. |
37 |
Read_Transmit_Power_Level |
0x002D |
Command to read the power level required
for transmission for a connection handle. |
38 |
Read_SCO_Flow_Control_Enable |
0x002E |
Command to check the current status of
the flow control for the SCO connection. |
39 |
Write_SCO_Flow_Control_Enable |
0x002F |
Command to set the status of the flow
control for a connection handle. |
40 |
Set_Host_Controller_To_Host_Flow_Control |
0x0031 |
Command to set the flow control from the
host controller to host in on or off state. |
41 |
Host_Buffer_Size |
0x0033 |
Command set by host to inform the host
controller of the buffer size of the host for ACL and SCO connections. |
42 |
Host_Number_Of_Completed_Packets |
0x0035 |
Command set from host to host controller
when it is ready to receive more data packets. |
43 |
Read_Link_Supervision_Timeout |
0x0036 |
Command to read the timeout for
monitoring link losses. |
44 |
Write_Link_Supervision_Timeout |
0x0037 |
Command to set the timeout for monitoring
link losses. |
45 |
Read_Number_Of_Supported_IAC |
0x0038 |
Command to read the number of IACs that
the device can listen on during Inquiry access. |
46 |
Read_Current_IAC_LAP |
0x0039 |
Command to read the LAP for the current
IAC. |
47 |
Write_Current_IAC_LAP |
0x003A |
Command to set the LAP for the current
IAC. |
48 |
Read_Page_Scan_Period_Mode |
0x003B |
Command to read the timeout session of a
page scan. |
49 |
Write_Page_Scan_Period_Mode |
0x003C |
Command to set the timeout session of a
page scan. |
50 |
Read_Page_Scan_Mode |
0x003D |
Command to read the default Page scan
mode. |
51 |
Write_Page_Scan_Mode |
0x003E |
Command to set the default page scan
mode. |