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