2013年5月1日水曜日

【.tested】Logitec Bluetooth USBアダプタ LBT-UAN04C2 [Debian Wheezy/Squeeze][AX3][A6]

Logitec LBT-UAN04C2は、Bluetooth(R) 4.0に対応した、Class2のUSBホストアダプタです。



今回、OpenBlocks AX3およびA6から本USB Bluetoothアダプタを介して、RATOC REX-BT60および、Bluetoothスピーカー Buffalo BSS09Bを接続し、検証を行いました。
従来のDebian 6.0(Squeeze)環境に加え、先日リリースされたDebian 7.1環境における検証も行います。

( 2013/8/7 追記 )
Debian 7.1正式版が公開されましたので、再度検証しました。
本デバイスを使用される方は、 上記リンクより、リリース版のファームウェアをご利用下さい。 

OBDN技術ブログによる動作検証は、該当するデバイスの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
Debian 6.0 Squeeze
OpenBlocks AX3/4 kernel: 3.0.6
OpenBlocks A6 kernel: 2.6.31.8
Debian 7.0 Wheezy
OpenBlocks AX3/4 kernel: 3.2.40
OpenBlocks A6 kernel: 3.2.40

<使用機器>

OpenBlocks AX3
OpenBlocks A6
Logitec LBT-UAN04C2 Bluetooth USBホストアダプタ
RATOC Systems Inc. REX-BT60 Bluetooth-RS232C変換アダプタ
Buffalo BSSP09B Bluetooth ワイヤレススピーカ

1. Bluetoothデバイスの導入


標準でサポートされるbtusbモジュールにより認識します。

 <dmesgの例 A6/Wheezy kernel 3.2.36環境>

Bluetooth: Core ver 2.16
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
Bluetooth: Generic Bluetooth USB driver ver 0.6
usbcore: registered new interface driver btusb


Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11

 <dmesgの例 A6/squeeze kernel 2.6.31環境>

A6/Kernel 2.6.31

Bluetooth: Core ver 2.15
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: Generic Bluetooth USB driver ver 0.5
usbcore: registered new interface driver btusb


Bluetooth: L2CAP ver 2.13
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bridge firewalling registered
Bluetooth: SCO (Voice Link) ver 0.6
Bluetooth: SCO socket layer initialized

2. Bluezの導入


Bluezのインストール

Bluetooth機器の操作は、bluezパッケージを利用します。

# aptitude -R install bluez python-dbus python-gobject

python-*は、ペアリングなどを行うスクリプトを動かすために必要です。

インターフェイスの確認・設定

Bluetooth機器はhciXというデバイス名(インターフェイス名)で扱います。

# hciconfig -a
hci0:   Type: BR/EDR  Bus: USB
        BD Address: 00:09:DD:40:C6:12  ACL MTU: 310:10  SCO MTU: 64:8
        UP RUNNING PSCAN
        RX bytes:23538 acl:47 sco:0 events:2966 errors:0
        TX bytes:1423677 acl:5253 sco:0 commands:101 errors:0
        Features: 0xff 0xff 0x8f 0xfe 0xdb 0xff 0x5b 0x87
        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
        Link policy: RSWITCH HOLD SNIFF PARK
        Link mode: SLAVE ACCEPT
        Name: 'obsa6-0'
        Class: 0x4a0100
        Service Classes: Networking, Capturing, Telephony
        Device Class: Computer, Uncategorized
        HCI Version: 4.0 (0x6)  Revision: 0x1d86
        LMP Version: 4.0 (0x6)  Subversion: 0x1d86
        Manufacturer: Cambridge Silicon Radio (10)

3. REX-BT60との接続


REX-BT60はBluetoothを介して離れた場所にあるシリアル通信機器を、制御・管理できるシリアルインターフェイスです。また、コネクターに は、EIA/TIA-574 仕様のD-Sub 9Pin を採用しており、RS-232C機器とBluetooth接続で通信が可能です。
ペアリング方法、および通信テストに関しては、同社のclass1 Bluetoothホストアダプタ、LBT-UAN04C1を使用した場合と同じです。

 [.tested] RATOC SYSTEM REX-BT60 [Debian Wheezy/Squeeze][AX3][A6]

を参照して下さい。

4. Buffelo BSSP09B ワイヤレススピーカーとの接続


Buffelo BSSP09Bは、Bluetooth ver2.1に対応した、ワイヤレススピーカ/ハンズフリーヘッドセット、マイクユニットで、A2DPやHFP、HSPのプロファイルをサポートしています。
今回、bluez-audioによるサウンド出力を行ってみます。



デバイスのスキャン

 hcitoolを使用します。

# hcitool scan
Scanning ...
        XX:XX:XX:XX:XX:XX       BSSP09B

REX-BT60は、RN42-XXXXと表示されます。

ペアリング

simple-agentは、Debian wheezeのパッケージからは、
bluez-simple-agent
bluez-test-device
に置き換わり、/usr/bin以下にインストールされています。

ただし、Debian/Wheezyパッケージにより提供されるbluez-simple-agentコマンドは、そのままでは本ユニットとの接続が出来ません。
コマンドを直接viで編集して、修正を行います。
(7.1リリース版においても、下記の修正が必要となりました)

# vi /usr/bin/bluez-simple-agent

#capability = "KeyboardDisplay"  この行を編集する。
capability = "DisplayYesNo"


それぞれのペアリング方法は以下の通りです。
BSSP09B側をペアリング待機状態にしておけば、特に入力は必要ありません。

 (Debian 6.0 Squeeze)

# /usr/share/doc/bluez/examples/simple-agent hci0 <BTADDR>
Release
New device (/org/bluez/3445/hci0/dev_XX_XX_XX_XX_XX_XX)

 (Debian 7.0 Wheezy)

# bluez-simple-agent hci0 <BTADDR>
Release
New device (/org/bluez/3445/hci0/dev_XX_XX_XX_XX_XX_XX)


ペアリングの確認は以下のコマンドで行います。

 (Debian 6.0 Squeeze)

# /usr/share/doc/bluez/examples/test-device list
dbus.Array([dbus.ObjectPath('/org/bluez/1453/hci0/dev_XX_XX_XX_XX_XX_XX')], signature=dbus.Signature('o'))

 (Debian 7.0 Wheezy)

# bluez-test-device list
XX:XX:XX:XX:XX:XX BSSP09B

ペアリングの解除方法は以下の通りです。

 (Debian 6.0 Squeeze)

# /usr/share/doc/bluez/examples/test-device remove <BTADDR>

 (Debian 7.0 Wheezy)

# bluez-test-device remove <BTADDR>


4. bluez-audioによるオーディオ再生方法


Bluez-audioにより、Bluetoothデバイスを使用した音楽再生を行います。

bluez-audioおよび、mp3出力に対応したプレーヤである、mpg123を導入します。

# aptitude -R install bluez-audio mpg123

.asoundrcを編集します。

# cat << EOF > ~/.asoundrc
pcm.bt {
  type bluetooth
  device "30:XX:XX:XX:XX:XX"
}
EOF

Wheezyのパッケージの場合、/etc/bluetooth/audio.confに以下の部分を追加します。

[General]
Enable=Socket

音楽再生のテストを行います。

# mpg123 -a bt http://classical-music.sakura.ne.jp/Room/Chopin-Poronase-Heroic.mp3

ただし、AX3に適用される、プレリリース版Debian Wheezyパッケージ(armhf)のmpg123ではうまく再生できないため、mplayerを使用して動作確認を行いました。

# aptitude install mplayer
# mplayer -ao alsa:device=bt http://classical-music.sakura.ne.jp/Room/Chopin-Poronase-Heroic.mp3

5. さいごに


LBT-UAN04C2は、Class1製品である、LBT-UAN04C1と同様に、OpenBlocks AX3/A6のDebian/squeezeパッケージおよび、Deabian/Wheezyパッケージで利用出来ることを確認しました。

WheezyパッケージはSqueezeパッケージとコマンドラインツールの場所が変更されていること、ペアリングに際し、一部コマンドファイルの変更が必要なこと、オーディオ再生におけるbluetooth管理プログラムのデフォルト設定が違うことなどがあり、上記の記事にあるように、一連の動作確認には若干の修正が必要となります。

0 件のコメント:

コメントを投稿