HTC Dream(aka T-Mobile G1, Android Dev Phone 1)でwifi-tetheringを試してみる

愛用キャリアであるドコモよりHT-03A(HTC Magic)が出るとのこと。これまで夢の中でしか使えなかったのが、ついに現実の世界で使えるようになるということで、喜んでドコモショップに予約しに行ったが、断られた。発売日が決まるまで予約は受け付けないとのこと。
悔しいので夢の中(HTC Dream)で遊ぶことにした。HT-03Aでは恐らく封印されているであろうWifi Tetherを試してみることにした。

Wifi Tetherと言うのは、GSMやUMTS(3G)回線上のIP接続をWifi接続した機器にシェアすることである。下記よりWifi Tetherパッケージと、対応カーネルをもらってきてインストールすると使えるようになる。
http://code.google.com/p/android-wifi-tether/

インストール

まずは素直に使ってみる。下記の手順はcpucake専用なので注意。
ここhttp://code.google.com/p/android-wifi-tether/downloads/listからsigned_andTether_0_97_1.apkをもらってきて普通にインストールする。

$ adb install signed_andTether_0_97_1.apk

それから、adp-1_5-kernel-update.zipももらってきて、SDカードに書き込み、

$ adb push adp-1_5-kernel-update.zip /sdcard/update.zip
$ adb shell sync

リカバリモードでインストールする。

  • 赤(終話)ボタンを長押しして電源オフ。
  • ホームボタンを押しながら電源オンでリカバリモードに突入。
  • ALT+Lでヘルプ画面が出る。
  • ALT+Sでファームの書き込み。
  • 終わったらホーム+バックで再起動。

使い方

Wifi Tether for Root Usersを起動。メニューからWEPキー等を設定しておく。準備が終わったらトップ画面のアイコンを押してTether開始。
接続する端末側は、Wifiをadhocモードにする。
後はadhocモードで接続すれば、つながって、3G上のIP接続を利用できる。

改造

せっかくなのでクロックアップをしてみた。
まずはオリジナルwifi-tether対応のカーネルからconfigを取り出す。

$ adb pull /proc/config.gz .
$ gunzip config.gz

できたconfigをkernelディレクトリに.configとしてコピーしてから、いつものパッチを当てる。

--- arch/arm/configs/msm_defconfig      2009-03-21 23:01:52.000000000 +0900
+++ .config     2009-05-01 15:29:15.000000000 +0900
@@ -35,8 +35,8 @@
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_LOCK_KERNEL=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
+CONFIG_LOCALVERSION="-00392-g8312baf"
+# CONFIG_LOCALVERSION_AUTO is not set
 CONFIG_SWAP=y
 # CONFIG_SYSVIPC is not set
 # CONFIG_POSIX_MQUEUE is not set
@@ -221,8 +221,8 @@
 CONFIG_MSM_CPU_FREQ=y
 CONFIG_MSM_CPU_FREQ_ONDEMAND=y
 # CONFIG_MSM_CPU_FREQ_SCREEN is not set
-CONFIG_MSM_CPU_FREQ_ONDEMAND_MAX=384000
-CONFIG_MSM_CPU_FREQ_ONDEMAND_MIN=245760
+CONFIG_MSM_CPU_FREQ_ONDEMAND_MAX=528000
+CONFIG_MSM_CPU_FREQ_ONDEMAND_MIN=128000
 CONFIG_MSM_HW3D=y
 CONFIG_MSM_ADSP=y
 CONFIG_WIFI_CONTROL_FUNC=y

出来上がったカーネルを下記に置いといた。
http://tetsu.homelinux.org/android/index.html
http://tetsu.homelinux.org/android/update-1.5-v5.zip

カーネルイメージの書き込み

adp1とUSBでつながっている状態で、

  • カーネルイメージをSDカードにコピー
$ adb push update-v5.zip /sdcard/update.zip
$ adb shell sync

として、SDカードにカーネルイメージをコピーする。

  • 赤(終話)ボタンを長押しして電源オフ。
  • ホームボタンを押しながら電源オンでリカバリモードに突入。
  • ALT+Lでヘルプ画面が出る。
  • ALT+Sでファームの書き込み。
  • 終わったらホーム+バックで再起動。