Saturday, January 23, 2010

Nexus OneとiPhoneを1枚のSIMで運用する

SIM1枚でNexus OneとiPhoneを運用しようというエントリです。


まず、そのためにはどんな方法があるのか。まっとーな方法はおそらくどちらかを親にしたテザリング。

1. iPhoneを親にするケース
1-1. 純正テザリング
1-2. pdanet
1-3. MyWi

このうち純正はUSBかBTになり、AndroidでBTの子テザはできない。USBなんて仮にできたとしてもイヤだ。
pdanetは有料JBアプリで、しかも子の側でadhocな無線LANを作らなくてはならない。そしてそれはAndroidではできない。
となると残るはMyWiになるが、これもJB必須で有料。で、実はAndroidはadhocネットワークに参加すらできない。

2. Nexus Oneを親にするケース
2-1. USBやBTのテザリングはあるにはあるがiPhone側で利用できないので無理
2-2. pdanet for AndroidはUSBかBTのみ
2-3. Wireless Tether for Root Users.

つうわけで、2-3に絞られる。これはiPhoneのMyWiと同じで、adhocな無線LANでテザリングする。iPhoneでadhocネットワークに参加するのは問題なくできる。(adhocネットワークを作ることは出来ない)
とりあず無料で使える。
ただ、Android 2.1用はまだ安定していない。

ともかく試すことにします。
rootとってることが前提。

Nexus Oneのブラウザで http://code.google.com/p/android-wifi-tether/に行き、Nexus One用のリンクからwireless_tether_2_0_pre1-eclair.apkをダウンロード。
kernel updateはひとまず要らない。NETFILTERを有効にしたkernelらしいので、Access Controlで使うのかも。LinuxではNATするのにも必要なんだけど、入れなくても動いた。おかしい。まぁいい。


そのままリストからタップするとインストールできるのでインストールする。


終わったら開く。
ここで、suがどうのでAllow Denyの選択を迫られることがあるのでとにかくAllowする。
うまく起動出来ずに強制終了か待機を迫られたら、強制終了して、再び開く。何度か繰り返してると起動できる。

メニューボタンを押して設定をする。設定しないでも動きそうではあるが、無防備になってしまうのでやめましょう。
WEPはすでに脆弱で意味がなくなってきてはいるのだが、ないよりはマシ。

変更するのは Wireless Encryptionを有効にする、Change Passphrase でパスフレーズを適当に決める。
あとはSSIDを確認、あるいは変更しておく。

これで-Press to start tethering-をタップすればサービスが開始される。


iPhone側では、Wi-Fiネットワークの設定で先程設定したSSIDのネットワークが出てくるはずなので、パスフレーズを入れて接続すればOK。

結果としてどうなるかといえば、Nexus Oneが無線LANルータのように振舞ってくれる。(が、adhocなので厳密には違う)
テザリング中でもNexus Oneでネットを使えるし、あるいは電話していてもiPhone側でネットが使えなくなるようなことはなかった。

難点は、たまにクライアント側でIPの更新が出来ないことがあるということ。これは既知の問題で、クライアント側でWi-FiをOFFってONにすればいいらしい。
もうひとつはたまに起動出来ずに待機か強制終了の選択になってしまうこと。なんどか繰り返してると起動するのだけど。
あとはわりと電池を喰らう。WiFiと3Gを同時に使うのだから仕方がない。

とにかく表面的には問題なさげに使えているという状況。

蛇足だが PSP の場合、インターネット接続はインフラストラクチャの無線LANでなくてはならないので繋げられないようだ。

No comments: