1*a1fe33c8SHasso Tepper.\" $NetBSD: ubt.4,v 1.5 2006/09/02 23:54:23 wiz Exp $ 2*a1fe33c8SHasso Tepper.\" $DragonFly: src/share/man/man4/ubt.4,v 1.1 2008/02/01 12:24:40 hasso Exp $ 3*a1fe33c8SHasso Tepper.\" 4*a1fe33c8SHasso Tepper.\" Copyright (c) 2006 Itronix Inc. 5*a1fe33c8SHasso Tepper.\" All rights reserved. 6*a1fe33c8SHasso Tepper.\" 7*a1fe33c8SHasso Tepper.\" Written by Iain Hibbert for Itronix Inc. 8*a1fe33c8SHasso Tepper.\" 9*a1fe33c8SHasso Tepper.\" Redistribution and use in source and binary forms, with or without 10*a1fe33c8SHasso Tepper.\" modification, are permitted provided that the following conditions 11*a1fe33c8SHasso Tepper.\" are met: 12*a1fe33c8SHasso Tepper.\" 1. Redistributions of source code must retain the above copyright 13*a1fe33c8SHasso Tepper.\" notice, this list of conditions and the following disclaimer. 14*a1fe33c8SHasso Tepper.\" 2. Redistributions in binary form must reproduce the above copyright 15*a1fe33c8SHasso Tepper.\" notice, this list of conditions and the following disclaimer in the 16*a1fe33c8SHasso Tepper.\" documentation and/or other materials provided with the distribution. 17*a1fe33c8SHasso Tepper.\" 3. The name of Itronix Inc. may not be used to endorse 18*a1fe33c8SHasso Tepper.\" or promote products derived from this software without specific 19*a1fe33c8SHasso Tepper.\" prior written permission. 20*a1fe33c8SHasso Tepper.\" 21*a1fe33c8SHasso Tepper.\" THIS SOFTWARE IS PROVIDED BY ITRONIX INC. ``AS IS'' AND 22*a1fe33c8SHasso Tepper.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 23*a1fe33c8SHasso Tepper.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 24*a1fe33c8SHasso Tepper.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ITRONIX INC. BE LIABLE FOR ANY 25*a1fe33c8SHasso Tepper.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 26*a1fe33c8SHasso Tepper.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27*a1fe33c8SHasso Tepper.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 28*a1fe33c8SHasso Tepper.\" ON ANY THEORY OF LIABILITY, WHETHER IN 29*a1fe33c8SHasso Tepper.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30*a1fe33c8SHasso Tepper.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31*a1fe33c8SHasso Tepper.\" POSSIBILITY OF SUCH DAMAGE. 32*a1fe33c8SHasso Tepper.\" 33*a1fe33c8SHasso Tepper.Dd August 27, 2006 34*a1fe33c8SHasso Tepper.Dt UBT 4 35*a1fe33c8SHasso Tepper.Os 36*a1fe33c8SHasso Tepper.Sh NAME 37*a1fe33c8SHasso Tepper.Nm ubt 38*a1fe33c8SHasso Tepper.Nd USB Bluetooth driver 39*a1fe33c8SHasso Tepper.Sh SYNOPSIS 40*a1fe33c8SHasso TepperTo compile this driver into the kernel, 41*a1fe33c8SHasso Tepperplace the following lines in your 42*a1fe33c8SHasso Tepperkernel configuration file: 43*a1fe33c8SHasso Tepper.Bd -ragged -offset indent 44*a1fe33c8SHasso Tepper.Cd "device ubt" 45*a1fe33c8SHasso Tepper.Ed 46*a1fe33c8SHasso Tepper.Pp 47*a1fe33c8SHasso TepperAlternatively, to load the driver as a 48*a1fe33c8SHasso Teppermodule at boot time, place the following line in 49*a1fe33c8SHasso Tepper.Xr loader.conf 5 : 50*a1fe33c8SHasso Tepper.Bd -literal -offset indent 51*a1fe33c8SHasso Tepperubt_load="YES" 52*a1fe33c8SHasso Tepper.Ed 53*a1fe33c8SHasso Tepper.Sh DESCRIPTION 54*a1fe33c8SHasso TepperThe 55*a1fe33c8SHasso Tepper.Nm 56*a1fe33c8SHasso Tepperdriver provides support for USB Bluetooth dongles 57*a1fe33c8SHasso Tepperto the Bluetooth protocol stack. 58*a1fe33c8SHasso Tepper.\".Pp 59*a1fe33c8SHasso Tepper.\"USB Bluetooth dongles provide two interfaces, both of which the 60*a1fe33c8SHasso Tepper.\".Nm 61*a1fe33c8SHasso Tepper.\"driver claims. 62*a1fe33c8SHasso Tepper.\"The second interface is used for Isochronous data and will have 63*a1fe33c8SHasso Tepper.\"several alternate configurations regarding bandwidth consumption, 64*a1fe33c8SHasso Tepper.\"which can be set using the hw.ubtN.config 65*a1fe33c8SHasso Tepper.\".Xr sysctl 8 66*a1fe33c8SHasso Tepper.\"variable. 67*a1fe33c8SHasso Tepper.\"The number of alternate configurations is indicated by the value 68*a1fe33c8SHasso Tepper.\"in the hw.ubtN.alt_config variable, and the isoc frame size for the current 69*a1fe33c8SHasso Tepper.\"configuration is shown in the hw.ubtN.sco_rxsize and hw.ubtN.sco_txsize 70*a1fe33c8SHasso Tepper.\"variables. 71*a1fe33c8SHasso Tepper.\".Pp 72*a1fe33c8SHasso Tepper.\"By default, configuration 0 is selected, which means that no bandwidth 73*a1fe33c8SHasso Tepper.\"is used on the Isochronous interface and no SCO data can be sent. 74*a1fe33c8SHasso Tepper.\"Consult the Bluetooth USB specification at https://www.bluetooth.org/ 75*a1fe33c8SHasso Tepper.\"for complete instructions on setting bandwidth consumption. 76*a1fe33c8SHasso Tepper.\"The following extract may be 77*a1fe33c8SHasso Tepper.\"useful as a general guidance though details may differ between manufacturers. 78*a1fe33c8SHasso Tepper.\".Pp 79*a1fe33c8SHasso Tepper.\".Bl -tag -compact -width XXX 80*a1fe33c8SHasso Tepper.\".It 0 81*a1fe33c8SHasso Tepper.\"No active voice channels 82*a1fe33c8SHasso Tepper.\".It 1 83*a1fe33c8SHasso Tepper.\"One voice channel with 8-bit encoding 84*a1fe33c8SHasso Tepper.\".It 2 85*a1fe33c8SHasso Tepper.\"Two voice channels with 8-bit encoding, or one voice channel with 86*a1fe33c8SHasso Tepper.\"16-bit encoding. 87*a1fe33c8SHasso Tepper.\".It 3 88*a1fe33c8SHasso Tepper.\"Three voice channels with 8-bit encoding 89*a1fe33c8SHasso Tepper.\".It 4 90*a1fe33c8SHasso Tepper.\"Two voice channels with 16-bit encoding 91*a1fe33c8SHasso Tepper.\".It 5 92*a1fe33c8SHasso Tepper.\"Three voice channels with 16-bit encoding 93*a1fe33c8SHasso Tepper.El 94*a1fe33c8SHasso Tepper.Sh SEE ALSO 95*a1fe33c8SHasso Tepper.Xr bluetooth 4 96*a1fe33c8SHasso Tepper.\".Xr uhub 4 , 97*a1fe33c8SHasso Tepper.\".Xr sysctl 8 98*a1fe33c8SHasso Tepper.Sh HISTORY 99*a1fe33c8SHasso TepperThis 100*a1fe33c8SHasso Tepper.Nm 101*a1fe33c8SHasso Tepperdevice driver was originally a character device written by 102*a1fe33c8SHasso Tepper.An David Sainty 103*a1fe33c8SHasso Tepperand 104*a1fe33c8SHasso Tepper.An Lennart Augustsson . 105*a1fe33c8SHasso TepperIt was rewritten to support socket based Bluetooth access for 106*a1fe33c8SHasso Tepper.Nx 4.0 107*a1fe33c8SHasso Tepperby 108*a1fe33c8SHasso Tepper.An Iain Hibbert . 109*a1fe33c8SHasso TepperThe 110*a1fe33c8SHasso Tepper.Nm 111*a1fe33c8SHasso Tepperdriver was imported into 112*a1fe33c8SHasso Tepper.Dx 1.11 . 113*a1fe33c8SHasso Tepper.\".Sh CAVEATS 114*a1fe33c8SHasso Tepper.\"Isochronous data is seemingly not well supported over USB in the current 115*a1fe33c8SHasso Tepper.\"system and to get SCO working, you may have to calculate the SCO packet 116*a1fe33c8SHasso Tepper.\"size that the stack will use. 117*a1fe33c8SHasso Tepper.\"This is the sco_mtu value reported by the 118*a1fe33c8SHasso Tepper.\".Xr btconfig 8 119*a1fe33c8SHasso Tepper.\"command, and when combined with the SCO header (3 bytes) should 120*a1fe33c8SHasso Tepper.\"fit exactly into an integer number of Isochronous data frames where 121*a1fe33c8SHasso Tepper.\"the frame size is indicated by the 122*a1fe33c8SHasso Tepper.\".Sq hw.ubtN.sco_txsize 123*a1fe33c8SHasso Tepper.\"sysctl variable. 124*a1fe33c8SHasso Tepper.\".Pp 125*a1fe33c8SHasso Tepper.\"For example: I want one voice channel (which is all that is supported, 126*a1fe33c8SHasso Tepper.\"for now) so am using configuration #2, with a frame length of 17 127*a1fe33c8SHasso Tepper.\"bytes. 128*a1fe33c8SHasso Tepper.\"This gives possible values of: 129*a1fe33c8SHasso Tepper.\".Pp 130*a1fe33c8SHasso Tepper.\".Dl "(17 * 1) - 3 = 14" 131*a1fe33c8SHasso Tepper.\".Dl "(17 * 2) - 3 = 31" 132*a1fe33c8SHasso Tepper.\".Dl "(17 * 3) - 3 = 48" 133*a1fe33c8SHasso Tepper.\".Dl "(17 * 4) - 3 = 65" 134*a1fe33c8SHasso Tepper.\".Dl "(17 * 5) - 3 = 82" 135*a1fe33c8SHasso Tepper.\".Dl "etc." 136*a1fe33c8SHasso Tepper.\".Pp 137*a1fe33c8SHasso Tepper.\".Xr btconfig 8 138*a1fe33c8SHasso Tepper.\"shows the maximum SCO payload as 64 bytes, so I am using the next smaller 139*a1fe33c8SHasso Tepper.\"size of 48, to minimize the overhead of the 3 header bytes. 140*a1fe33c8SHasso Tepper.\".Pp 141*a1fe33c8SHasso Tepper.\"The SCO packet size can be changed using the 142*a1fe33c8SHasso Tepper.\".Sq scomtu 143*a1fe33c8SHasso Tepper.\"option to 144*a1fe33c8SHasso Tepper.\".Xr btconfig 8 . 145*a1fe33c8SHasso Tepper.\".Pp 146*a1fe33c8SHasso Tepper.\"The failure mode is that the USB Bluetooth dongle locks up though 147*a1fe33c8SHasso Tepper.\"generally removal/reinsertion will clear the problem. 148*a1fe33c8SHasso Tepper.\".Sh BUGS 149*a1fe33c8SHasso Tepper.\"The Isochronous configuration can only be changed when the device is not 150*a1fe33c8SHasso Tepper.\"marked up. 151