UBT(4)                  NetBSD Kernel Interfaces Manual                 UBT(4)

     ubt -- USB Bluetooth driver

     ubt* at uhub? port ? configuration ? interface ?

     The ubt driver provides support for USB Bluetooth dongles to the Blue-
     tooth protocol stack.

     USB Bluetooth dongles provide two interfaces, both of which the ubt
     driver claims.  The second interface is used for Isochronous data and
     will have several alternate configurations regarding bandwidth consump-
     tion, which can be set using the hw.ubtN.config sysctl(8) variable.  The
     number of alternate configurations is indicated by the value in the
     hw.ubtN.alt_config variable, and the isoc frame size for the current con-
     figuration is shown in the hw.ubtN.sco_rxsize and hw.ubtN.sco_txsize

     By default, configuration 0 is selected, which means that no bandwidth is
     used on the Isochronous interface and no SCO data can be sent.  Consult
     the Bluetooth USB specification at https://www.bluetooth.org/ for com-
     plete instructions on setting bandwidth consumption.  The following
     extract may be useful as a general guidance though details may differ
     between manufacturers.

     0    No active voice channels
     1    One voice channel with 8-bit encoding
     2    Two voice channels with 8-bit encoding, or one voice channel with
          16-bit encoding.
     3    Three voice channels with 8-bit encoding
     4    Two voice channels with 16-bit encoding
     5    Three voice channels with 16-bit encoding

     bluetooth(4), uhub(4), sysctl(8)

     This ubt device driver was originally a character device written by David
     Sainty and Lennart Augustsson.  It was rewritten to support socket based
     Bluetooth access for NetBSD 4.0 by Iain Hibbert.

     Isochronous data is seemingly not well supported over USB in the current
     system and to get SCO working, you may have to calculate the SCO packet
     size that the stack will use.  This is the sco_mtu value reported by the
     btconfig(8) command, and when combined with the SCO header (3 bytes)
     should fit exactly into an integer number of Isochronous data frames
     where the frame size is indicated by the `hw.ubtN.sco_txsize' sysctl

     For example: I want one voice channel (which is all that is supported,
     for now) so am using configuration #2, with a frame length of 17 bytes.
     This gives possible values of:

           (17 * 1) - 3 = 14
           (17 * 2) - 3 = 31
           (17 * 3) - 3 = 48
           (17 * 4) - 3 = 65
           (17 * 5) - 3 = 82

     btconfig(8) shows the maximum SCO payload as 64 bytes, so I am using the
     next smaller size of 48, to minimize the overhead of the 3 header bytes.

     The SCO packet size can be changed using the `scomtu' option to

     The failure mode is that the USB Bluetooth dongle locks up though gener-
     ally removal/reinsertion will clear the problem.

     The Isochronous configuration can only be changed when the device is not
     marked up.

NetBSD 5.0_RC4                  August 27, 2006                 NetBSD 5.0_RC4

You can also request any man page by name and (optionally) by section:


Use the DEFAULT collection to view manual pages for third-party software.

©1994 Man-cgi 1.15, Panagiotis Christias
©1996-2018 Modified for NetBSD by Kimmo Suominen