USBドングルのBluetoothが認識されたので、テストをしてみたのですがAndroidとVoyageでペアリングできるものの通信ができませんでした。
よくよく調べてみると、VoyageにはBluetoothの通信に必要なRFCOMMがロードされていない事が判明。
よくよく調べてみると、VoyageにはBluetoothの通信に必要なRFCOMMがロードされていない事が判明。
RFCOMMをロードするためにはカーネルの再構成が必要になります。カーネルの再構成にはコンパイルを伴うので開発ツールも必要になります。ZBOXNANOにはいらないパッケージをインストールしたくはなかったのですが仕方ありません。
まず再構成に必要なパッケージをインストールします。
カーネルソースパッケージのインストール
ソースの用意
コンフィグレーション
少し待つとCUIのメニューが表示されます。
Networking support → Bluetooth subsystem support と開いて
こんな風に変更します。使う予定のないサービスもありますが、またカーネルを作り直すはめになるのも面倒なのでとりあえず全部入りです。
さらに、Bluetooth device driversから
以前ダウンロードしておいた内蔵Bluetoothのファームウェアも取り込むように指定します。
コンパイル
--revision=ya1.0は好きな名前で指定します。
コンパイルが始まりますが、ZBOXNANOではかなり時間がかかります。多分2時間ぐらいかかったと思いますが、ほかのことをやってて忘れたころに見たら終わってました。
インストール
これで再起動すると新しいカーネルが読み込まれます。
ふぅ。
注) 記憶を頼りに書いてるので間違ってるかもしれません!
まず再構成に必要なパッケージをインストールします。
root@voyage:~# apt-get install kernel-package ncurses-dev fakeroot
カーネルソースパッケージのインストール
root@voyage:~# apt-get install linux-source-3.0.0-voyage
ソースの用意
root@voyage:~# cd /usr/src
root@voyage:/usr/src# tar -jxvf linux-source-3.0.0-voyage.tar.bz2
root@voyage:/usr/src# ln -s linux-source-3.0.0-voyage linux
コンフィグレーション
root@voyage:~# cd linux
root@voyage:/usr/src/linux# cp /boot/config-3.0.0 .config
root@voyage:/usr/src/linux# make menuconfig
少し待つとCUIのメニューが表示されます。
Networking support → Bluetooth subsystem support と開いて
こんな風に変更します。使う予定のないサービスもありますが、またカーネルを作り直すはめになるのも面倒なのでとりあえず全部入りです。
さらに、Bluetooth device driversから
以前ダウンロードしておいた内蔵Bluetoothのファームウェアも取り込むように指定します。
コンパイル
root@voyage:/usr/src/linux# fakeroot make-kpkg --initrd --revision=ya1.0 kernel-image modules-image
--revision=ya1.0は好きな名前で指定します。
コンパイルが始まりますが、ZBOXNANOではかなり時間がかかります。多分2時間ぐらいかかったと思いますが、ほかのことをやってて忘れたころに見たら終わってました。
インストール
root@voyage:/usr/src/linux# cd ..
root@voyage:/usr/src# dpkg -i linux-image-3.0.0_ya1.0_i386.deb
これで再起動すると新しいカーネルが読み込まれます。
root@voyage:~# dmesg
:
[ 5.070125] Bluetooth: Core ver 2.16
[ 5.070258] Bluetooth: HCI device and connection manager initialized
[ 5.070312] Bluetooth: HCI socket layer initialized
[ 5.070362] Bluetooth: L2CAP socket layer initialized
[ 5.070832] Bluetooth: SCO socket layer initialized
[ 5.074232] Bluetooth: Generic Bluetooth USB driver ver 0.6
[ 11.695315] Bluetooth: RFCOMM TTY layer initialized
[ 11.695372] Bluetooth: RFCOMM socket layer initialized
[ 11.695416] Bluetooth: RFCOMM ver 1.11
[ 11.703248] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 11.703309] Bluetooth: BNEP filters: protocol multicast
root@voyage:~# lsusb
Bus 007 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 006 Device 002: ID 2109:0811
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
lBus 005 Device 004: ID 0cf3:3005 Atheros Communications, Inc. AR3011 Bluetooth
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 099a:0638 Zippy Technology Corp. Sanwa Supply Inc. Small Keyboard
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@voyage:~# hcitool dev
Devices:
hci0 74:2F:68:E1:2F:F4 <-- 内蔵Bluetooth
root@voyage:~# hciconfig -a
hci0: Type: BR/EDR Bus: USB
BD Address: 74:2F:68:E1:2F:F4 ACL MTU: 1022:8 SCO MTU: 121:3
UP RUNNING PSCAN
RX bytes:1886 acl:0 sco:0 events:68 errors:0
TX bytes:1727 acl:0 sco:0 commands:63 errors:0
Features: 0xff 0xfe 0x0d 0xfe 0x98 0x7f 0x79 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'voyage-0'
Class: 0x4a0100
Service Classes: Networking, Capturing, Telephony <-- サービスがロードされてる
Device Class: Computer, Uncategorized
HCI Version: 3.0 (0x5) Revision: 0x9999
LMP Version: 3.0 (0x5) Subversion: 0x9999
Manufacturer: Atheros Communications, Inc. (69)
ふぅ。
注) 記憶を頼りに書いてるので間違ってるかもしれません!
コメントする