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 Bluetooth Host Con-
troller Interface daemon.
It consists of sections and parameters. A section begins with the name of the sec-
tion followed by optional specifiers and the parameters inside curly brackets. Sec-
tions 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 successive attempts. The
default hcid configuration is shipped with multi enabled
pin_helper "file"
The path to the PIN helper application. The default is "/bin/bluepin". The
following output is expected from the PIN helper:
PIN:12345678
Or, when no PIN is available:
ERR
security none|auto|user
none means the security manager is disabled. auto uses local PIN for incom-
ing 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.
auth enable|disable
Enables or disables authentication between local and remote devices when
they connect.
Authentication is done following a challenge-response mechanism described in
the Bluetooth Specification 1.2 volume 2 part C section 4.2, and uses the
link key generated during pairing as the shared secret.
Activating this option sets the local device into Bluetooth security mode 3.
encrypt enable|disable
Enable or disable link encryption. Should be set to enable in most cases,
unless one of the devices does not support encryption for some reason.
Encryption can only occur on authenticated connections, as a shared secret
key is necessary for encryption to work. The detailed encryption mechanism
is described in the bluetooth specification as mentioned above.
class 0xSSDDdd (three bytes)
The Bluetooth Device Class is described in the Bluetooth Specification sec-
tion 1.2 ("Assigned Numbers - Bluetooth Baseband").
The default shipped with hcid is 0x000100 which simply stands for "Com-
puter".
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 informa-
tion is often used by clients who are looking for a certain type of service
around them.
Where it becomes tricky is that another type of mechanism for service dis-
covery exists: "SDP", as in "Service Discovery Protocol".
In practice, most Bluetooth clients scan their surroundings in two succes-
sive 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 "Net-
working" 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 specification 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: Networking" 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, Section 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 incoming connec-
tions. master means become master on incoming connections 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. Normally 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 bluetooth 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" setting work properly or not.
pkt_type DH1,DM1,HV1, etc.
This fairly obscure option determines the packet types that the bluetooth
device will send or accept. This is a very low-level option that should
probably not be changed for normal use. You do not need to specify defaults.
You can check the Bluetooth specification version 1.2 Volume 2, Part B
section 6 for more details about this.
FILES
/etc/bluetooth/hcid.conf
Default location of the global configuration file.
AUTHOR
This manual page was written by Edouard Lafargue, Fredrik Noring and Maxim Kras-
nyansky.
hcid.conf - HCI daemon March 2004 HCID.CONF(5)
Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache/1.3.41 (Unix) PHP/5.2.5 mod_perl/1.30 mod_gzip/1.3.26.1a
Under GNU General Public License
2008-12-02 07:36 @38.103.63.58 CrawledBy CCBot/1.0 (+http://www.commoncrawl.org/bot.html)