IPnom Home • Manuals • FreeBSD

 FreeBSD Man Pages

Man Sections:Commands (1)System Calls (2)Library Functions (3)Device Drivers (4)File Formats (5)Miscellaneous (7)System Utilities (8)
Keyword Live Search (10 results max):
 Type in part of a command in the search box.
 
Index:
  CPU_ELAN(4)
  CPU_SOEKRIS(4)
  aac(4)
  acd(4)
  acpi(4)
  acpi_asus(4)
  acpi_panasonic(4)
  acpi_thermal(4)
  acpi_toshiba(4)
  acpi_video(4)
  ad(4)
  adv(4)
  adw(4)
  afd(4)
  agp(4)
  agpgart(4)
  aha(4)
  ahb(4)
  ahc(4)
  ahd(4)
  aic(4)
  aio(4)
  alpm(4)
  altq(4)
  amd(4)
  amdpm(4)
  amr(4)
  an(4)
  apm(4)
  ar(4)
  arcmsr(4)
  arl(4)
  arp(4)
  asr(4)
  ast(4)
  ata(4)
  atapicam(4)
  ath(4)
  ath_hal(4)
  atkbd(4)
  atkbdc(4)
  aue(4)
  awi(4)
  axe(4)
  bfe(4)
  bge(4)
  bktr(4)
  blackhole(4)
  bpf(4)
  bridge(4)
  brooktree(4)
  bt(4)
  cam(4)
  card(4)
  cardbus(4)
  carp(4)
  cbb(4)
  ccd(4)
  cd(4)
  cdce(4)
  ch(4)
  ciss(4)
  cm(4)
  cnw(4)
  cp(4)
  cpufreq(4)
  crypto(4)
  cryptodev(4)
  cs(4)
  ct(4)
  ctau(4)
  cue(4)
  cx(4)
  cy(4)
  da(4)
  dc(4)
  dcons(4)
  dcons_crom(4)
  ddb(4)
  de(4)
  devctl(4)
  digi(4)
  disc(4)
  divert(4)
  dpt(4)
  dummynet(4)
  ed(4)
  ef(4)
  ehci(4)
  el(4)
  em(4)
  en(4)
  ep(4)
  esp(4)
  ex(4)
  exca(4)
  faith(4)
  fast_ipsec(4)
  fatm(4)
  fd(4)
  fdc(4)
  fe(4)
  fea(4)
  firewire(4)
  fla(4)
  fpa(4)
  fwe(4)
  fwip(4)
  fwohci(4)
  fxp(4)
  gbde(4)
  gdb(4)
  gem(4)
  geom(4)
  gif(4)
  gre(4)
  gx(4)
  harp(4)
  hatm(4)
  hfa(4)
  hifn(4)
  hme(4)
  hptmv(4)
  i4b(4)
  i4bcapi(4)
  i4bctl(4)
  i4bing(4)
  i4bipr(4)
  i4bisppp(4)
  i4bq921(4)
  i4bq931(4)
  i4brbch(4)
  i4btel(4)
  i4btrc(4)
  iavc(4)
  ichsmb(4)
  ichwd(4)
  icmp(4)
  icmp6(4)
  ida(4)
  idt(4)
  ie(4)
  ieee80211(4)
  if_an(4)
  if_aue(4)
  if_awi(4)
  if_axe(4)
  if_bfe(4)
  if_bge(4)
  if_cue(4)
  if_dc(4)
  if_de(4)
  if_disc(4)
  if_ed(4)
  if_ef(4)
  if_em(4)
  if_en(4)
  if_faith(4)
  if_fatm(4)
  if_fwe(4)
  if_fwip(4)
  if_fxp(4)
  if_gem(4)
  if_gif(4)
  if_gre(4)
  if_gx(4)
  if_hatm(4)
  if_hme(4)
  if_idt(4)
  if_kue(4)
  if_lge(4)
  if_my(4)
  if_ndis(4)
  if_nge(4)
  if_oltr(4)
  if_patm(4)
  if_pcn(4)
  if_ppp(4)
  if_re(4)
  if_rl(4)
  if_rue(4)
  if_sbni(4)
  if_sbsh(4)
  if_sf(4)
  if_sis(4)
  if_sk(4)
  if_sl(4)
  if_sn(4)
  if_ste(4)
  if_stf(4)
  if_tap(4)
  if_ti(4)
  if_tl(4)
  if_tun(4)
  if_tx(4)
  if_txp(4)
  if_udav(4)
  if_vge(4)
  if_vlan(4)
  if_vr(4)
  if_wb(4)
  if_wi(4)
  if_xe(4)
  if_xl(4)
  ifmib(4)
  ifpi(4)
  ifpi2(4)
  ifpnp(4)
  ihfc(4)
  iic(4)
  iicbb(4)
  iicbus(4)
  iicsmb(4)
  iir(4)
  imm(4)
  inet(4)
  inet6(4)
  intpm(4)
  intro(4)
  io(4)
  ip(4)
  ip6(4)
  ipaccounting(4)
  ipacct(4)
  ipf(4)
  ipfirewall(4)
  ipfw(4)
  ipl(4)
  ipnat(4)
  ips(4)
  ipsec(4)
  isic(4)
  isp(4)
  ispfw(4)
  itjc(4)
  iwic(4)
  ixgb(4)
  joy(4)
  kame(4)
  keyboard(4)
  kld(4)
  kmem(4)
  ktr(4)
  kue(4)
  led(4)
  lge(4)
  linux(4)
  lnc(4)
  lo(4)
  longrun(4)
  loop(4)
  lp(4)
  lpbb(4)
  lpt(4)
  mac(4)
  mac_biba(4)
  mac_bsdextended(4)
  mac_ifoff(4)
  mac_lomac(4)
  mac_mls(4)
  mac_none(4)
  mac_partition(4)
  mac_portacl(4)
  mac_seeotheruids(4)
  mac_stub(4)
  mac_test(4)
  mcd(4)
  md(4)
  mem(4)
  meteor(4)
  miibus(4)
  mlx(4)
  mly(4)
  mouse(4)
  mpt(4)
  mse(4)
  mtio(4)
  multicast(4)
  my(4)
  natm(4)
  natmip(4)
  ncr(4)
  ncv(4)
  ndis(4)
  net(4)
  netgraph(4)
  netintro(4)
  networking(4)
  ng_UI(4)
  ng_async(4)
  ng_atm(4)
  ng_atmllc(4)
  ng_atmpif(4)
  ng_bluetooth(4)
  ng_bpf(4)
  ng_bridge(4)
  ng_bt3c(4)
  ng_btsocket(4)
  ng_ccatm(4)
  ng_cisco(4)
  ng_device(4)
  ng_echo(4)
  ng_eiface(4)
  ng_etf(4)
  ng_ether(4)
  ng_fec(4)
  ng_frame_relay(4)
  ng_gif(4)
  ng_gif_demux(4)
  ng_h4(4)
  ng_hci(4)
  ng_hole(4)
  ng_hub(4)
  ng_iface(4)
  ng_ip_input(4)
  ng_ksocket(4)
  ng_l2cap(4)
  ng_l2tp(4)
  ng_lmi(4)
  ng_mppc(4)
  ng_netflow(4)
  ng_one2many(4)
  ng_ppp(4)
  ng_pppoe(4)
  ng_pptpgre(4)
  ng_rfc1490(4)
  ng_socket(4)
  ng_split(4)
  ng_sppp(4)
  ng_sscfu(4)
  ng_sscop(4)
  ng_tee(4)
  ng_tty(4)
  ng_ubt(4)
  ng_uni(4)
  ng_vjc(4)
  ng_vlan(4)
  nge(4)
  nmdm(4)
  npx(4)
  nsp(4)
  null(4)
  ohci(4)
  oldcard(4)
  oltr(4)
  opie(4)
  orm(4)
  pae(4)
  pass(4)
  patm(4)
  pccard(4)
  pccbb(4)
  pcf(4)
  pci(4)
  pcic(4)
  pcm(4)
  pcn(4)
  pcvt(4)
  perfmon(4)
  pf(4)
  pflog(4)
  pfsync(4)
  pim(4)
  plip(4)
  pnp(4)
  pnpbios(4)
  polling(4)
  ppbus(4)
  ppc(4)
  ppi(4)
  ppp(4)
  psm(4)
  pst(4)
  pt(4)
  pty(4)
  puc(4)
  random(4)
  rawip(4)
  ray(4)
  rc(4)
  re(4)
  rl(4)
  rndtest(4)
  route(4)
  rp(4)
  rue(4)
  sa(4)
  sab(4)
  safe(4)
  sbni(4)
  sbp(4)
  sbp_targ(4)
  sbsh(4)
  sc(4)
  scbus(4)
  scd(4)
  sched_4bsd(4)
  sched_ule(4)
  screen(4)
  screensaver(4)
  scsi(4)
  sem(4)
  ses(4)
  sf(4)
  si(4)
  sio(4)
  sis(4)
  sk(4)
  skey(4)
  sl(4)
  smapi(4)
  smb(4)
  smbus(4)
  smp(4)
  sn(4)
  snc(4)
  snd(4)
  snd_ad1816(4)
  snd_als4000(4)
  snd_cmi(4)
  snd_cs4281(4)
  snd_csa(4)
  snd_ds1(4)
  snd_emu10k1(4)
  snd_es137x(4)
  snd_ess(4)
  snd_fm801(4)
  snd_gusc(4)
  snd_ich(4)
  snd_maestro(4)
  snd_maestro3(4)
  snd_neomagic(4)
  snd_sbc(4)
  snd_solo(4)
  snd_uaudio(4)
  snd_via8233(4)
  snd_via82c686(4)
  snd_vibes(4)
  snp(4)
  sound(4)
  speaker(4)
  spic(4)
  spkr(4)
  splash(4)
  sppp(4)
  sr(4)
  stderr(4)
  stdin(4)
  stdout(4)
  ste(4)
  stf(4)
  stg(4)
  streams(4)
  svr4(4)
  sym(4)
  syncache(4)
  syncer(4)
  syncookies(4)
  syscons(4)
  sysmouse(4)
  tap(4)
  targ(4)
  tcp(4)
  tdfx(4)
  termios(4)
  ti(4)
  tl(4)
  trm(4)
  ttcp(4)
  tty(4)
  tun(4)
  twa(4)
  twe(4)
  tx(4)
  txp(4)
  uart(4)
  ubsa(4)
  ubsec(4)
  ubser(4)
  ubtbcmfw(4)
  ucom(4)
  udav(4)
  udbp(4)
  udp(4)
  ufm(4)
  uftdi(4)
  ugen(4)
  uhci(4)
  uhid(4)
  uhidev(4)
  ukbd(4)
  ulpt(4)
  umass(4)
  umct(4)
  umodem(4)
  ums(4)
  unix(4)
  uplcom(4)
  urio(4)
  usb(4)
  uscanner(4)
  utopia(4)
  uvisor(4)
  uvscom(4)
  vga(4)
  vge(4)
  viapm(4)
  vinum(4)
  vinumdebug(4)
  vlan(4)
  vn(4)
  vpd(4)
  vpo(4)
  vr(4)
  vt(4)
  vx(4)
  watchdog(4)
  wb(4)
  wd(4)
  wdc(4)
  wi(4)
  witness(4)
  wl(4)
  wlan(4)
  worm(4)
  xe(4)
  xl(4)
  xpt(4)
  zero(4)

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 indi-
     cator 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_DEV_NODES
	     This command takes a single integer parameter.  If the parame-
	     ter's value is not zero, then the driver will create device nodes
	     for the control, interrupt, bulk-in and bulk-out endpoints.  If
	     the parameter's value is zero, then the driver will destroy the
	     device nodes for the endpoints.  The device nodes interface is
	     mutually exclusive with the Netgraph interface.


DEVICE NODES INTERFACE

     The ubt driver can create or destroy endpoint device nodes on request.
     This feature can be used to implement an external firmware download util-
     ity.

     Control transfers can only happen on the control endpoint which is always
     endpoint 0.  Control requests are issued by ioctl(2) calls.

     Only incoming transfers are supported on an interrupt endpoint.  To per-
     form I/O on an interrupt endpoint, read(2) should be used.  All I/O oper-
     ations on an interrupt endpoint are unbuffered.

     The bulk transfers can be in or out depending on the endpoint.  To per-
     form I/O on a bulk endpoint, read(2) and write(2) should be used.	All
     I/O operations on a bulk endpoint are unbuffered.

     The control endpoint (endpoint 0) handles the following ioctl(2) calls:

     USB_GET_DEVICE_DESC (usb_device_descriptor_t)
	     Return the device descriptor.

     USB_GET_STRING_DESC (struct usb_string_desc)
	     Get a string descriptor for the given language ID and string
	     index.

	     struct usb_string_desc {
		     int		     string_index;
		     int		     language_id;
		     usb_string_descriptor_t desc;
	     };

     USB_DO_REQUEST (struct usb_ctl_request)
	     Send a USB request to the device on the control endpoint.	Any
	     data sent to/from the device is located at data.  The size of the
	     transferred data is determined from the request.  The addr field
	     is ignored in this call.  The flags field can be used to flag
	     that the request is allowed to be shorter than the requested
	     size, and the actlen will contain the actual size on completion.

	     struct usb_ctl_request {
		     int		  addr;
		     usb_device_request_t request;
		     void		  *data;
		     int		  flags;
	     #define USBD_SHORT_XFER_OK   0x04	  /* allow short reads */
		     int		  actlen; /* actual length transferred */
	     };
	     This is a dangerous operation in that it can perform arbitrary
	     operations on the device.	Some of the most dangerous (e.g.,
	     changing the device address) are not allowed.


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).


FILES

     /dev/ubtN.EE  Endpoint EE of device N.


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>

FreeBSD 5.4		      September 13, 2004		   FreeBSD 5.4

SPONSORED LINKS




Man(1) output converted with man2html , sed , awk