NAME
bthcid —
Bluetooth Link Key/PIN Code
Manager
SYNOPSIS
bthcid |
[-fn]
[-d
device]
[-m mode]
[-s
socket_name] |
DESCRIPTION
The
bthcid daemon handles Link Key and PIN code requests for
Bluetooth devices. It opens a raw HCI socket and listens for the following HCI
events.
Link_Key_Request
- bthcid scans the
/var/db/bthcid.keys file for a cached link key matching
the remote device BD_ADDR and, if found, the
Link_Key_Request_Reply
will be sent back to the
device, otherwise the
Link_Key_Request_Negative_Reply
will be sent.
Link_Key_Notification
- When a new link key is created by the device, it will be
cached for future use in the /var/db/bthcid.keys link
keys file, which will be created if it does not already exist.
PIN_Code_Request
- The bthcid daemon checks its PIN cache
for a matching remote device entry. If no PIN is found, the
bthcid daemon will send a message to any PIN clients
that have registered, with the device details and a timeout value. When no
clients are available or the timeout has expired, bthcid
will send a
PIN_Code_Request_Negative_Reply
back
to the device. When a PIN is found, or if a client responds within the
timeout period, a PIN_Code_Request_Reply
will be
sent back to the device.
PINs received from clients will be cached for 5 minutes until used, and may
be added to the cache prior to pairing with the
btpin(1) utility.
Some of the functionality of
bthcid can be handled by the
Bluetooth controller directly, and cached Link Keys may be examined, deleted
or moved to device storage using the
btkey(1) program.
The command line options are as follows:
-
-
- -d
device
- Specify the local Bluetooth device address. The default is
BDADDR_ANY.
-
-
- -f
- Run in foreground (do not detach).
-
-
- -h
- Display usage message and exit.
-
-
- -m
- Specify the file mode access bits for the PIN client
socket. The default is to allow readwrite access to user and group
(0660).
-
-
- -n
- Do not listen for PIN clients.
-
-
- -s
socket_name
- Specify the socket name to listen on for PIN clients. The
default path is /var/run/bthcid.
FILES
- /var/db/bthcid.keys
-
- /var/run/bthcid
-
- /var/run/bthcid.pid
-
SEE ALSO
btkey(1),
btpin(1),
bluetooth(4),
btconfig(8)
HISTORY
The
bthcid daemon first appeared in
FreeBSD
5.3 as
hcsecd. It was ported to
NetBSD 4.0 with its present name and extended to
support PIN clients by
Iain Hibbert under the
sponsorship of Itronix, Inc.
AUTHORS
Maksim Yevmenkin
<
m_evmenkin@yahoo.com>
Iain Hibbert