2009/06/17

Ubuntuでwillcom 03をモデムにしてみる.


EeePCを使い始めてからというもの、PCを外に持ち出していろいろいじくる機会がかなり増えました.
そんなわけで当然ながら「外でもネットしたい!」と思うわけです.
でも以前記事で書いたようにEeePC購入の際にはイーモバ等には契約しませんでした.
理由としては、家にいるときはAirMac Extremeがあるので普通に無線でネットができるわけでして.
しかも外にまで出てそこまでバリバリにネットにつなごうなんては思っていないのです.
でも外でLinuxの勉強とかしていると、結構調べ物をしたいことが多いんですよね.

そこで今持っているwillcom 03(以下03)をモデムにしちゃえばイケるんじゃないかと思いました.
ただ、Ubuntuにサポートしているかな?とも当然疑問に思うわけでして、その辺の試行錯誤をメモしたいと思います.



◆サポートはまだされていない
Ubuntuもバージョンが上がるごとに様々なキャリアに対応してきているようですが、9.04の時点ではwillcomはサポートされていませんでした.

(なのにイーモバが対応しているのにはなぜ??)

というわけで、ここはいつものごとく非公式な方法を探すことにしました.

◆そもそも03×Ubuntuという組み合わせがレアらしい

色々ググってみたのですが、03とUbuntuの組み合わせの方はなかなかいらっしゃらない様で結局それらしい記事を見つけられませんでした.

ただ、同じwillcomのスマートフォンで、こちらも同じくモデムとして使えるAdvanced[es](以下アドエス)に関しては何名かやっている方がいらっしゃったのでそれらの記事を参考にさせていただきました.

まあ03がアドエスの後継機なので多分イケるんじゃないかと思ったわけです.

◆ GNOME PPPというソフト入れればいいらしいが…
というわけでまずはGNOME-PPPをインストールします.
ただ、Synapticパッケージマネージャーにはなかったのでこちらのサイト から.debファイル(i384の方)をダウンロード.

あとは端末を開き、ファイルの置いてあるディレクトリで
sudo dpkg -i gnome-ppp_0.3.23-1_i386.deb 
 #ダブルクリックからでも可

さて、インストールできたのはいいのですが面倒なのはここからでした.
公式にサポートしているわけではないので当然ながら素直に動いてはくれません.
いろいろ設定をいじくらなければいけません.

◆設定データを配布している方が…ほんと感謝です.
この辺に関してはこちらのブログ記事を参考にさせていただいた…というかまんまです.
この記事の中にある"wvdialconf.txt"というファイルをダウンロードしてファイル名を".wvdial.conf"に変更して、/home/xxx/.wvdaial.conf(xxxはログイン名)に上書きコピーしてください.

僕の場合はログイン名"laughk"でファイルをデスクトップにダウンロードしたので
laughk@Ubuntu
==========================
cd ~/Downloads
 #Downloads配下にダウンロードしたこと前提、wgetでもいいかも。。。

sudo cp wvdialconf.txt ~/.wvdial.conf
とすることできちんと上書きできました.

ただ、このままだとプロバイダがprinとして設定されているので
別なプロバイダを利用されている方はそこだけ設定する必要があります.
この設定変更は普通にメニューからできるので簡単です.
"phone number"のところは"DT"以下に入力してください.

原理としてはエラーの原因であるプログラムに埋め込まれたダイアルの先頭の4文字を強制的に消してしまうものの様です.

こんなことできるなんてすごいですね.
 今のところ僕にはさっぱりです.


◆自動で認識されない!?
面倒な設定もようやく終わり、あとはダイアルしてみるだけとなったのわけです.
というわけで03をEeePCに接続、GNOME PPPを立ち上げConnectをクリック.

するとどういうわけだか"Can not open modem."のメッセージが.
早い話が03がきちんと認識されていない模様.
03の画面をみると電池マークのところが"usb"となっていたのでまた何か別の問題がありそう…

というわけで調べてみるとipaqというPPC(windowsモバイルとかのこと?)USBシリアルとして使うドライバが必要なんだとか.

とりあえず僕は詳細は分からないのでここに関するツッコミは無しで、以下のようにすることでなんとかなりました.

まずは端末で

laughk@Ubuntu
================================
lsusb | grep "Sharp Corp"
エンターを押すと色々ずらずらーっと出てくるので、その中から

Bus 001 Device 007: ID XXXX:YYYY Sharp Corp.
という感じの行を探してください.
BusやDeviceは違っても構いません.

ここで"XXXX"と"YYYY"のところにあるアルファベットと数字混じりの4つの文字を覚えておいてください.

次は
modprobe ipaq vendor=0xXXXX product=0xYYYY
と実行

ぱっと見何も起こりませんが
demsg | grep ipaq
と実行、おそらくものすごく大量にずらーっといろんなモノが出てくると思いますが

ipaq 3-2:1.0: PocketPC PDA converter detected
的なモノがあれば成功です!

ここまでの流れはこちらのブログを参考にさせていただきました.

おかげさまで、ここまでやってようやく接続することに成功しました.

それにしても本当にLinux使っている方はすごい人が多いですね.
 僕も自力でここまで解説できるようになりたいものです. まあ、職業上ならなきゃいけないんですけどね.


◆未解決な問題
さてさて、ここまでやってようやく03をモデムとしてネットに接続することに成功しました.

ですが実は何個か問題…というよりは「これは不便かな?」と思うことがちらほら.

●起動する度にmodprobe ipaqを実行しなければならない.
  XXXX、YYYYの値は変わらないのですが毎回これは結構面倒.サービスとかで何とかならないかな?

●安定しない
非公式なんでしかたないかもしれないのですがホントに接続がブチブチ切れます.
調子がよければ1時間くらい平気だったときもありますが、ひどいときは1分もたないって…
まあその都度Connectをクリックでなんとかなりますがね.

●たまにつながらない?
これに関してはまったくもって原因不明なのですが"Connect"をクリックして一見つながったと思ってもいざFirefoxを開くとオフラインになってもいないのになぜかページが表示されず. Detailsをクリックして状態を確認してみるとAddressやらなにやらがUnknownと0で埋め尽くされている!?
しかも1度こうなってしまうと再起動しても何しても直らずそして気がついたらなぜか直っているという状態.これに関しては完全にお手上げ状態です.

とはいえ、これ以外は得に目立った問題も出てきていないのでなんとかなっていますね.
せっかくなので一番安いプロバイダのIIJとも契約をしたのですが、こちらもなかなかいい感じ. PHSなので特別早いということはないですが、ちょっと調べ物などをするには全然問題なく比較的快適に使えています.
まあ、よっぽどのことがない限りイーモバのお世話になることはなさそうです.

-2010/08/30 追記-
気持ちちょこっとだけ修正