SH-04Aをbluetoothモデムとして利用する(in Gentoo)
かなり色々やったのでとりあえずメモ。
まずはカーネルの構築から。
Network Setting --> [*] Bluetooth 〜 --> とりあえず全部選択(モジュー
ルにできるものはモジュールとして)
で、USB接続関連で、UHCI 〜とかなっているものも選択。この辺は勘でい
きます。
そしてmakeしたら、忘れずに/bootにコピーして(GRUB利用している人は大
抵こうなっていますよね)、reboot。
再起動して、lsusbで見慣れないデバイスが認識されていたりしたらそれか
もしれません。
次に、bluetooth用のツールなどをインストールします。
emerge bluez-tools bluez-libs
とりあえずこれで全部入ります。
・・・この辺りはgentoo のドキュメントに書かれていますので、そっちを
閲覧したほうがよっぽどいいとは思いますが。
そして、bluetoothを起動します
$ sudo /etc/init.d/bluetooth start
gentooのドキュメントでは、hcid、sdpd、rfcommdの三つが起動するようになっているかもしれませんが、現在では
hcidにsdpdの機能が取込まれたためか、hcidとrfcommdしか起動しません。
現在bluetoothとして認識されているものを確認するためにhciconfig。
上手い具合に次のように表示されたら、ちゃんと認識されています。
$ hciconfig hci0: Type: USB BD Address: 00:24:33:D5:16:08 ACL MTU: 1021:8 SCO MTU: 64:1 UP RUNNING PSCAN ISCAN RX bytes:16618 acl:450 sco:0 events:504 errors:0 TX bytes:10806 acl:421 sco:0 commands:88 errors:0
/etc/bluetooth/hcid.confを設定することになります。基本的にはgentooのをそのまま利用する形で問題ありませんが、一つだけ注意が。
gentooドキュメントでは、pinコードの設定は/etc/bluetooth/pinに書くように言われていますが、bluez-3.*では、各hci内部に、
passkey "任意のPINコード";
のように記述します。
hcid.confの記述が終わったら、とりあえずは/etc/init.d/bluetooth restart します。
さて、ここからSH-04側でも設定が必要になります。
SH-04Aのトップメニュー --> LifeKit --> Bluetoothから、「新規機器登録」を選択。
そしたら、hcid.confで記述した名前の機器が見つかると思いますので、選択後、hcid.confで記述したpasskeyを入力します。
これで問題無く認識されたら、SH-04Aを「接続待機」状態にします。これは単純にメニューから選択するだけです。
接続待機状態になると、SH-04Aのメイン画面の上に、bluetoothのアイコンが点滅するようになります。
PC側から見えているかを確認するために、hcitool scan で確認してみます。
derui@vaio_z ~ % hcitool scan Scanning ... (SH04Aのデバイス情報)
というように表示されたら成功となります。
さて、次はペアリングなんですが、これはちょいと面倒になります。
まずはGentoo側で、SH-04Aの情報を確認します。
$ sdptool search DUN
上記を実行した結果、表示される情報から、「Channel : 〜」となっている部分をメモっておきます。
そして、/etc/bluetooth/rfcomm.confを編集します。
この辺もGentooハンドブックを参考にしていただくとして、その中でchannel 〜;という行がありますが、ここのchannelの値として、さっきメモしたものを設定します。
rfcomm.confを編集できたら、/etc/init.d/bluetooth restartで再起動します。
ここまできたらSH-04Aとのペアリングをしてみます。SH-04A側を接続待機状態にして、以下のコマンドを打ってみます。
$ rfcomm connect 0
成功すると、SH-04AのBluetoothアイコンの点滅が止まり、灰色になったと思います。Gentoo側は、"Connected /dev/rfcomm0 〜"のように表示されており、
"Press CTRL-C for hangup" と表示されたままで停止していれば成功です。
さて、次に実際にモデムとして接続するんですが、接続される方はパケホーダイ・ダブルであることを確認しておいてください。パケホーダイ・ダブルは現在PCとのデータ通信(パケット通信)で、13,000円まで利用した場合は、以降定額となるようになっています。
・・・なんですが、さっぱり接続できません。正確に言えば、Bluetooth経由でSH-04Aにパケット接続を開始させることはできているんですが、そこから先に行けない状態です。
私の/etc/conf.d/netは次のようになっています。
config_ppp1=( "ppp" ) dhcp_ppp1="nontp" link_ppp1="/dev/rfcomm0" pppd_ppp1=( "defaultroute" "usepeerdns" "ipcp-accept-remote" "ipcp-accept-local" "lock" "460800" "modem crtscts" ) phone_number_ppp1=( "*99***1#" ) username_ppp1='test' password_ppp1='test' chat_ppp1=( 'ABORT' 'BUSY' 'ABORT' 'ERROR' 'ABORT' 'NO ANSWER' 'ABORT' 'NO CARRIER' 'ABORT' 'NO DIALTONE' 'ABORT' 'Invalid Login' 'ABORT' 'Login incorrect' 'TIMEOUT' '5' '' 'ATZ' 'OK' 'AT' 'OK' 'ATDT\T' 'TIMEOUT' '60' 'CONNECT' '' 'TIMEOUT' '5' '~--' '' )
どっかが悪いんだとは思いますが。状況が変わったら追記していこうと思います。