BLUETOOTH.DEVICE.CONF(5)

NAME
bluetooth.device.conf - Bluetooth device configuration file

DESCRIPTION
Bluetooth device configuration framework provides ability to adjust certain Bluetooth device parameters on per-device basis.

Bluetooth device configuration files are plain text files that should conform to basic sh(1) syntax. Even though Bluetooth device are not exactly shell scripts, they are parsed and passed through shell eval command. This makes it possible to use various shell tricks in the Bluetooth device configuration files.

The /etc/rc.d/bluetooth script is used to start and stop Bluetooth devices. This script is not executed by default when system boots. It is called by devd(8) in response to Bluetooth device arrival and departure events. It is possible to execute this script by hand if required. The script accepts Bluetooth device driver name as an extra parameter.

The system wide Bluetooth device configuration file is called /etc/defaults/bluetooth.device.conf. Configuration parameters set in the system wide Bluetooth device configuration file apply to every Bluetooth device connected to the system.

Configuration parameters overrides for the specific Bluetooth device should be placed in the /etc/bluetooth/DEVICE_DRIVER_NAME.conf file. Where DEVICE_DRIVER_NAME is the device driver name of the Bluetooth device.

The following list provides a name and short description for each variable that can be set in a Bluetooth device configuration file.

authentication_enable
    (bool) The authentication_enable parameter controls if the device requires to authenticate the remote device at connection setup. If set to “YES”, the device will try to authenticate the other device at connection setup. Bluetooth authentication requests are handled by hcsecd(8) daemon.

class
    (str) The class parameter is used to indicate the capabilities of the device to other devices. For more details see “Assigned Numbers - Bluetooth Baseband” document.

connectable
    (bool) The connectable parameter controls whether or not the device should periodically scan for page attempts from other devices. If set to “YES”, the device will periodically scan for page attempts from other devices.

discoverable
    (bool) The discoverable parameter controls whether or not the device should periodically scan for inquiry requests from other devices. If set to “YES”, the device will periodically scan for inquiry requests from other devices.

encryption_mode
    (str) The encryption_mode parameter controls if the device requires encryption to the remote device at connection setup. At connection setup, only the devices with the authentication_enable parameter enabled and encryption_mode parameter enabled will try to encrypt the connection to the other device. Possible values are “NONE” encryption disabled, “P2P” encryption for only point-to-point packets, or “ALL” encryption for both point-to-point and broadcast packets.

hci_debug_level
    (int) HCI node debug level. Higher values mean more verbose output.

l2cap_debug_level
    (int) L2CAP node debug level. Higher values mean more verbose output.

local_name
    (str) The local_name parameter provides the ability to modify the user friendly name for the device.

role_switch
    (bool) The role_switch parameter controls whether the local device should perform role switch. By default, if role switch is supported, the local device will try to perform role switch and become Master on incoming connection. Some devices do not support role switch and thus incoming connections from such devices will fail. If role switch is disabled then accepting device will remain Slave.

FILES
/etc/defaults/bluetooth.device.conf
/etc/rc.d/bluetooth

EXAMPLES
The /etc/bluetooth/ubt0.conf file should be used to specify configuration parameters overrides for the first USB Bluetooth device (device driver name is ubt0).

The /etc/bluetooth/ubt1.conf file should be used to specify configuration parameters overrides for the second USB Bluetooth device.

SEE ALSO
ng_bt3c(4), ng_h4(4), ng_hci(4), ng_l2cap(4), ng_ubt(4), devd(8), hccontrol(8), hcsecd(8), l2control(8)

AUTHORS
Maksim Yevmenkin <m_evmenkin@yahoo.com>