Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

ubt(4) [netbsd man page]

UBT(4)							   BSD Kernel Interfaces Manual 						    UBT(4)

NAME
ubt -- USB Bluetooth driver SYNOPSIS
ubt* at uhub? port ? configuration ? interface ? DESCRIPTION
The ubt driver provides support for USB Bluetooth dongles to the Bluetooth 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 consumption, 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 configuration is shown in the hw.ubtN.sco_rxsize and hw.ubtN.sco_txsize variables. 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 complete instructions on setting bandwidth consumption. The fol- lowing 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 SEE ALSO
bluetooth(4), uhub(4), sysctl(8) HISTORY
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. CAVEATS
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 variable. 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 etc. 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 btconfig(8). The failure mode is that the USB Bluetooth dongle locks up though generally removal/reinsertion will clear the problem. BUGS
The Isochronous configuration can only be changed when the device is not marked up. BSD
August 27, 2006 BSD

Check Out this Related Man Page

NG_UBT(4)						   BSD Kernel Interfaces Manual 						 NG_UBT(4)

NAME
ng_ubt -- Netgraph node type that is also a driver for Bluetooth USB devices SYNOPSIS
#include <sys/types.h> #include <netgraph/bluetooth/include/ng_ubt.h> DESCRIPTION
The ubt node type is both a persistent Netgraph node type and a driver for Bluetooth USB devices. It implements a Bluetooth USB transport layer as per chapter H2 of the Bluetooth Specification Book v1.1. A new node is created when a supported USB device is plugged in. The node has a single hook called hook. Incoming bytes received on the device are re-assembled into HCI frames (according to the length). Full HCI frames are sent out on the hook. The node will add a HCI frame indicator if the device did not send it. HCI frames received on hook are transmitted out. The node will drop the HCI frame indicator unless the device requires it to be present. HARDWARE
The ng_ubt driver supports all Bluetooth USB devices that conform with the Bluetooth specification v1.1, including: o 3Com 3CREB96 o AIPTEK BR0R02 o EPoX BT-DG02 o Mitsumi Bluetooth USB adapter o MSI MS-6967 o TDK Bluetooth USB adapter HOOKS
This node type supports the following hooks: hook single HCI frame contained in a single mbuf structure. CONTROL MESSAGES
This node type supports the generic control messages, plus the following: NGM_UBT_NODE_GET_DEBUG Returns an integer containing the current debug level for the node. NGM_UBT_NODE_SET_DEBUG This command takes an integer argument and sets the current debug level for the node. NGM_UBT_NODE_GET_QLEN This command takes a parameter that specifies the queue number and returns the current maximal length of the queue for the node. NGM_UBT_NODE_SET_QLEN This command takes two parameters that specify the queue number and the maximum length of the queue and sets the maximal length of the queue for the node. NGM_UBT_NODE_GET_STAT Returns various statistic information for the node, such as: number of bytes (frames) sent, number of bytes (frames) received and number of input (output) errors. NGM_UBT_NODE_RESET_STAT Reset all statistic counters to zero. SHUTDOWN
This node shuts down when the corresponding USB device is un-plugged. SEE ALSO
netgraph(4), ugen(4), usb(4), ngctl(8) HISTORY
The ubt node type was implemented in FreeBSD 5.0. AUTHORS
Maksim Yevmenkin <m_evmenkin@yahoo.com> BUGS
Isochronous USB transfers are broken. This means that the USB device will not be able to transfer SCO data (voice). USB interrupt transfers are implemented as bulk-in transfers (not really a bug). BSD
September 13, 2004 BSD
Man Page