xref: /dflybsd-src/share/man/man4/ubt.4 (revision a1fe33c86e44a3bb272c65e3c8c8e36ddba6ec90)
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