.TH HCICONFIG 8 "Nov 11 2002" BlueZ "Linux System Administration"
.SH NAME
hciconfig \- configure Bluetooth devices
.SH SYNOPSIS
.B hciconfig
.B \-h
.br
.B hciconfig
.RB [\| \-a \|]
.br
.B hciconfig
.RB [\| \-a \|]
.RI [\| command
.RI [\| "command parameters" \|]\|]

.SH DESCRIPTION
.LP
.B hciconfig
is used to configure Bluetooth devices.
.I hciX
is the name of a Bluetooth device installed in the system. If
.I hciX
is not given,
.B hciconfig
prints name and basic information about all the Bluetooth devices installed in
the system. If
.I hciX
is given but no command is given, it prints basic information on device
.I hciX
only. Basic information is 
interface type, BD address, ACL MTU, SCO MTU, flags (up, init, running, raw,
page scan enabled, inquiry scan enabled, inquiry, authentication enabled,
encryption enabled).
.SH OPTIONS
.TP
.B \-h, \-\-help
Gives a list of possible commands.
.TP
.B \-a, \-\-all
Other than the basic info, print features, packet type, link policy, link mode,
name, class, version.
.SH COMMANDS
.TP
.B up
Open and initialize HCI device.
.TP
.B down
Close HCI device.
.TP
.B reset
Reset HCI device.
.TP
.B rstat
Reset statistic counters.
.TP
.B auth
Enable authentication (sets device to security mode 3).
.TP
.B noauth
Disable authentication.
.TP
.B encrypt
Enable encryption (sets device to security mode 3).
.TP
.B noencrypt
Disable encryption.
.TP
.B secmgr
Enable security manager (current kernel support is limited).
.TP
.B nosecmgr
Disable security manager.
.TP
.B piscan
Enable page and inquiry scan.
.TP
.B noscan
Disable page and inquiry scan.
.TP
.B iscan
Enable inquiry scan, disable page scan.
.TP
.B pscan
Enable page scan, disable inquiry scan.
.TP
\fBptype\fP [\fItype\fP]
With no
.I type
, displays the current packet types. Otherwise, all the packet types specified
by
.I type
are set.
.I type
is a comma-separated list of packet types, where the possible packet types are
.BR DM1 ,
.BR DM3 ,
.BR DM5 ,
.BR DH1 ,
.BR DH3 ,
.BR DH5 ,
.BR HV1 ,
.BR HV2 ,
.BR HV3 .
.TP
.BI name " [name]"
With no
.IR name ,
prints local name. Otherwise, sets local name to
.IR name .
.TP
.BI class " [class]"
With no
.IR class ,
prints class of device. Otherwise, sets class of device to
.IR class .
.I
class
is a 24-bit hex number describing the class of device, as specified in section
1.2 of the Bluetooth Assigned Numers document.
.TP
.BI voice " [voice]"
With no
.IR voice ,
prints voice setting. Otherwise, sets voice setting to
.IR voice .
.I voice
is a 16-bit hex number describing the voice setting.
.TP
.BI iac " [iac]"
With no
.IR iac ,
prints the current IAC setting. Otherwise, sets the IAC to
.IR iac .
.TP
.BI inqtpl " [level]"
With no
.IR level ,
prints out the current inquiry transmit power level. Otherwise, sets
inquiry transmit power level to
.IR level .
.TP
.BI inqmode " [mode]"
With no
.IR mode ,
prints out the current inquiry mode. Otherwise, sets inquiry mode to
.IR mode .
.TP
.BI inqdata " [data]"
With no
.IR name ,
prints out the current inquiry data. Otherwise, sets inquiry data to
.IR data .
.TP
.BI inqtype " [type]"
With no
.IR type ,
prints out the current inquiry scan type. Otherwise, sets inquiry scan type to
.IR type .
.TP
\fBinqparams\fP [\fIwin\fP:\fIint\fP]
With no
.IR win : int ,
prints inquiry scan window and interval. Otherwise, sets inquiry scan window
to
.I win
slots and inquiry scan interval to
.I int
slots.
.TP
\fBpageparms\fP [\fIwin\fP:\fIint\fP]
With no
.IR win : int ,
prints page scan window and interval. Otherwise, sets page scan window to
.I win
slots and page scan interval to
.I int
slots.
.TP
.BI pageto " [to]"
With no
.IR to ,
prints page timeout. Otherwise, sets page timeout
to .I
to
slots.
.TP
.BI afhmode " [mode]"
With no
.IR mode ,
prints out the current AFH mode. Otherwise, sets AFH mode to
.IR mode .
.TP
.BI sspmode " [mode]"
With no
.IR mode ,
prints out the current Simple Pairing mode. Otherwise, sets Simple Pairing mode to
.IR mode .
.TP
\fBaclmtu\fP \fImtu\fP:\fIpkt\fP
Sets ACL MTU to
to
.I mtu
bytes and ACL buffer size to
.I pkt
packets.
.TP
\fBscomtu\fP \fImtu\fP:\fIpkt\fP
Sets SCO MTU to
.I mtu
bytes and SCO buffer size to
.I pkt
packets.
.TP
.BI putkey " <bdaddr>"
This command stores the link key for
.I bdaddr
on the device.
.TP
.BI delkey " <bdaddr>"
This command deletes the stored link key for
.I bdaddr
from the device.
.TP
.BI oobdata
Display local OOB data.
.TP
.BI commands
Display supported commands.
.TP
.BI features
Display device features.
.TP
.BI version
Display version information.
.TP
.BI revision
Display revision information.
.TP
.BI lm " [mode]"
With no
.I mode
, prints link mode.
.B MASTER
or
.B SLAVE
mean, respectively, to ask to become master or to remain slave when a
connection request comes in. The additional keyword
.B ACCEPT
means that baseband  connections will be accepted even if there are no
listening
.I AF_BLUETOOTH
sockets.
.I mode
is
.B NONE
or a comma-separated list of keywords, where possible keywords are
.B MASTER
and
.B "ACCEPT" .
.B NONE
sets link policy to the default behaviour of remaining slave and not accepting
baseband connections when there are no listening
.I AF_BLUETOOTH
sockets. If
.B MASTER
is present, the device will ask to become master if a connection request comes
in. If
.B ACCEPT
is present, the device will accept baseband connections even when there are no
listening
.I AF_BLUETOOTH
sockets.
.SH AUTHORS
Written by Maxim Krasnyansky <maxk@qualcomm.com> and Marcel Holtmann <marcel@holtmann.org>
.PP
man page by Fabrizio Gennari <fabrizio.gennari@philips.com>
