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

NAME
     ng_bt3c -- Netgraph node type that is also a 3Com Bluetooth PC card driver

SYNOPSIS
     #include <sys/types.h>
     #include <netgraph/bluetooth/include/ng_bt3c.h>

DESCRIPTION
     The  btccc  node  type is both a persistent Netgraph node type and a driver
     for the 3Com Bluetooth PC card (3CRWB6096-HP).  It implements  a  Bluetooth
     HCI  UART	transport layer as per chapter H4 of the Bluetooth Specification
     Book v1.1.  A new node is created when the card is plugged.

     In order to use the card one MUST download  the  firmware	first.	 Due  to
     copyright	issues	the  firmware  cannot be provided with this driver.  The
     firmware can be obtained from the Windows driver package that can be  down-
     loaded  from  the	3Com  web  site  at  no  charge.   The	firmware name is
     BT3CPCC.BIN.  To load the firmware into the card, use bt3cfw(8).  I am  us-
     ing the original firmware that came with the card on CD-ROM.

	   MD5 (BT3CPCC.BIN) = 36170fda56ea9fdbf1702c966f8a97f1

     For OLDCARD systems the entry in pccard.conf(5) might look like this:

	   # 3Com 3CRWB60-A Bluetooth PC Card
	   card "3COM" "3CRWB60-A" "Bluetooth PC Card"
		   config  auto    "btccc" ?
		   insert  /usr/sbin/bt3cfw -n $device -f /etc/BT3CPCC.bin

     Do not forget to load the module and SIGHUP pccardd(8).

     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.  HCI frames received on hook are transmit-
     ted out.  No modification to the data is performed in either direction.

HARDWARE
     The ng_bt3c driver provides support  for  the  3Com/HP  3CRWB6096-A  PCCARD
     bluetooth adapter.

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_BT3C_NODE_GET_STATE
	     Returns the current receiving state for the node.

     NGM_BT3C_NODE_GET_DEBUG
	     Returns an integer containing the current debug level for the node.

     NGM_BT3C_NODE_SET_DEBUG
	     This  command  takes an integer argument and sets the current debug
	     level for the node.

     NGM_BT3C_NODE_GET_QLEN
	     This command takes a parameter that specifies queue number and  re-
	     turns the current length of the queue for the node.

     NGM_BT3C_NODE_SET_QLEN
	     This command takes two parameters that specify the queue number and
	     the  maximum length of the queue and sets the maximum length of the
	     queue for the node.

     NGM_BT3C_NODE_GET_STAT
	     Returns various statistic information for the node, such as: number
	     of bytes (frames) sent, number of bytes (frames) received and  num-
	     ber of input (output) errors.

     NGM_BT3C_NODE_RESET_STAT
	     Reset all statistic counters to zero.

     NGM_BT3C_NODE_DOWNLOAD_FIRMWARE
	     Download card firmware.

SHUTDOWN
     This node shuts down when the corresponding card is un-plugged.

SEE ALSO
     cardbus(4),  netgraph(4),	pccbb(4),  pcic(4),  pccard.conf(5),  bt3cfw(8),
     ngctl(8), pccardc(8), pccardd(8)

HISTORY
     The btccc node type was implemented in FreeBSD 5.0.

AUTHORS
     Maksim Yevmenkin <m_evmenkin@yahoo.com>

BUGS
     The driver is based on  information  obtained  from  Jose	Orlando  Pereira
     <jop@di.uminho.pt> and disassembled the W2K driver.

FreeBSD 6.0			December 17, 2004		      NG_BT3C(4)

home | help