29 April 2008

Softbank 820P と Windows Mobile 6でアクセスインターネット(パケット通信)接続

Softbank 820PのBluetoothモデム機能(DUN : Dial-up Networking Profile)を使って、インターネット接続しようとしたところ、エラーで接続できない。

20080429-error.png

デバッグ用に用いている他の携帯電話機では問題なく接続できるにもかかわらずである…

接続可能なことを確認した機種 : 911SH、802SE
今回接続不可能な機種 : 820P
試したOS : Windows XP SP2、Windows Mobile 6

Windows XPでのモデムのログは次のようになっている。ダイヤル時にエラーが返ってきている。


~略~
04-28-2008 22:38:09.937 - Send: AT<cr>
04-28-2008 22:38:09.953 - Recv: <cr><lf>OK<cr><lf>
04-28-2008 22:38:09.953 - Interpreted response: OK
04-28-2008 22:38:09.953 - Dialing.
04-28-2008 22:38:09.968 - Send: ATDT*###<cr>
04-28-2008 22:38:09.984 - Recv: <cr><lf>ERROR<cr><lf>
04-28-2008 22:38:09.984 - Interpreted response: Error
04-28-2008 22:38:09.984 - Hanging up the modem.
~略~


ソフトバンクのお客様センター(157)に確認したところ、

「製品付属のユーティリティ CD-ROMに収められた Handset Manager を用いて接続できる。Windows2000とXP以外では接続できない。」

という回答だった。モデムの初期化コマンドなどがあれば教えてほしいと聞いたところ、

「技術的なことはわからない。」


Windows XPにHandset Managerをインストールし、ネットワーク接続の新規作成を行ってみたところ、すでにインストール済みの Standard Modem over Bluetooth Link #2 に初期化コマンドが ”勝手に” 代入されていた。

20080429-xp-cnf.png

自動設定されたモデム初期化コマンドは、「+CGDCONT=1,"IP","PAP:softbank"」。

他の携帯電話で用いているモデム初期化コマンド 「+CGDCONT=1,"IP","softbank"」と少しだけ違う。

それにしても、コンピュータを汚す無意味なソフトを強制インストールさせるのではなく、初期化コマンドをマニュアルに記載しておくくらいの親切心は無いものなのか w


さて、その初期化コマンドをWindows Mobile 6に設定してやろうと、「スタートメニュー - 設定 - 接続」と辿っていって、モデムの初期化コマンド入力を探すが見当たらない。

20080429-wm2003-set.png20080429-wm6-set.png
Pocket PC 2003             Windows Mobile 6


Windows Mobile 6では、モデムの初期化コマンドが入力できない !

マイクロソフトほどの企業でも、欠陥商品出荷か w

レジストリで強制的に初期化コマンドを入力してやるしかない。Windows Mobileには、レジストリエディタが無いので、フリーソフトのTREを利用する。

HKEY_CURRENT_USER\Comm\RasBook\[接続名] のバイナリデータ DevCfg に初期化文字列が”バイナリ”で含まれているようだ。ここを書き換えるには、バイナリデータの構造がわからない事には…


[HKEY_CURRENT_USER\Comm\RasBook\Softbank GPRS]
"DevCfg"=hex:30,00,00,00,78,00,00,00,10,01,00,00,00,4b,00,00,00,00,08,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00

あと一つ、HKEY_LOCAL_MACHINE\Drivers\Unimodem\Initに設定する方法。
(参考にしたブログ 「EM・ONEとEMONSTERをBluetoothで繋いでダイヤルアップ~前編」。 注意:WM6_BT_DUN.cab はインストールしなくても、接続できる)

20080429-reg01.png
1, 2, … の後ろに新しい番号 (今回は3) を付け足して、そこに初期化コマンドを入力する。


[HKEY_LOCAL_MACHINE\Drivers\Unimodem\Init]
"3"="AT+CGDCONT=1,\"IP\",\"PAP:softbank\"<cr>"
"2"="ATE0V1&C1&D2&lt;cr>"
"1"="AT<cr>"

TREレジストリエディタで直接入力するのであれば、
新規文字列 : 3
文字列の内容 : AT+CGDCONT=1,"IP","PAP:softbank"<cr>
と入力すればよい。

この初期化コマンドを発行することで820Pで接続できるようになったのだが、911SHなど他の電話機では "PAP:" の部分を削除してやらないと接続できない…  (不便ですね)

20080429-bt-conn.png


ちなみに、820Pと802SE/911SHのBluetoothプロファイルの表示に少しだけ差がある。

20080429-802se-prop.png20080429-820p-prop.png
802SE                     820P

"Dial-up Networking" と、"Dial-up Network Gateway" の違いや如何に。
Bluetooth SIG (プロトコルの公式団体)の技術仕様書によれば、DUNにはGW(gateway)とDT(DataTerminal)の2種類の機能があるそうである。モデムはGWなので、820PのプロファイルにGatewayとなっているのは仕様書通りなのだが、他の機種はGWもDTも表示されていないので、このあたりに原因があるような気もする…