Command Section
HCSECD(8)               FreeBSD System Manager's Manual              HCSECD(8)

     hcsecd - control link keys and PIN codes for Bluetooth devices

     hcsecd [-dh] -f configfile

     The hcsecd daemon controls link keys and PIN codes for Bluetooth devices.
     It opens a raw HCI socket and listens for Link_Key_Request,
     PIN_Code_Request and Link_Key_Notification HCI events.

     Once a Link_Key_Request or PIN_Code_Request HCI event is received, the
     daemon scans the configuration file for a matching entry.  The remote
     device BD_ADDR is used as a key.  If no matching entry was found, the
     default entry will be used.  If no default entry was found then it is
     assumed that no link key and no PIN code exists.  For any given entry,
     the link key takes precedence over the PIN code.  If a link key was not
     specified, the device must generate the link key from the PIN code.  If
     an entry was found and the link key (or PIN code) exists, the
     Link_Key_Request_Reply (or PIN_Code_Request_Reply) command will be sent
     back to the device.  Otherwise, the Link_Key_Request_Negative_Reply (or
     PIN_Code_Request_Negative_Reply) command will be sent back to the device.

     The hcsecd daemon also handles HCI Link_Key_Notification events and
     caches link keys created from the PIN codes in memory.  To preserve link
     keys between restarts the hcsecd daemon dumps link keys for all entries
     in the /var/db/hcsecd.keys link keys file.  If it exists, the link keys
     file gets processed by the hcsecd daemon after it processes its main
     configuration file.  The link keys file gets written every time the
     hcsecd daemon shuts down gracefully.  It is possible to force the hcsecd
     daemon to re-read its main configuration file and dump the link keys file
     by sending the HUP signal to the hcsecd process.  The user is expected to
     not modify the link keys file by hand.

     The command line options are as follows:

     -d      Do not detach from the controlling terminal.

     -f configfile
             Specify the name of the configuration file.  The default is

     -h      Display usage message and exit.


     ng_btsocket(4), ng_hci(4), hcsecd.conf(5), hccontrol(8), hcseriald(8)

     Maksim Yevmenkin <m_[email protected]>

     Currently there is no way to select the link key or the PIN code based on
     which local device received the request.  Everything is based on the
     remote device BD_ADDR.  An interface for external helpers to obtain link
     keys and PIN codes is missing.

FreeBSD 11.1-RELEASE-p4        November 16, 2002       FreeBSD 11.1-RELEASE-p4
Command Section