bthcid
—
Bluetooth Link Key/PIN Code Manager
bthcid |
[-fn ] [-d
device] [-m
mode] [-s
socket_name] |
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.
- /var/db/bthcid.keys
-
- /var/run/bthcid
-
- /var/run/bthcid.pid
-
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.