home | help
NG_UBT(4)		     Kernel Interfaces Manual		       NG_UBT(4)

NAME
     ubt -- Netgraph node type that is also a driver for Bluetooth USB devices

SYNOPSIS
     #include <sys/types.h>
     #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 supported USB device is plugged.

     The node has a single hook called hook.  Incoming bytes received on the de-
     vice  are	re-assembled into HCI frames (according to the length). Full HCI
     frames are sent out on the hook. The node will add HCI frame  indicator  if
     device  did  not  send it. HCI frames received on hook are transmitted out.
     The node will drop HCI frame indicator unless  device  requires  it  to  be
     present.

HOOKS
     This node type supports the following hooks:

     hook    single HCI frame contained in 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 current debug level
	  for the node.

     NGM_UBT_NODE_GET_QLEN
	  This command takes a parameter that specifies queue number and returns
	  current maximal length of the queue for the node.

     NGM_UBT_NODE_SET_QLEN
	  This command takes two parameters that specify queue number and  maxi-
	  mum  length  of the queue and sets 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.

BUGS
     Isochronous  USB  transfers  are  probably broken. It means that USB device
     probably will not be able to transfer SCO data  (voice).  Driver  does  not
     support firmware upgrade procedure. USB interrupt transfers are implemented
     as bulk-in transfers (not really a bug).

SEE ALSO
     usb(4), netgraph(4), ngctl(8)

HISTORY
     The ubt node type was implemented in FreeBSD 5.0.

AUTHORS
     Maksim Yevmenkin <m_evmenkin@yahoo.com>

FreeBSD 5.0			  June 14, 2002 		       NG_UBT(4)

home | help