HCID.CONF(5) System management commands HCID.CONF(5)NAME
/etc/bluetooth/hcid.conf - Configuration file for the hcid Bluetooth
HCI daemon
DESCRIPTION
/etc/bluetooth/hcid.conf contains all the options needed by the Blue‐
tooth Host Controller Interface daemon.
It consists of sections and parameters. A section begins with the name
of the section followed by optional specifiers and the parameters
inside curly brackets. Sections contain parameters of the form:
name value1, value2 ... ;
Any character after a hash ('#') character is ignored until newline.
Whitespace is also ignored.
The valid section names for hcid.conf are, at the moment:
options
contains generic options for hcid and the pairing policy.
device contains lower-level options for the hci devices connected to
the computer.
OPTIONS SECTION
The following parameters may be present in an option section:
autoinit yes|no
Automatically initialize newly connected devices. The default is
no.
pairing none|multi|once
none means that pairing is disabled. multi allows pairing with
already paired devices. once allows pairing once and denies suc‐
cessive attempts. The default hcid configuration is shipped with
multi enabled
passkey "pin"
The default PIN for incoming connections if security has been
set to auto.
security none|auto|user
none means the security manager is disabled. auto uses local
PIN, by default from pin_code, for incoming connections. user
always asks the user for a PIN.
DEVICE SECTION
Parameters within a device section with no specifier, the default
device section, will be applied to all devices and device sections
where these are unspecified. The following optional device specifiers
are supported:
nn:nn:nn:nn:nn:nn
Parameters specified within this section will be applied to the
device with this device bluetooth address. All other parameters
are applied from the default section.
hcin
Parameters specified within this section will be applied to the
device with this device interface, unless that device is matched
by a device address section. All other parameters are applied
from the default section.
Note: Most of the options supported in the device section are described
to some extent in the bluetooth specification version 1.2 Vol2, Part E
section 6. Please refer to it for technical details.
The following parameters may be present in a device section:
name "name"
The device name. %d inserts the device id. %h inserts the host
name.
class 0xSSDDdd (three bytes)
The Bluetooth Device Class is described in the Bluetooth Speci‐
fication section 1.2 ("Assigned Numbers - Bluetooth Baseband").
The default shipped with hcid is 0x000100 which simply stands
for "Computer".
The Bluetooth device class is a high-level description of the
bluetooth device, composed of three bytes: the "Major Service
Class" (byte "SS" above), the "Major Device Class" (byte "DD"
above) and the "Minor Device Class" (byte "dd" above). These
classes describe the high-level capabilities of the device, such
as "Networking Device", "Computer", etc. This information is
often used by clients who are looking for a certain type of ser‐
vice around them.
Where it becomes tricky is that another type of mechanism for
service discovery exists: "SDP", as in "Service Discovery Proto‐
col".
In practice, most Bluetooth clients scan their surroundings in
two successive steps: they first look for all bluetooth devices
around them and find out their "class". You can do this on Linux
with the hcitool scan command. Then, they use SDP in order to
check if a device in a given class offers the type of service
that they want.
This means that the hcid.conf "class" parameter needs to be set
up properly if particular services are running on the host, such
as "PAN", or "OBEX Obect Push", etc: in general a device looking
for a service such as "Network Access Point" will only scan for
this service on devices containing "Networking" in their major
service class.
Major service class byte allocation (from LSB to MSB):
Bit 1: Positioning (Location identification)
Bit 2: Networking (LAN, Ad hoc, ...)
Bit 3: Rendering (Printing, Speaker, ...)
Bit 4: Capturing (Scanner, Microphone, ...)
Bit 5: Object Transfer (v-Inbox, v-Folder, ...)
Bit 6: Audio (Speaker, Microphone, Headset service, ...)
Bit 7: Telephony (Cordless telephony, Modem, Headset service,
...)
Bit 8: Information (WEB-server, WAP-server, ...)
Example: class 0x02hhhh : the device offers networking service
Major device class allocation:
0x00: Miscellaneous
0x01: Computer (desktop,notebook, PDA, organizers, .... )
0x02: Phone (cellular, cordless, payphone, modem, ...)
0x03: LAN /Network Access point
0x04: Audio/Video (headset,speaker,stereo, video display,
vcr.....
0x05: Peripheral (mouse, joystick, keyboards, ..... )
0x06: Imaging (printing, scanner, camera, display, ...)
Other values are not defined (refer to the Bluetooth specifica‐
tion for more details
Minor device class allocation: the meaning of this byte depends
on the major class allocation, please refer to the Bluetooth
specifications for more details).
Example: if PAND runs on your server, you need to set up at
least class 0x020100, which stands for "Service Class: Network‐
ing" and "Device Class: Computer, Uncategorized".
iscan enable|disable
pscan enable|disable
Bluetooth devices discover and connect to each other through the
use of two special Bluetooth channels, the Inquiry and Page
channels (described in the Bluetooth Spec Volume 1, Part A, Sec‐
tion 3.3.3, page 35). These two options enable the channels on
the bluetooth device.
iscan enable: makes the bluetooth device "discoverable" by
enabling it to answer "inquiries" from other nearby bluetooth
devices.
pscan enable: makes the bluetooth device "connectable to" by
enabling the use of the "page scan" channel.
lm none|accept,master
none means no specific policy. accept means always accept incom‐
ing connections. master means become master on incoming connec‐
tions and deny role switch on outgoing connections.
lp none|rswitch,hold,sniff,park
none means no specific policy. rswitch means allow role switch.
hold means allow hold mode. sniff means allow sniff mode. park
means allow park mode. Several options can be combined.
This option determines the various operational modes that are
allowed for this device when it participates to a piconet. Nor‐
mally hold and sniff should be enabled for standard operations.
hold: this mode is related to synchronous communications (SCO
voice channel for example).
sniff: when in this mode, a device is only present on the
piconet during determined slots of time, allowing it to do other
things when it is "absent", for example to scan for other blue‐
tooth devices.
park: this is a mode where the device is put on standby on the
piconet, for power-saving purposes for example.
rswitch: this is a mode that enables role-switch (master <->
slave) between two devices in a piconet. It is not clear whether
this needs to be enabled in order to make the "lm master" set‐
ting work properly or not.
pageto n
Page Timeout measured in number of baseband slots. Interval
length = N * 0.625 msec (1 baseband slot)
discovto n
The time in seconds that the device will stay in discoverable
mode. 0 disables this feature and forces the device to be always
discoverable.
FILES
/etc/bluetooth/hcid.conf
Default location of the global configuration file.
AUTHOR
This manual page was written by Edouard Lafargue, Fredrik Noring, Maxim
Krasnyansky and Marcel Holtmann.
hcid.conf - HCI daemon March 2004 HCID.CONF(5)