« [Windows Mobile]Advanced/W-ZERO3[es]でのBluetooth PAN接続/切断支援MortScript | Main | [Palm]WristPDAのバッテリコンパートメントのクリアランスを計測 »

2008.05.11

[N810]Advanced/W-ZERO3[es]をNOKIA N810のモデムとして認識させるKernel Module

以前、Advanced/W-ZERO3[es]を、NOKIA N810のモデムとして使う試みをしました。

[N810]NOKIA N810にAdvanced/W-ZERO3 [es]をモデムとして認識させられたけど……。

そのときは、「/dev/ttyUSB0」として認識させることができたものの、Hubを介さないとダメという結果になって、残念な思いをしました。
しかし、それはAdvanced/W-ZERO3[es]の「設定>パワー マネジメント>USB給電」を「給電する」に設定していたのが原因でした。「給電しない」にしておけば、Hubを介さずに認識しました! 何たるドジ!!

というわけで、下に掲載しているパッケージ「zero3module-1.0-1.deb」をインストールし、再起動をした後でNOKIA N810をUSB Hostモードにし、Advanced/W-ZERO3[es]をUSBケーブルでNOKIA N810に接続すれば、「/dev/ttyUSB0」として認識すると思います。

ただ、PPPの設定がうまくいかないので、どなたかに助けていただきたい次第。
それが、今回のエントリの目的です。

ダウンロード

「zero3module-1.0-1.deb」をダウンロード

「/dev/ttyUSB0」として認識させるまでの手順

こんなことを試せる環境があったり、試す必然性のある人は少ないと思いますが、前述の理由で関心を持つ人が増えてほしいので、「/dev/ttyUSB0」として認識させるまでの手順を書いておきます。

Advanced/W-ZERO3[es]側の設定

  • 「設定>パワー マネジメント>USB給電」を「給電しない」に設定
  • 「設定>接続>USB接続>」を「モデムとして使用する」に設定

NOKIA N810側の設定

ルート権限の取得

flasherでR&Dモードに切り替えるなどの方法でルート権限を取得していなければ、以下の手順を実行してください。

  • Repositories for Nokia〜」で紹介のあるリポジトリ「Eko One」の緑の矢印をタップ
  • ダイアログ「File download」が表示されるので、「Open」ボタンを押下
  • 「Application manager」が起動し、しばらくして「Add catalog」ダイアログが表示されるので、「OK」ボタンを押下
  • 「Refresh application list」ダイアログが表示されるので「OK」ボタンを押下
  • 「Application manager」の「Browse Installable applications」ボタンを押下すると「becomeroot」があるので、それをインストール
  • 以後、「X Terminal」で「sudo gainroot」とたたくとルート権限を得られます

Red Pill Modeの設定

「Application manager」は、デフォルトでは一部のパッケージしかインストールできない、制約のかかった状態になっています。

制限を緩めるために「Red Pill Mode」への切り替えをします。

なぜなら、僕の作ったパッケージは仕様を満たしておらず(!?)「Red Pill Mode」にしておかないとインストールできないからです。すいません、勉強不足です。

既に「Red Pill Mode」にしていれば、もちろんこの手順の実行は必要ありません。

  • 「Settings>Application manager」を起動
  • 「Application manager」のメニュー「Tools>Application catalog...」を選択
  • ダイアログ「Catalog」の「New」ボタンを押す
  • ダイアログ「New catalog」のフィールド「Web address」に「matrix」と入力し、「Cancel」ボタンを押す
  • 「Which pill?」というメッセージのダイアログが表示されるので「Red」ボタンを押す
  • ダイアログ「Catalog」の「Close」ボタンを押す

「zero3module-1.0-1.deb」のインストール

  • このエントリにある「zero3module-1.0-1.deb」をダウンロード
  • ランチャーの「Utilities>File manager」を起動
  • 「File manager」上でダウンロードした「zero3module-1.0-1.deb」をダブルタップ
  • インストールのプロセスに入り、いくつかダイアログが表示されるので、それらにはOKと答える

「usb-otg-plugin」のインストール

  • USB OTG pluginのプロジェクトページからパッケージをダウンロード(現時点では「usb-otg-plugin_0.0_armel.deb」)インストール「usb-otg-plugin」を
  • 「zero3module-1.0-1.deb」と同様に「File manager」からインストール

ケーブルの用意

接続方法

  • USB OTG pluginをインストール後、タスクバーに表示されるUSBアイコンをタップし、メニュー項目「USB UTG host mode」を選択、チェックマークが付いた状態にする
  • NOKIA N810→CA-101相当のケーブル→Aメス to Aメスのジェンダチェンジャ→A to mini Bケーブル→Advanced/W-ZERO3[es]といった具合に接続

結果の確認

「Utilities>X Terminal」、もしくは「Extras>X Terminal」を起動し(カスタマイズしてしまって、どっちだったか忘れてしまいました)、コマンドラインで以下をたたきます。

$ dmesg | grep ttyUSB0
[28859.671875] usb 1-1: PocketPC PDA converter now attached to ttyUSB0

上記のような行が見つかればOKです。
ちなみに、「|」はキーボードのカスタマイズをしていなければ、入力の方法が無いと思います。

minicomでATコマンドの応答まで見てみましょうか。

minicomは、「Repositories for Nokia〜」で紹介のあるリポジトリ「debfarm」にあります。先例にならって「Application Manager」の「Catalog」に登録し、インストールしてみてください。パッケージがリストに現れない場合は、「X Terminal」から以下のようにするとインストールできます。

$ sudo gainroot
# apt-get install minicom
# apt-get install ncurses-base

途中で「Install these packages without verification [y/N]」と聞かれますので、「y」と答えます。

「X Terminal」でminicomを起動します。
minicomを起動する前にメニュー「Tools>Settings...>Font settings」で、フォントサイズを10ptにします。また、ズームボタンで全画面に切り替えておきます。さもないと、画面が崩れます。

$ minicom -s

メニューが表示されるので、「Serial port setup」を選択し、「a」を押して「/dev/ttyUSB0」と入力し、Enterで確定。さらにEnterで「Serial port setup」を閉じる。
続いて「Modem and dialing」を選択。また「a」を押して「Init string」の編集に入り、デフォルトの初期化文字列を消して「ATZ^M」と入力、Enterを2回押して「Modem and dialing」を閉じ、「Save setup as dfl」、そして「Exit」を選択。
すると、「Initializing Modem」と表示され、Advanced/W-ZERO3[es]との通信が開始されます。
次の起動からは、-sオプション無しの「minicom」だけでOKです。

以下のようにタイプしてみます。

AT@LBC1 
OK 
AT@LBC? 
(郵便番号と緯度経度が返ってくる)

OK
AT@LBC2
OK
ATDT0570-570-081##64
CONNECT 300000

NO CARRIER

REASON:7000

さあ、ここまできたら、pppd/chatの設定ですが、これがよく分からないです。
ぜひ教えてください。

「/etc/ppp/peers/provider」を編集しながら関連ファイルを編集しつつ、/usr/bin/ponを実行して様子を見てみたのですが、「/var/log/ppp-connect-error」にエラーが記録されず、かといって何も起きずという状態になってしまい、糸口をつかめないでいます。

|

« [Windows Mobile]Advanced/W-ZERO3[es]でのBluetooth PAN接続/切断支援MortScript | Main | [Palm]WristPDAのバッテリコンパートメントのクリアランスを計測 »