1.\" Copyright (c) 2005 Maksim Yevmenkin <m_evmenkin@yahoo.com>
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\" $FreeBSD$
26.\"
27.Dd January 9, 2021
28.Dt BLUETOOTH.DEVICE.CONF 5
29.Os
30.Sh NAME
31.Nm bluetooth.device.conf
32.Nd Bluetooth device configuration file
33.Sh DESCRIPTION
34Bluetooth device configuration framework provides ability to adjust certain
35Bluetooth device parameters on per-device basis.
36.Pp
37Bluetooth device configuration files are plain text files that should conform
38to basic
39.Xr sh 1
40syntax.
41Even though Bluetooth device are not exactly shell scripts,
42they are parsed and passed through shell
43.Ic eval
44command.
45This makes it possible to use various shell tricks in the Bluetooth device
46configuration files.
47.Pp
48The
49.Pa /etc/rc.d/bluetooth
50script is used to start and stop Bluetooth devices.
51This script is not executed by default when system boots.
52It is called by
53.Xr devd 8
54in response to Bluetooth device arrival and departure events.
55It is possible to execute this script by hand if required.
56The script accepts Bluetooth device driver name as an extra parameter.
57.Pp
58The system wide Bluetooth device configuration file is called
59.Pa /etc/defaults/\:bluetooth.device.conf .
60Configuration parameters set in the system wide Bluetooth device configuration
61file apply to every Bluetooth device connected to the system.
62.Pp
63Configuration parameters overrides for the specific Bluetooth device
64should be placed in the
65.Pa /etc/bluetooth/ Ns Ar DEVICE_DRIVER_NAME Ns Pa .conf
66file.
67Where
68.Ar DEVICE_DRIVER_NAME
69is the device driver name of the Bluetooth device.
70.Pp
71The following list provides a name and short description for each
72variable that can be set in a Bluetooth device configuration file.
73.Bl -tag -width indent-two
74.It Va authentication_enable
75.Pq Vt bool
76The
77.Va authentication_enable
78parameter controls if the device requires to authenticate the remote device
79at connection setup.
80If set to
81.Dq Li YES ,
82the device will try to authenticate the other device at connection setup.
83Bluetooth authentication requests are handled by
84.Xr hcsecd 8
85daemon.
86.It Va class
87.Pq Vt str
88The
89.Va class
90parameter is used to indicate the capabilities of the device to
91other devices.
92For more details see
93.Dq Assigned Numbers - Bluetooth Baseband
94document.
95.It Va connectable
96.Pq Vt bool
97The
98.Va connectable
99parameter controls whether or not the device should periodically scan for
100page attempts from other devices.
101If set to
102.Dq Li YES ,
103the device will periodically scan for page attempts from other devices.
104.It Va discoverable
105.Pq Vt bool
106The
107.Va discoverable
108parameter controls whether or not the device should periodically scan for
109inquiry requests from other devices.
110If set to
111.Dq Li YES ,
112the device will periodically scan for inquiry requests from other devices.
113.It Va encryption_mode
114.Pq Vt str
115The
116.Va encryption_mode
117parameter controls if the device requires encryption to the remote device
118at connection setup.
119At connection setup, only the devices with the
120.Va authentication_enable
121parameter enabled and
122.Va encryption_mode
123parameter enabled will try to encrypt the connection to the other device.
124Possible values are
125.Dq Li NONE
126encryption disabled,
127.Dq Li P2P
128encryption for only point-to-point packets,
129or
130.Dq Li ALL
131encryption for both point-to-point and broadcast packets.
132.It Va hci_debug_level
133.Pq Vt int
134HCI node debug level.
135Higher values mean more verbose output.
136.It Va l2cap_debug_level
137.Pq Vt int
138L2CAP node debug level.
139Higher values mean more verbose output.
140.It Va local_name
141.Pq Vt str
142The
143.Va local_name
144parameter provides the ability to modify the user friendly name for the device.
145.It Va role_switch
146.Pq Vt bool
147The
148.Va role_switch
149parameter controls whether the local device should perform role switch.
150By default, if role switch is supported, the local device will try to perform
151role switch and become Master on incoming connection.
152Some devices do not support role switch and thus incoming connections from
153such devices will fail.
154If
155.Va role switch
156is disabled then accepting device will remain Slave.
157.El
158.Sh FILES
159.Bl -tag -width ".Pa /etc/defaults/bluetooth.device.conf" -compact
160.It Pa /etc/defaults/bluetooth.device.conf
161.It Pa /etc/rc.d/bluetooth
162.El
163.Sh EXAMPLES
164The
165.Pa /etc/bluetooth/ubt0.conf
166file should be used to specify configuration parameters overrides for the
167first USB Bluetooth device
168(device driver name is
169.Li ubt0 ) .
170.Pp
171The
172.Pa /etc/bluetooth/ubt1.conf
173file should be used to specify configuration parameters overrides for the
174second USB Bluetooth device.
175.Sh SEE ALSO
176.Xr ng_h4 4 ,
177.Xr ng_hci 4 ,
178.Xr ng_l2cap 4 ,
179.Xr ng_ubt 4 ,
180.Xr devd 8 ,
181.Xr hccontrol 8 ,
182.Xr hcsecd 8 ,
183.Xr l2control 8
184.Sh AUTHORS
185.An Maksim Yevmenkin Aq Mt m_evmenkin@yahoo.com
186