EN JA
NG_UBT(4)
NG_UBT(4) FreeBSD Kernel Interfaces Manual NG_UBT(4)

名称

ng_ubtBluetooth USB デバイスのためのドライバでもある netgraph ノードタイプ

書式

#include < sys/types.h>
#include < netgraph/bluetooth/include/ng_ubt.h>

解説

ubt ノードタイプは、永続的な netgraph ノードタイプと Bluetooth USB デバイスのためのドライバの両方です。それは、Bluetooth 仕様本 v1.1 の章 H2 に従って Bluetooth USB トランスポートレイヤ (層) を実装しています。新しいノードは、サポートしている USB デバイスがプラグを差し込まれるとき、作成されます。

ノードには、 hook (フック) と呼ばれる単一のフックがあります。デバイスで受信された着信バイトは、HCI フレーム (長さに従って) に再組み立てされます。完全な HCI フレームは、フックで送信されます。デバイスがそれを送信しなかったなら、ノードは、HCI フレームインジケータを加えます。 hook で受信された HCI フレームは、外に転送されます。デバイスがそれが存在しているのを必要としないなら、ノードは、HCI フレームインジケータを落とします。

ハードウェア

ng_ubt ドライバは、次を含む、Bluetooth 仕様 v1.1 に適合するすべての Bluetooth USB デバイスをサポートします:

  • 3Com 3CREB96
  • AIPTEK BR0R02
  • EPoX BT-DG02
  • Mitsumi Bluetooth USB アダプタ
  • MSI MS-6967
  • TDK Bluetooth USB アダプタ
  • Broadcom Bluetooth USB アダプタ

フック

このノードタイプは、次のフックをサポートします:
hook
単一の mbuf 構造に含まれた単一の HCI フレーム。

コントロールメッセージ

このノードタイプは、次を加えて、一般的なコントロールメッセージをサポートします:
NGM_UBT_NODE_GET_DEBUG ( get_debug)
ノードの現在のデバッグレベルを含む整数を返します。
NGM_UBT_NODE_SET_DEBUG ( set_debug)
このコマンドは、整数引数を取り、ノードの現在のデバッグレベルを設定します。
NGM_UBT_NODE_GET_QLEN ( get_qlen)
このコマンドは、キュー番号を指定するパラメータを取り、ノードのためのキューの現在の最大の長さを返します。
NGM_UBT_NODE_SET_QLEN ( set_qlen)
このコマンドは、キュー番号とキューの最大の長さを指定する 2 つのパラメータを取り、ノードのためのキューの最大の長さを設定します。
NGM_UBT_NODE_GET_STAT ( get_stat)
つぎのような、ノードのための様々な統計値情報を返します: 送信されたバイト (フレーム) 数、受信されたバイト (フレーム) 数、と入力 (出力) エラーの数。
NGM_UBT_NODE_RESET_STAT ( reset_stat)
すべての統計値カウンタを 0 にリセットします。

シャットダウン

このノードは、対応する USB デバイスのプラグを抜かれるとき、シャットダウンします。

歴史

ubt ノードタイプは、 FreeBSD 5.0 で実装されました。

作者

Maksim Yevmenkin <m_evmenkin@yahoo.com>

バグ

アイソクロナス USB 転送は、壊れています。これは、USB デバイスが SCO データ (ボイス) を転送できないのを意味します。 USB 割り込み転送は、(本当にバグでない) バルクイン転送として実装されています。
December 26, 2012 FreeBSD