2010年5月5日

NetBSD5.0のBluetoothをデバッグする方法

最近、NetBSD5.0でBluetoothを利用して色々と試しています。

カーネルのBluetoothスタック関連でのデバッグを行う方法をメモ代わりに書いておきます。
デバッグの種類としては、"Bluetoothスタックのデバッグ"と"ドングルのデバッグ"の2種類があります。
ここでは、ドングルとしてはUSBタイプのドングルを利用するものとして記載します。(ちなみに私が使用しているのは、PlanexのBT-MicroEDR2です)

まずはカーネルでデバッグオプションを有効にしてカーネルをビルドします。設定するオプションは、BLUETOOTH_DEBUG と UBT_DEBUG の2種類。カーネルのコンフィグファイル(e.g. /usr/src/sys/arch/i386/conf/GENERIC)に以下のように追記します。
   options BLUETOOTH_DEBUG
   options UBT_DEBUG

この設定でカーネルをビルドし、ビルドしたカーネルにて起動します。ただ、これだけではデバッグ文は出てきません。デバッグ文を表示するには、sysctlコマンドにてデバッグレベルの設定を行います。例えば、以下のような形式です。
  # sysctl -w net.bluetooth.debug=11
  # sysctl -w hw.ubt_debug=51

これでデバッグ文が出力されるようになります。ちなみにsysctlで設定する値(上記の例では"11"とか"51")はデバッグレベルで値が大きいほどより詳細なデバッグ文が出力されます(その文、デバッグ文の量が増えます)。このあたりは、NetBSDでの他のドライバのデバッグと同じところですね。上記設定を行うと全てのデバッグ文が有効になります。デバッグ文を減らしたい場合は、値を小さく設定すればよいかと思います。

0 件のコメント: