![]() |
送信者 mobile54's blog |
今年の2月から使い始めたb-mobile 3Gの接続時間も、気がつけばもう4時間強しか残っておりません。まあ、このまま最後まで使いきろうと思っていたのですが、その矢先、Androidのバージョンを1.6にあげるとb-mobile 3G/WILLCOM CORE 3Gなどが繋がらなくなる(まだ未確定ですが)という現象に遭遇してしまいました。
これと時期を同じくして、標準では使えないと言われていたAndroidのAdhoc接続がどうも設定の変更でできてしまうらしいという報告がWeb上でちらほら出始めました。
G1/ADP1でAdhocができるということは、Adesに新つなぎ放題W-SIMを挿してWiFiSnapを起動して、そこにWiFiで繋げてしまうということではないですか!
そうすれば、速度は遅いとはいえ、月額980円+αの新つなぎ放題の活用シーンがかなり広がってきます。
そんなわけで、ここしばらく、ずっと試していたのですが、どうもなかなかうまく行かず、一時はあきらめてdocomoのデータプランでも契約するか?というところまで来ていました(もしこの連休中に成功しなかったら、ホントに契約しに行ってたかもしれない)。が、試行錯誤の末に、なんとか接続に成功しましたので、方法について以下にご紹介します。
※ 動作確認は、T-Mobile G1のほうは、CyanogenMod 4.1.999(Android 1.6ベース)で確認しています。ADP1のほうは、正規のADP1版Donut(Android 1.6、非rootファーム)で確認しています。Android 1.5以前のバージョンでできるかはわかりませんが、多分大丈夫かと思います。
(1) Ades(WiFiSnap)側の設定
特に変なことをする必要はないのですが、いくつか条件があります。
・データ暗号化(WEP)は設定しない(データ暗号化は「無し」にする)
・DHCPサーバは有効にしておく(初期設定のままでよい)
(2) G1/ADP1側の設定
いくつかステップがあります。ここでは、PCでUSB接続して操作する方法で説明しますので、PC側にAndroid用のドライバ及びAndroid SDKが入っていることが前提となります。rooted phoneの方は、G1/ADP1上でテキストエディタとターミナルだけで完結させることも可能です。
a) G1/ADP1から設定ファイルを吸い出す(転送)
PC側で、
adb pull /system/etc/wifi/tiwlan.ini .
adb pull /system/etc/wifi/wpa_supplicant.conf .
を実行し、設定ファイルをPC側に転送します。
b) 設定ファイルを編集
下記の例のようにそれぞれを書き換え、追加します。
tiwlan.iniは、一部変更、一部追加です。
〜〜〜〜〜tiwlan.ini〜〜〜〜〜
WiFiAdhoc = 1 # 0→1に書き換える(Adhocモード有効)
dot11DesiredSSID = WiFiSnap # 追加する(※1)
dot11DesiredBSSType = 0 # 追加する
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
※1 「WiFiSnap」の部分はWiFiSnap側のSSIDです。デフォルトでは、「WiFiSnap」となっていると思いますので、変更していない方は上記のまま、変更している方は変更したSSIDを記載してください。
wpa_supplicant.confは、下記をファイル末尾に追記してください。
〜〜〜wpa_supplicant.conf〜〜〜
network={
ssid="WiFiSnap" # tiwlan.iniに記載したSSIDと同じにする
mode=1 # Adhocモードを指定
}
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
c) 設定ファイルを、G1/ADP1側に転送
書き換えた設定ファイルを、G1/ADP1側に転送します。ただし、/system以下はデフォルトでは読み取り専用なので、まずは/sdcard下に転送し、あとで書き込み可能にしてからコピーします。
PC側で、
adb push tiwlan.ini /sdcard
adb push wpa_supplicant.conf /sdcard
を実行し、設定ファイルをPC側に転送します。
d) 書き換えた設定ファイルを元の場所に上書き
/system以下を書き込み可能にして再マウントしたのちに、新しい設定ファイルをコピーします。元の設定ファイルは、念のためバックアップしておきます。
PC側で、
adb shell
を実行し、シェルが起動したら、以下のコマンドを順に実行します。
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
cp /system/etc/wifi/tiwlan.ini /system/etc/wifi/tiwlan.ini.orig
cp /sdcard/tiwlan.ini /system/etc/wifi/
cp /system/etc/wifi/wpa_supplicant.conf /system/etc/wifi/wpa_supplicant.conf.orig
cp /sdcard/wpa_supplicant.conf /system/etc/wifi/
mount -o ro,remount -t yaffs2 /dev/block/mtdblock3 /system
exit
そのままリブートして構わなければ、最後のexitの代わりにrebootと入れればいいと思います。
また、非rootの端末の方は、上記の代わりに以下のようにすると良いと思います。
su
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
cat /system/etc/wifi/tiwlan.ini > /system/etc/wifi/tiwlan.ini.orig
cat /sdcard/tiwlan.ini > /system/etc/wifi/tiwlan.ini
cat /system/etc/wifi/wpa_supplicant.conf > /system/etc/wifi/wpa_supplicant.conf.orig
cat /sdcard/wpa_supplicant.conf > /system/etc/wifi/wpa_supplicant.conf
mount -o ro,remount -t yaffs2 /dev/block/mtdblock3 /system
exit
以上が完了したら、念のためリブートします(AndroidはベースがLinuxなので、WifiのON/OFFだけでいいのかもしれませんが)。
(3) 接続!
・まず、G1/ADP1側のWifiをOFFにしておきます。
・次に、Ades側でWiFiSnapを起動します。
・最後に、G1/ADP1側のWifiをONにします。
※ このとき、ネットワーク一覧に「WiFiSnap」が出てくれば、そのまま繋ぎにいくと思いますが、出てこなければ、一度、手動で「Add Wi-Fi network」から「WiFiSnap」というネットワークを作り(「セキュリティ」は無しでよい)、もう一度、WiFiをOFF→ONとしてみてください。
うまくできていれば、これでWiFiSnapに接続し、IPアドレスもWiFiSnapのDHCPから自動取得され、G1から各種インターネット接続ができるようになります。
と、ここまで書いたものの、あくまで自宅で実験しただけですので、これを外出時のモバイル環境で実践して使い物になるかどうかは、さらなるフィールドテストが必要になりそうです。
おそらくは、カバンに「Ades+外部バッテリー」を放り込んでWiFiSnapを起動しておく、という、いわゆる「PHS300」のような使い方になるだろうと思われます。AdesのWiFiSnapはPHSですから、「PHS300」よりPHSらしい、って感じになりそうですね。ってダジャレか・・・。
参考:私のWiFiSnapのライセンスはキャンペーンで無料で発行していただいたものです
[WILLCOM] WiFiSnapを使ってみました
http://mobile54sblog.blogspot.com/2009/07/willcom-wifisnap.html
はじめまして、太沙です。
返信削除私もAndroid(HT-03A+Dwang1.17)<->Ad Hoc(Ades+WiFiSnap)で通信ができないかと検討している際に、このブログを拝見させていただきました。
結果、こちらの方法でなんとか「WiFiSnap」との接続に成功することができました。有難うございました。
現在、自宅では宅内APを、外出先では「WiFiSnap」を使用したいと考えているのですが、接続先を切り替える度に手動でWiFiネットワークを設定しなければならない状態なのです。何か良い方法がないか検討中です。
◆宅内AP→「WiFiSnap」
①「Wi-Fiネットワーク」で宅内APを切断
②「Wi-Fiネットワークを追加」から「WiFiSnap」作成
③「WiFiSnap」の接続
◆「WiFiSnap」→宅内AP
①「Wi-Fiネットワーク」で「WiFiSnap」を切断
②宅内APの接続(暗号キーを再入力)
wpa_supplicant.confの「network」に宅内APを登録したり、優先順位を変更したり、WiFi関連のアプリを試してみたりしているのですが、なかなか良い方法が・・・。
進展がありましたら、またコメント記入させていただきます。
また、ブログを拝見させていただきます。
更新、頑張ってください。
太沙さん>
返信削除コメントありがとうございます。
私のところでは、ADP1+Donut(非rooted)で使っていますが、切り替えができています。
ただ、会社の無線LANはダメだったりとか、癖があるかもしれません。
無線をOFFにしてリセットし、再起動後に無線ONにしたりしたらどうでしょうか?