hcitool

Table of Contents

Overview

Configure Bluetooth connections

Introduction

hcitool is used to configure Bluetooth connections and send some special command to Bluetooth devices. If no command is given, or if the option -h is used, hcitool prints some usage information and exits.

Usage

Syntax

hcitool [-h]
hcitool [-i <hciX>] [command [command parameters]]

Options

  • -h :
  • -i :

Commands

dev

Display local devices

inq

Inquire remote devices. For each discovered device, Bluetooth device address, clock offset and class are printed.

scan

Inquire remote devices. For each discovered device, device name are printed.

name

Syntax
name <bdaddr>

Print device name of remote device with Bluetooth address bdaddr.

info

Syntax
info <bdaddr>

Print device name, version and supported features of remote device with Bluetooth address bdaddr.

spinq

Start periodic inquiry process. No inquiry results are printed.

epinq

Exit periodic inquiry process.

cmd

Syntax
cmd <ogf> <ocf> [parameters]

Submit an arbitrary HCI command to local device. ogf, ocf and parameters are hexadecimal bytes.

con

Display active baseband connections

cc

Syntax
cc [--role=m|s] [--pkt-type=<ptype>] <bdaddr>

Create baseband connection to remote device with Bluetooth address bdaddr. Option --pkt-type specifies a list of allowed packet types. <ptype> is a comma-sepa‐ rated list of packet types, where the possible packet types are DM1, DM3, DM5, DH1, DH3, DH5, HV1, HV2, HV3. Default is to allow all packet types. Option --role can have value m (do not allow role switch, stay master) or s (allow role switch, become slave if the peer asks to become master). Default is m.

dc

Syntax
dc <bdaddr> [reason]

Delete baseband connection from remote device with Bluetooth address bdaddr. The reason can be one of the Bluetooth HCI error codes. Default is 19 for user ended connections. The value must be given in decimal.

sr

Syntax
sr <bdaddr> <role>

Switch role for the baseband connection from the remote device to master or slave.

cpt

Syntax
cpt <bdaddr> <packet types>

Change packet types for baseband connection to device with Bluetooth address bdaddr. packet types is a comma-separated list of packet types, where the possible packet types are DM1, DM3, DM5, DH1, DH3, DH5, HV1, HV2, HV3.

rssi

Syntax
rssi <bdaddr>

Display received signal strength information for the connection to the device with Bluetooth address bdaddr.

lq

Syntax
lq <bdaddr>

Display link quality for the connection to the device with Bluetooth address bdaddr.

tpl

Syntax
tpl <bdaddr> [type]

Display transmit power level for the connection to the device with Bluetooth address bdaddr. The type can be 0 for the current transmit power level (which is default) or 1 for the maximum transmit power level.

afh

Syntax
afh <bdaddr>

Display AFH channel map for the connection to the device with Bluetooth address bdaddr.

lp

Syntax
lp <bdaddr> [value]

With no value, displays link policy settings for the connection to the device with Bluetooth address bdaddr. If value is given, sets the link policy settings for that connection to value. Possible values are RSWITCH, HOLD, SNIFF and PARK.

lst

Syntax
lst <bdaddr> [value]

With no value, displays link supervision timeout for the connection to the device with Bluetooth address bdaddr. If value is given, sets the link supervision timeout for that connection to value slots, or to infinite if value is 0.

auth

Syntax
auth <bdaddr>

Request authentication for the device with Bluetooth address bdaddr.

enc

Syntax
enc <bdaddr> [encrypt enable]

Enable or disable the encryption for the device with Bluetooth address bdaddr.

key

Syntax
key <bdaddr>

Change the connection link key for the device with Bluetooth address bdaddr.

clkoff

Syntax
clkoff <bdaddr>

Read the clock offset for the device with Bluetooth address bdaddr.

clock

Syntax
clock [bdaddr] [which clock]

Read the clock for the device with Bluetooth address bdaddr. The clock can be 0 for the local clock or 1 for the piconet clock (which is default).

lescan

Syntax
lescan [--privacy] [--passive] [--whitelist] [--discovery=g|l] [--duplicates]

Start LE scan

leinfo

Syntax
leinfo [--static] [--random] <bdaddr>

Get LE remote information

lewladd

Syntax
lewladd [--random] <bdaddr>

Add device to LE White List

lewlrm

Syntax
lewlrm <bdaddr>

Remove device from LE White List

lewlsz

Read size of LE White List

lewlclr

Clear LE White List

lerladd

Syntax
lerladd [--local irk] [--peer irk] [--random] <bdaddr>

Add device to LE Resolving List

lerlrm

Syntax
lerlrm <bdaddr>

Remove device from LE Resolving List

lerlclr

Clear LE Resolving List

lerlsz

Read size of LE Resolving List

lerlon

Enable LE Address Resolution

lerloff

Disable LE Address Resolution

lecc

Syntax
lecc [--static] [--random] <bdaddr> | [--whitelist]

Create a LE Connection

ledc

Syntax
ledc <handle> [reason]

Disconnect a LE Connection

lecup

Syntax
lecup <handle> <min> <max> <latency> <timeout>

LE Connection Update

Date: 2018-02-20

Author: Dongsoo Lee

Created: 2018-12-10 Mon 03:07

Validate