---
name: "bluetooth.device.conf"
section: "5"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/bluetooth.device.conf"
---

# bluetooth.device.conf(5)

Bluetooth device configuration file

## 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)](/sh/1.md) 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)](/devd/8.md) 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)](/hcsecd/8.md) 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\_hci(4)](/ng_hci/4.md), [ng\_l2cap(4)](/ng_l2cap/4.md), [ng\_ubt(4)](/ng_ubt/4.md), [devd(8)](/devd/8.md), [hccontrol(8)](/hccontrol/8.md), [hcsecd(8)](/hcsecd/8.md), [l2control(8)](/l2control/8.md)

## AUTHORS

Maksim Yevmenkin ⟨*m\_evmenkin@yahoo.com*⟩
