1878ed226SJulian Elischer.\" Copyright (c) 2001-2002 Maksim Yevmenkin <m_evmenkin@yahoo.com> 2878ed226SJulian Elischer.\" All rights reserved. 3878ed226SJulian Elischer.\" 4878ed226SJulian Elischer.\" Redistribution and use in source and binary forms, with or without 5878ed226SJulian Elischer.\" modification, are permitted provided that the following conditions 6878ed226SJulian Elischer.\" are met: 7878ed226SJulian Elischer.\" 1. Redistributions of source code must retain the above copyright 8878ed226SJulian Elischer.\" notice, this list of conditions and the following disclaimer. 9878ed226SJulian Elischer.\" 2. Redistributions in binary form must reproduce the above copyright 10878ed226SJulian Elischer.\" notice, this list of conditions and the following disclaimer in the 11878ed226SJulian Elischer.\" documentation and/or other materials provided with the distribution. 12878ed226SJulian Elischer.\" 13878ed226SJulian Elischer.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14878ed226SJulian Elischer.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15878ed226SJulian Elischer.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16878ed226SJulian Elischer.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17878ed226SJulian Elischer.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18878ed226SJulian Elischer.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19878ed226SJulian Elischer.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20878ed226SJulian Elischer.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21878ed226SJulian Elischer.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22878ed226SJulian Elischer.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23878ed226SJulian Elischer.\" SUCH DAMAGE. 24878ed226SJulian Elischer.\" 25878ed226SJulian Elischer.\" $FreeBSD$ 26f393f498SRuslan Ermilov.\" 27878ed226SJulian Elischer.Dd June 14, 2002 28878ed226SJulian Elischer.Dt NG_UBT 4 29878ed226SJulian Elischer.Os 30878ed226SJulian Elischer.Sh NAME 31f393f498SRuslan Ermilov.Nm ng_ubt 32878ed226SJulian Elischer.Nd Netgraph node type that is also a driver for Bluetooth USB devices 33878ed226SJulian Elischer.Sh SYNOPSIS 34878ed226SJulian Elischer.In sys/types.h 35878ed226SJulian Elischer.In ng_ubt.h 36878ed226SJulian Elischer.Sh DESCRIPTION 37878ed226SJulian ElischerThe 38f393f498SRuslan Ermilov.Nm ubt 39878ed226SJulian Elischernode type is both a persistent Netgraph node type and a driver for 40f393f498SRuslan ErmilovBluetooth USB devices. 41f393f498SRuslan ErmilovIt implements a Bluetooth USB transport layer 42f393f498SRuslan Ermilovas per chapter H2 of the Bluetooth Specification Book v1.1. 43f393f498SRuslan ErmilovA new node is created when supported USB device is plugged. 44878ed226SJulian Elischer.Pp 45878ed226SJulian ElischerThe node has a single hook called 46878ed226SJulian Elischer.Dv hook . 47878ed226SJulian ElischerIncoming bytes received on the device are re-assembled into HCI frames 48f393f498SRuslan Ermilov(according to the length). 49f393f498SRuslan ErmilovFull HCI frames are sent out on the hook. 50f393f498SRuslan ErmilovThe node will add HCI frame indicator if device did not send it. 51f393f498SRuslan ErmilovHCI frames received on 52878ed226SJulian Elischer.Dv hook 53f393f498SRuslan Ermilovare transmitted out. 54f393f498SRuslan ErmilovThe node will drop HCI frame indicator unless device 55878ed226SJulian Elischerrequires it to be present. 56878ed226SJulian Elischer.Sh HOOKS 57878ed226SJulian ElischerThis node type supports the following hooks: 58f393f498SRuslan Ermilov.Bl -tag -width indent 59878ed226SJulian Elischer.It Dv hook 60878ed226SJulian Elischersingle HCI frame contained in single 61f393f498SRuslan Ermilov.Vt mbuf 62878ed226SJulian Elischerstructure. 63878ed226SJulian Elischer.El 64878ed226SJulian Elischer.Sh CONTROL MESSAGES 65878ed226SJulian ElischerThis node type supports the generic control messages, plus the following: 66f393f498SRuslan Ermilov.Bl -tag -width indent 67878ed226SJulian Elischer.It Dv NGM_UBT_NODE_GET_DEBUG 68878ed226SJulian ElischerReturns an integer containing the current debug level for the node. 69878ed226SJulian Elischer.It Dv NGM_UBT_NODE_SET_DEBUG 70878ed226SJulian ElischerThis command takes an integer argument and sets current debug level 71878ed226SJulian Elischerfor the node. 72878ed226SJulian Elischer.It Dv NGM_UBT_NODE_GET_QLEN 73878ed226SJulian ElischerThis command takes a parameter that specifies queue number and returns 74878ed226SJulian Elischercurrent maximal length of the queue for the node. 75878ed226SJulian Elischer.It Dv NGM_UBT_NODE_SET_QLEN 76878ed226SJulian ElischerThis command takes two parameters that specify queue number and maximum 77878ed226SJulian Elischerlength of the queue and sets maximal length of the queue for the node. 78878ed226SJulian Elischer.It Dv NGM_UBT_NODE_GET_STAT 79878ed226SJulian ElischerReturns various statistic information for the node, such as: number of 80878ed226SJulian Elischerbytes (frames) sent, number of bytes (frames) received and number of 81878ed226SJulian Elischerinput (output) errors. 82878ed226SJulian Elischer.It Dv NGM_UBT_NODE_RESET_STAT 83878ed226SJulian ElischerReset all statistic counters to zero. 84878ed226SJulian Elischer.El 85878ed226SJulian Elischer.Sh SHUTDOWN 86878ed226SJulian ElischerThis node shuts down when the corresponding USB device is un-plugged. 87878ed226SJulian Elischer.Sh BUGS 88f393f498SRuslan ErmilovIsochronous USB transfers are probably broken. 89f393f498SRuslan ErmilovIt means that USB device probably will not be able to transfer SCO data (voice). 90f393f498SRuslan ErmilovDriver does not support firmware upgrade procedure. 91f393f498SRuslan ErmilovUSB interrupt transfers are implemented as bulk-in transfers (not really a bug). 92878ed226SJulian Elischer.Sh SEE ALSO 93878ed226SJulian Elischer.Xr netgraph 4 , 94f393f498SRuslan Ermilov.Xr usb 4 , 95878ed226SJulian Elischer.Xr ngctl 8 96878ed226SJulian Elischer.Sh HISTORY 97878ed226SJulian ElischerThe 98f393f498SRuslan Ermilov.Nm ubt 99878ed226SJulian Elischernode type was implemented in 100878ed226SJulian Elischer.Fx 5.0 . 101878ed226SJulian Elischer.Sh AUTHORS 102878ed226SJulian Elischer.An Maksim Yevmenkin Aq m_evmenkin@yahoo.com 103