Rstream A1をCM7.1にあげる方法 とりあえず報告版

これより新しい手順を「Rstream A1をCM7.1にしてカメラとか使う手法 2012/01/09版」にて公開中。

— 以下は古い記述 —
Rstream A1をCM7.1にあげる際、安定して作業が行うことができる方法をいろいろ試したところ、以下の手法であれば間違いなくCM7.1にあげることができるということが判明した。

ただし、現状、いくつか問題はあるが、ポイントとしては・・・
・3GとWifiがおそらくちゃんと動作してそう
・フロントパネルのボタン割り当てがおかしい
・カメラが使えない
といったところ。

ボタンが変になるというのは・・・

いままで1:メニュー、3:戻る、だったものが
4:メニュー、6:戻るで、おそらく1も戻る、となるという点です。
また、ClockworkMod Recoveryでの決定ボタンは側面の「シャッターボタン」となる。
(2011/12/22 追記: キーの件は、コメント欄の、きもたかさんの調査により/system/usr/keylayout/qwerty.klをこちらに置き換えることで対応が可能ということが判明しました。現状は2:検索 キーだけが動作しない状態です)

なお、「MUCHTEL A1純正firmware→fastbootでCWM Recoveryを書き込む→CWM RecoveryからCM7.1を導入」という手順は、導入後、正常に画面が上がってこず、成功しなかった。
いろいろ試していると、成功したこともあったのだが、成功条件が特定できなかった。

手順1
とりあえず、MUCHTEL A1純正Android 2.2にあげる。
いまのところ、どんな状態になっても、電源を切って、「ボリュームUP」+「ボリュームDOWN」を押しながら電源を入れて入るFTMモードになり、その状態でMUCHTEL版SUT1.7.4を実行すれば、かならずAndroid 2.2.2になることは確認している。

詳しい手法はRstream A1にMUCHTEL A1純正 Android 2.2を書き込むを参照のこと。

手順2
上記のAndroid 2.2が起動している状態でCM7の.nb0形式のfirmwareを書き込む。
今回使ったのはBoston Maniaの[Rom 2.3.4] CyanogenMod 7 EA v1 (nb0) である。
([Rom 2.3.4] CyanogenMod 7 EA v3 (nb0) でも確認したが、電源オンロゴがBostonになる)
なお、書き込み後は、以下の状態となる。

CyanogenMod 7 EA v1の場合
モデル番号: Z71
Androidバージョン: 2.3.4
ベースバンドバージョン: MP1_850
カーネルバージョン: 2.6.32.9-SuperAosp root@CML#1
Modバージョン: CyanogenMod-7_EAv1
ビルド番号: GRJ22
ClockworkMod Recovery v2.5.1.3
電源投入直後のロゴが「Android」

CyanogenMod 7 EA v3の場合
モデル番号: Boston
Androidバージョン: 2.3.4
ベースバンドバージョン: MP1_850
カーネルバージョン: 2.6.32.9-SuperAosp root@CML#1
Modバージョン: CyanogenMod-7_EAv3
ビルド番号: GRJ22
ClockworkMod Recovery v4.0.0.5
電源投入直後のロゴが「Bonston」

また、どちらも「フロントパネルのボタン動作がいままでと違う割り当てになる」「カメラが動かない」という問題は発生する。

書き込みには、SUT 1.7.0をパソコンにインストールし、CM7の.nb0タイプのfirmwareを書き込む、という手法を使う。
標準のRecoveryにある「Download nb0 from sdcard」では、上記にあげたnb0ファイルは正当なものとして認識してくれなかった。
また、MUCHTEL版のSUT 1.7.4は、FTMモードで書き換えを行うが、SUT1.7.0では、Android OSが起動している状態でないと、ツールが認識してくれなかった。
このため、正常に起動しない状況に陥っている場合は、必ずMUCHTEL A1版に戻す必要がある。

手順3
ROM Managerの動作要件を満たすため、ネットワークにつながる設定(ClockworkMod recoveryとかをダウンロードする)、と、Android Marketの設定(ROM Managerを最新版にして、CM7.1のzipファイルダウンロードを可能とするため)を行う。
後者のAndroid Marketの設定はCM7.1のzipファイルを別途ダウンロードしてくるのであれば、不要。

手順4
ROM Managerを起動する。

手順5
ROM Managerから、「ClockworkMod Recoveryを導入」を実行。
機種はCommtiva Z71を選択する。

手順6
「ROMをダウンロード」を選択し、
Freeのくくりにある「CyanogenMod」を選択し、「CyanogenMod 7.1.0」を選択して、ダウンロード。
なお、ここでダウンロードできるCyanogenMod 7.1.0でなくとも、[Rom 2.3.7] CyanogenMod 7 EA v7.2 (zip) でも良い。(個人的にはこっちのカスタマイズ具合の方が好み)

「ROM Pre-Installation(ROMインストール前処理)」では「Wipe Dalvik Cache」のみ選択。

手順7
再起動し、Recoveryモードで自動実行される。
完了すると、再起動する。

完了
作業としては完了。
ただし、起動直後はタッチパネルがまったく動かないので注意。
おそらくGoogle Accountとのデータ同期量によるもののようだが、場合によっては30~40分放置しないと、操作ができないので注意が必要。
なお、以下の状態で起動してくる。

モデル番号: Z71
Androidバージョン: 2.3.7
ベースバンドバージョン: MP1_850
カーネルバージョン: 2.6.35.13-Cyanogenmod rmcc@glskard #1
Modバージョン: CyanogenMod-7.1.0-Z71
ビルド番号: GWK74
ClockworkMod Recovery v2.5.1.3
電源投入直後のロゴは、先ほどの状態がそのまま維持される。

CyanogenMod 7 EA v7.2の場合は以下となる。
モデル番号: Boston
Androidバージョン: 2.3.7
ベースバンドバージョン: MP1_850
カーネルバージョン: 2.6.32.9-EA edgar@ubuntu #37
Modバージョン: CM7.1_EAv7.2
ビルド番号: GWK74

「フロントパネルのボタン動作がいままでと違う割り当てになる」「カメラが動かない」という問題は直っていない状態。




— 2011/12/22 追記 —
追加手順
おおむね期待通りに操作できるようになるqwerty.klファイルを、きもたかさんに教えていただいたので、それを元に、ClockworkModRecoveryから適用できるupdate.zip形式のファイルを作成しました。

1. update.zip形式のqwerty.kl修正ファイル+日本語フォントをダウンロードします。
2. 上記ファイルを/sdcard/にコピーします。
3. 電源をオフします。
4. 「ボリュームUP」と「シャッターボタン」を押しながら電源を入れ、Recoveryモードに入ります。
5. 「ボリュームUP」をうまく押して「install zip from sdcard」に合わせます。(ボタンを1回押すと2つ進むが、押しっぱなしにすると1つしか進まない)
6. 「シャッターボタン」を押します
7. 「choose zip from sdcard」が選択されていることを確認し、「シャッターボタン」を押します
8. 「ボリュームUP」か「ボリュームDOWN」をうまく操作し、先ほど転送したfix-qwertykl-for-muchtel-a1.zipに合わせます。。(ボタンを1回押すと2つ進むが、押しっぱなしにすると1つしか進まない)
9. 「シャッターボタン」を押します
10. 適用が開始されるので、終わるのを待ちます。終わると、再度「choose zip from sdcard」のところになります。
11. 何回かボリュームUPを押していると「Back menu button enabled.」という表示が出ます。
12. でたら、何か当たりさわりがないところを選び「シャッターボタン」を押します。
13. そうすると、「+++++Go Back+++++」という項目が増えるので、そこにカーソルを合わせ、
  最初のメインメニューに戻り、「reboot system now」を選びます
14. 終了

Rstream A1で簡単に動く公式系firmware

ClockworkMod Recoveryを使って書き込むfirmwareがいろいろ変な動きをしてるなぁ・・・
ということで、とりあえず、nb0形式で書き込むfirmwareを捜索中。

何ら問題なく動いているのは、いまのところ以下の3つ・・・
どれもAndroid 2.2系だけど・・・というか、MUCHTEL A1のやつが一番新しいっぽい。
これより新しい公式系firmwareはないかなぁ・・・
— 2012/01/11 追記 —
なお、Android 2.3系を使用したい人はカスタムROMを使うしかないです。
アップデート方法については「Rstream A1をCM7.1にしてカメラとか使う手法 2012/01/09版」を参照のこと。
— 追記おわり —

MUCHTEL A1オフィシャル Android 2.2.2
F0X-327J-0-0002-A01.nb0
Model number: FIH-F0X
Android version: 2.2.2
Baseband version: MP1_850
Kernel version: Apps_2.6.32.9
Build number: 0002_3_27J

[Rom 2.2] Official Apanda A60 Rom 2.2
F0X-3230-0-0002-A02.nb0
Model number: FIH-F0X
Android version: 2.2.1
Baseband version: MP1_850
Kernel version: Apps_2.6.32.9
Build number: 0002_3_230

[Rom 2.2] Official Foxconn Rom 2.2
F0X-3260-0-0002-A01.nb0
Model number: FIH-F0X
Android version: 2.2.1
Baseband version: MP1_850
Kernel version: Apps_2.6.32.9
Build number: 0002_3_260

Androidのgps.conf設定

2019/06/04追記

注意:gps.confの変更に意味があったのはAndroid 4.0より前の話で、2019年のAndroid 7やら8やら9では変更する意味が無くなっています。


Xperia X10 mini proのカスタムROMで設定されている/system/etc/gps.confは以下の設定値であることが多い。

NTP_SERVER=europe.pool.ntp.org
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
SUPL_HOST=supl.google.com
SUPL_PORT=7276

実際にどんな値が設定されているのか、他機種を含めて調べてみた。

NTP_SERVERの候補
・asia.pool.ntp.org
・europe.pool.ntp.org
・jp.pool.ntp.org
・north-america.pool.ntp.org
・us.pool.ntp.org
・xtra1.gpsonextra.net

SUPL_HOSTの候補
・dcm-supl.com : 7275 (SPモードonly, mopera U不可)
・supl.google.com : 7276
・supl.sonyericsson.com : 7275
・supl.skyhook.com : 7278
・h-slp.mnc410.mcc310.pub.3gppnetwork.org : 7275

CK2という設定…しかしc2k.pde.comは名前解決不可なの死んでいる?

C2K_HOST=c2k.pde.com
C2K_PORT=1234

いろいろ調べた結果、うちのXperia X10 mini proでは、gps.confを以下の様な感じに設定した。

NTP_SERVER=0.jp.pool.ntp.org
NTP_SERVER=1.jp.pool.ntp.org
NTP_SERVER=2.jp.pool.ntp.org
NTP_SERVER=3.jp.pool.ntp.org
XTRA_SERVER_1=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info
# 4 - Debug, 5 - Verbose
DEBUG_LEVEL =0
# Intermediate position report, 1=enable, 0=disable
INTERMEDIATE_POS=0
# Accuracy threshold for intermediate positions
# less accurate positions are ignored, 0 for passing all positions
ACCURACY_THRES=0
# Report supl ref location as position, 1=enable, 0=disable
REPORT_POSITION_USE_SUPL_REFLOC=1
# Wiper (wifi positioning), 1=enable, 0=disable
ENABLE_WIPER=1
################################
##### AGPS server settings #####
################################
# FOR SUPL SUPPORT, set the following
SUPL_HOST=supl.google.com
SUPL_PORT=7276
SUPL_NO_SECURE_PORT=7276
SUPL_SECURE_PORT=7276
# FOR C2K PDE SUPPORT, set the following
# C2K_HOST=c2k.pde.com or IP
# C2K_PORT=1234
#################################
##### AGPS Carrier settings #####
#################################
CURRENT_CARRIER=common
DEFAULT_AGPS_ENABLE=TRUE
DEFAULT_SSL_ENABLE=FALSE
# TRUE for "User Plane", FALSE for "Control Plane"
DEFAULT_USER_PLANE=TRUE

なお、手に入れたばかりのMUCHTEL A1 Android 2.2のgps.confはこんな感じでした。

NTP_SERVER=xtra1.gpsonextra.net
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info
#               4 - Debug, 5 - Verbose
DEBUG_LEVEL = 4
# Intermediate position report, 1=enable, 0=disable
INTERMEDIATE_POS=0
# Accuracy threshold for intermediate positions
# less accurate positions are ignored, 0 for passing all positions
ACCURACY_THRES=500
################################
##### AGPS server settings #####
################################
# FOR SUPL SUPPORT, set the following
# SUPL_HOST=supl.host.com or IP
# SUPL_PORT=1234
# FOR C2K PDE SUPPORT, set the following
# C2K_HOST=c2k.pde.com or IP
# C2K_PORT=1234
################################
# EXTRA SETTINGS
################################
#

ちなみに、この記事、ほんとはメモ書きで、公開する予定はなかったのですが、間違えて公開してしまったので・・・


— 2012/01/04 追記 —

[DEC.05.2011] Instantaneous GPS Fixation v1.2! *FOR ALL ANDROIDS PHONES!*
これで配布しているasia-v1.2.zip内のgps.conf

NTP_SERVER=0.asia.pool.ntp.org
NTP_SERVER=1.asia.pool.ntp.org
NTP_SERVER=2.asia.pool.ntp.org
NTP_SERVER=3.asia.pool.ntp.org
NTP_SERVER=ph.pool.ntp.org
NTP_SERVER=my.pool.ntp.org
NTP_SERVER=tr.pool.ntp.org
NTP_SERVER=sg.pool.ntp.org
NTP_SERVER=in.pool.ntp.org
NTP_SERVER=hk.pool.ntp.org
NTP_SERVER=ae.pool.ntp.org
NTP_SERVER=jp.pool.ntp.org
NTP_SERVER=bd.pool.ntp.org
NTP_SERVER=il.pool.ntp.org
NTP_SERVER=kr.pool.ntp.org
NTP_SERVER=th.pool.ntp.org
NTP_SERVER=ir.pool.ntp.org
NTP_SERVER=tw.pool.ntp.org
NTP_SERVER=cn.pool.ntp.org
NTP_SERVER=id.pool.ntp.org
NTP_SERVER=vn.pool.ntp.org
NTP_SERVER=pk.pool.ntp.org
NTP_SERVER=om.pool.ntp.org
NTP_SERVER=uz.pool.ntp.org
NTP_SERVER=lk.pool.ntp.org
NTP_SERVER=kg.pool.ntp.org
NTP_SERVER=kh.pool.ntp.org
NTP_SERVER=qa.pool.ntp.org
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
INTERMEDIATE_POS=1
C2K_HOST=c2k.pde.com
C2K_PORT=1234
SUPL_HOST=FQDN
SUPL_HOST=supl.google.com
SUPL_PORT=7276
SUPL_SECURE_PORT=7275
SUPL_NO_SECURE_PORT=3425
SUPL_TLS_HOST=FQDN
SUPL_TLS_CERT=/etc/SuplRootCert
ACCURACY_THRES=5000
CURRENT_CARRIER=common
DEFAULT_USER_PLANE=TRUE
REPORT_POSITION_USE_SUPL_REFLOC=1

Rstream A1にMUCHTEL A1純正 Android 2.2を書き込む

Android 2.1で動作しているRstream A1ですが、MUCHTEL A1純正のAndroid 2.2を書き込んでも、おおむね正常に動作しているように見える。
なので、その手法を紹介します。

なお、この方法で書き込んだ場合、b-mobile U300やイオン980円SIMなど、音声契約無しのSIMを使用した場合に圏外表示となってしまう、という海外系のAndroid端末でよく発生している問題は起きます。
この場合、表示上は圏外ですが、通信自体はできますが、一部アプリケーションで動作がおかしくなることがあります。
CM7にすることでこの現象自体は解消されます。(CM7にする手順はRstream A1をCM7.1にしてカメラとか使う手法 2012/01/09版を参照のこと)

また、MUCHTEL A1純正Android 2.2.2をそこそこ日本語化する手順「MUCHTEL A1 純正Android 2.2.2+日本語化手順のfastbootを使わない手順」というのも公開しています。

下準備手順
(1) 書き換えツールSUT with firmwareを入手
MUCHTELのサポートページにある「MUCHTEL A1 軟體更新 – MUCHTEL A1_2.2 upgrade」の「下載更新軟體(zipファイル)」。
この配布パッケージは、「書き換えツール」「デバイスドライバ」「firmware」が含まれている。
(2chに貼られていたミラーURL:http://dl.dropbox.com/u/66501041/Muchtel_A1_2.2.2.zip)

(2) 上記をインストールする。

(3) インストール後、インストールディレクトリにあるfirmareを別のフォルダにコピーする
ファイル名: F0X-327J-0-0002-A01.nb0
これは、firmwareアップデートが終了すると消されてしまうためである。
MUCHTEL配布のSUT 1.7.4は、組み込まれているfirmwareのアップデートしかできないが、SUT 1.7.0であれば、ファイル名が指定できるため、別途firmwareファイルを残しておくと、あとあと便利である。

(4) インストールから引き続いて、自動的にSUTが起動する

(5) Rstream A1の電源を切る

(6) 「ボリュームDOWN」と「ボリュームUP」を押しながら電源ボタンを押す。

(7) すぐ、電源ボタンだけ放す。

(8) FTMモードで起動したらボタンを全て放す。

(9) microUSBケーブルをつなげると、SUTの「NEXT」ボタンが有効になる。

(10)こんな感じで進んでいく

(11) しばらくすると携帯が勝手に再起動して、以下の様な画面が出る。

Flash Mem: SAMSUNG_K524G2GACB(4G/2G)
Modem REV: FXX-3-230-00
Incoming Download Mode
polling, get oemsbl_mode = 1
polling, get oemsbl_mode = 1

(12) 5分ぐらいするとまた再起動し、今度はRecoveryモードで起動してくる。

(13) 携帯画面はRecoveryの選択ができる画面だが、それは触らず放置しておくこと。

(14) また携帯が再起動し、しばらくすると、パソコン側には以下の画面が表示され、アップデート終了。

なお、(13)が終わったあと、しばらく待つとパソコン側に以下の様な画面表示されることがある。

その場合は、書いてあるとおりに以下の対処を行う。

1. バッテリーとUSBケーブルを抜いて、10秒放置
2. バッテリーを入れる
3. 「ボリュームUP」と「カメラシャッター」を押しながら電源ボタンを押す。
 3a. ぶるっ!っと携帯が震えたら、電源ボタンだけ離す。
 3b. 「Recovery mode」と表示されたらボリュームとシャッターも離す
4. ケーブルを再びつなぐ
5. しばらく待つと「NEXT」が押せるようになるので続ける。

もし、押せるようにならなかったら、実はfirmware updateが完了している場合があるので、おとなしく再起動すること。
たぶん、ちゃんと起動する。

これで作業は終了となる。


Rstream A1についての現状 2011/12/16 12:30版

とりあえず、検索でくる人が非常に多いので、現状でうちのRstream A1にやったことをまとめておきます。
月曜ぐらいにはもっとちゃんとした感じでAndroid 2.3/CM7が動くようにはしたいですが、試してる時間あるかなぁ・・・

なお、いまのところ、CM7での3G通信がうまくいかないです・・・
MUCHTEL A1用のAndroid 2.2での3G通信は正常に動作していますが、このfirmwareは英語と中国語のリソースしか入っていません。

(2011/12/19: Rstream A1をCM7.1にあげる方法 とりあえず報告版にてCM7の動作に関して記載しています)

root取得
・いろいろ試したけど、Rstream A1標準firmware状態でのroot取得に失敗。
 ・z4root, zergrush, SuperOneClickによる取得: 失敗。(悪影響無し)
 ・A688などで調べると出てくるGoRoot.batによる取得: 失敗。(悪影響無し)
 ・boot.imgの書き換えによるroot取得: 失敗。起動途中で止まるようになった。
・他のfirmwareに書き換えちゃえばroot取得はできる、というか取得済みのがある。

Rstream A1の標準firmwareのバックアップ
・うちの環境ではこれを実施するまえに標準firmwareが死んでしまった。
・おそらく「fastboot flash recovery イメージファイル名」でClockworkMod recoveryを書き込んでやり、
 そこからバックアップを実施すれば取得できるのではないかと想定。

他のfirmwareへの書き換え
・リスクが少ないのは、MUCHTEL A1のfirmwareを使ったAndroid 2.2へのアップデート。
 ツールをインストールして操作すればアップデートされる。
・標準のRecovery以外、つまりClockworkMod Recoveryを書き込むと、
 標準のfirmware updateツールが使えなくなる。
 これは、標準のRecoveryイメージを書き戻せば使えるようになる。
・CM7を入れたところ、なんか非常に微妙な動作状況
 勝手にタッチパネルが動作したりする。

ツールの紹介
・Foxconnのfirmware書き換えツールSUTというのを使うのが純正系のやりかた
 SUTもいくつかバージョンがあり、firmwareが固定で組み込まれている版と、
 firmwareイメージファイルを指定してアップデートを行う版とがある。
・fastbootコマンドでの書き換えもできる。
 その場合は、A688_Tools.zipあたりを捜索。

キー操作がおかしくなる危険性あり?
・まだ未確定ですが、キーの割り当て設定がfirmwareによっていろいろ違うような感じがします。
 ちゃんとしていないものを使うと、まともな操作ができないようです。
 シャッターボタンが決定になったりしますし・・・