goo blog サービス終了のお知らせ 

攻撃は最大の防御なり

50代おやじの適当なブログです。

HTC SensationのディフォルトAPN設定を変更する

2011-08-19 00:49:16 | HTC Sensation
俺はDesireからの移行組なのでSensationには銀SIMを差して使用しています。
皆さんご存じの通りSensationのソフバンAPNはディフォルトではandgobalのみですよね。
普段はOpenSoftbankにしているから全く問題ないんですが、何かの拍子でユーザーデータがワイプされた場合
勝手にandgobalに接続されてしまうので非常に嫌です。
当然すぐに機内モードに切り替えますがそれでも多少繋がっちゃう。
今の所パケ放対象外が累計で400円位になっています。
だからと言ってその度にSIMを抜くのも面倒なので、ディフォルトの設定をに変更しました。

今までのスマフォだとAPN設定は/system/etc/apns-conf.xmlにありましたがSensationは見当たりませんね。
でも普通に使うことが出来ます。apns-conf.xmlの中のバージョンをこんな風に8に変更してやればOK!



書式フォーマットも変更されていないので使い慣れたapns-conf.xmlを入れてやれば使えます。

今まで入っていたAPN設定は何処にあるのかと言うと/system/framwork/framwork-res.apkの中の
/framwork-res/res/xml/apns.xmlに記載されています。
APN設定はapns.xmlが優先でapns-conf.xmlが後記された形になります。
これだとやっぱりandgobalが先頭に来てワイプ時に接続されてしまうので
apns.xmlの中身をこんな風に削除しました。



EU版のframwork-res.apkを置いておきますので欲しい人はどうぞ。
やっぱりパスはsensation。
他のリージョン版だと多分起動しなくなったりしますのでapk managerを使って作ってみてください。
APNの設定で「初期設定にリセット」を行なうと変更が反映されます。



これだけだと面白くないのでついでにsipの3G接続設定もやってしまいます。
sipというのはAndroidに標準で搭載されたIP電話機能で、sip phone同士は無料で通話できます。
かの大震災で携帯電話が全然繋がらなかった時にsipでは余裕で連絡が取れたと言う優れた機能です。
しかし、ディフォルトではWifi経由での通話しか出来ず余り意味がありません。
そこを解除して3G経由でも使える様にします。




上記同様にframwork-res.apkの中の/framwork-res/res/values/bools.xmlに設定があります。



こんな風にtrueの所をfalseに変更してやればOK。繋がりましたね。



上のダウンロード出来る物にはこの設定も入れてあります。

では良いAndloidライフを。

HTC SensationでCynogenMod

2011-08-18 14:40:44 | HTC Sensation
HTC Sensation用のCynogenMod 7.1.0 RC1のビルドを進めていましたが
昨夜のビルド分で見事起動に成功しました。





まだ取り敢えず起動したって段階だから、問題は山済みなんですけどね。
でも、立ち上がる様になった分問題も解決しやすいし何よりヤル気が出るのです。
ちょっと我慢すれば使えない事もないしね。

次はこいつに噛ませるカーネルを作ろうかな。

HTCユーザーの憂鬱

2011-08-18 09:13:16 | HTC Sensation
HTC製品を使っていて唯一嫌な事があります。
それはあのバカデカイ起動音。
電車や会社で再起動した時に突然あの音が鳴る時があって恥ずかしい思いをします。
どうせ恥ずかしい思いをするなら緊急地震速報の音(ギュイ!ギュイ!ギュイ!ってやつ)に変えようかとも思いましたが
かなり不謹慎なのでやめて、音を鳴らなくしてあります。

あれが鳴らなくする方法は簡単で
/system/customaize/resourceにあるandroid_audio.mp3を消すかリネームするだけ
これで金輪際あの音は二度と鳴らなくなります。ちょっと寂しい?
この起動音は伝統で今後変わる事が無いだろうから大丈夫だと思いますが
system領域のファイルを書き換える時はいきなり上書きせずにオリジナルを退避しておきましょう。
理由はOTAパッケージが当てられなくなる恐れがあるから。

HTCのOTAを解凍したことがある人は分かると思いますが、
systemフォルダの中には通常のリソースではなく良く分からないバイナリファイルが入っています。
あれはbdiffというバイナリ差分を抽出したもので、今あるファイルに差分補完することで新しいファイルが出来上がる仕組みになっています。
だからチェック部分を強制的に回避しても、もとのファイルが別物だとおかしな事になります。
これはOTAの容量を減らすと共に「容易に変更かけると後で面倒臭いよ」と言うHTCからのメッセージの様な気がします。
頭良いですよね。

HTC Sensation公式S-OFFを試してみた

2011-08-17 21:12:03 | HTC Sensation
バックアップの戻しミスでいつの間にやらROMが1.35.401.1に戻ってしまっていたので
公式S-OFFを試してみました。

この公式S-OFFですが、今の所EU版1.45.401.2でしか実行出来ません。
理由としてこのバージョンから入っているHBoot1.80がS-OFF対応ブートローダーとなっているためで
他リージョンの方は1.45.XXX.2がリリースされるまで待つか、リージョンロックを解いてEU版を入れるしかないですね。
後は、S-OFFが成功すると強制再起動が掛かってユーザーデータが消去されます。
何でこんな仕様になっているのか?それこそ先にRevolutionaryでS-OFFしてバックアップ取らないとちょっと使えませんね。

以下、手順です。
ここから開始しますが、まずはユーザー登録が必要となります。
HTCの分かりやすい説明が記載されていますが、fastbootが使える様になっていればすっ飛ばして進んで大丈夫です。
fastbootを使い端末キーを抜いてWeb上の入力フォームにコピーし送信します。
当然ですがHBootが1.80じゃないと端末キーは表示されませんからね。

登録したメアドに解除キーのリンクが添付されて送られて来るのでダウンロードします。
(ここのアップローダーが非常に怪しいので笑ってしまったw)
画面の説明にしたがってfastbootで解除キーを登録します。
ここで画面が切り替わって「S-OFFするの?しないの?」と聞かれるんです。
説明では音量キーがYes,Noの選択で電源キーが決定って書いてあるんですが
Yesを選んで電源キーを押しても一向に何も起こらない。
これは絶対にYesが選べない仕様なのかと思ってしまったw
色々触っているうちにNoに移動した瞬間に再起動が掛かりました。
この後何回か試したんですがS-OFFされようがされまいが、再起動の前には絶対にNoが選ばれた状態になるようです。紛らわしい。

S-OFFされると再起動後にユーザーデータがワイプされて、bootloader上部にUNLOCKEDが表示されるので確認して下さい。
当然fastbootでflashも出来ました。
後は解除キーを使ってS-ON,S-OFFが簡単に行き来出来るようになります。
でもその度にワイプされてしまうのでやっぱりRevolutionaryの方がいいのかなぁ。

HTC Sensationでアドホック接続

2011-08-17 02:02:03 | HTC Sensation
今日はアドホック対応のwpa_supplicantをビルドしてみました。
一応HTC Sensation用としておきますがv6のwpa_supplicantが乗った機体ならどれでも使えると思います。
バージョンの確認方法はこうやってvオプションをつけて叩きます。



テストはSIM無しDesireでWireless Tetherを起動して接続してみました。



ばっちり繋がっていますね。



一応ビルドした塊なのでlibwpa_client.soも付けていますが
wpa_supplicantの入れ替えだけで動くかもしれません。

Downloadはここから。
passはsensationです。

HTC Sensationバージョン1.45.401.2用のunsecureなbootイメージ

2011-08-14 21:19:27 | HTC Sensation
HTC Sensationバージョン1.45.401.2用のunsecureなbootイメージを作りました。
このunsecureなbootイメージは何かって事を一応書いておきますが
HTC製品のboot.imgはadbログイン時にrootじゃないんですよね。
だからremountなんかも使えなくて色々面倒臭いと。

と言うことでいきなりrootでログイン出来る様にしたのがこのboot.imgです。
ここに置いておきますので欲しい人はどうぞ。
passはsensationです。

後はOTAを強制で当てる方法ね。
リカバリー画面でボリューム上+電源でメニューが表示されるのでZIPを選んでインスト。





ファイルを入れ替えていたりするとこんなエラーになるので戻すと。



これが最後のリブート寸前の画面です。



但しこの方法で1.45.401.2を当てるとHBOOTが1.80になるので注意してくださいね。
そう言えばスクショがディフォルトで撮れるようになっていました。
キーはHomeキー長押しに変更された様です。

HTC SensationにAndroid2.3.4のOTAを当てた

2011-08-14 14:02:32 | HTC Sensation
家が暑いので外に逃げての更新です。

HTC SensationのアップデートOTAが来ていたので当ててみました。
今回はAndroid2.3.4への更新ですね。
アップデート通知は来ていませんでしたが、オフィシャルのリカバリーに入れ換えて強制アップデートをかけました。
アップデート後にRevolutionaryでhbootを入れ変える予定でしたが
hbootのバージョンが1.80に上がっていて、サポート外と言うことで使えませんでした。

と言うことでRUUで一度35.401にバージョンダウンして45.401をバックアップから戻し今に至ります。





一応つじつまは合わせたつもり。
家に帰ったらunsecureなboot.imgを作ります。
今回はカーネルのバージョンが上がってPHYS_OFFSETアドレスが変わってます。
いじる人は注意してくださいね。

rootedなHTC Sensationに公式RUUやOTAを当てる手順

2011-08-11 18:56:58 | HTC Sensation
rootedなHTC Sensationに公式RUUやOTAを当てる手順です。
この方法では最終的にS-ONに戻りますので、Revolutionaryで再S-OFFするなりして下さい。
RUUとOTAはそれぞれ利点、欠点がありますので場合により使い分けて下さい。

・RUUを当てる場合

手順は簡単ですが、systemディレクトリが完全に工場出荷時に戻ります。
つまり、それまで行ってきた変更が全てやり直しになるということです。
挙動が怪しくなって来た場合等に有効です。

まず、superCIDを設定します。
HTC SensationにClockworkMod Recoveryを適用する手順 」を参考にしてfastbootが使える状態にし、Sensationをfastboot接続します。
そして、下記のコマンドを実行


fastboot oem writecid 11111111
fastboot reboot-bootloader

ここでbootloaderが再起動しますので下記のコマンドを実行。

fastboot getvar cid

Sensationから「 11111111 」の応答があれば成功です。
後は通常起動しここから取ってきた任意のRUUを当てます。
リージョンロックが外れていますので、多分どのRUUでも当てられるのではないかと思います。

RUUが終了した時点ではS-OFFのオフィシャルbootloaderが入った状態となります。
このままRevolutionaryが当てられるかどうかは試した事がないので分かりません。
S-ONに戻すには上記superCIDの設定をもう一度行い、fastbootから下記のコマンドを実行します。

fastboot oem writesecureflag 3


・OTAを当てる場合

今の状態を保ったままアップデートがかかります。
但し、過去のカスタマイズでアップデート対象リソースを入れ換えていた場合は作業が煩雑になります。

まずはSensationのソフトウェアアップデートを確認して、OTAパッケージをダウンロードします。
ダウンロードが完了すると、今すぐインストするか?と聞かれますので後程インストするを選びます。
この状態で一回バックアップを取っておいて下さい。

ダウンロードされたOTAパッケージが/sdcard/downloadに保存されていますので、PCにコピーしてきます。
OTAを解凍すると中にfirmware.zipがあると思うのでそれも解凍しrecovery.imgを取得します。
HTC SensationにClockworkMod Recoveryを適用する手順 」を参考にしてrecovery.imgを適用します。
発行するコマンドは

fastboot flash recovery recovery.img

これでリカバリー領域がオフィシャルリカバリーに戻りました。
後は「RUUを当てる場合」に記載してあるsuperCIDの設定を行っておきます。
Sensationを通常起動し、ステータスバーの通知からアップデートを開始します。
問題が無ければ数回再起動を繰り返した後、通常起動した状態に戻ります。

この状態ではRUUを適用した場合と同じでS-OFFのオフィシャルbootloaderが入っています。
fastbootから下記のコマンドでS-ONに戻ります。

fastboot oem writesecureflag 3

ここまですんなり終わればいいのですが、もしアップデート中にビックリマークが出てしまった場合はリソースの入れ替えが行われている場合です。
電源が落ちませんので電池はずしで切って下さい。この段階ではまだアップデートが走っていないので実行前と同じ状態です。
この後も頑張れば当てられる状態に持っていけますが、作業がかなり煩雑なので出来ればRUUを当てた所にOTAを当てる方法をおすすめします。

一応この後の手順も続けて記載しますが、それなりに知識のある人向けとさせてもらいます。

まず、入れ替えたリソースを自分で把握している場合です。
先程解凍したOTA内のMETA-INF\com\google\android\updater-scriptをテキストで開き
apply_patch_checkを行っているリソースで該当のものを探します。
見つかったら書き戻してアップデートを実行。
入れ替え時に上書きしてしまって物が無い場合については後記します。

次に、入れ替えたリソースを把握していない場合。
オフィシャルのリカバリーは画面出力も無いし、adb接続も出来ない様になっています。
もし可能であるならrecovery.imgをadb接続可能に修正しlogcatで突き止めるのが楽だと思います。
もしくはS-OFFされたSensationにオフィシャルOTAを当てたいを参考にしてClockworkMod RecoveryでOTAを実行し原因を突き止めてください。
続いて、上書いてしまったリソースの取得方法ですが
今使っているROMと同じバージョンのRUUを取得してきます。
エクスプローラーで「%TEMP%」を開き、出来るだけゴミを削除して綺麗にします。
RUUを実行します。%TEMP%直下にディレクトリが2つ出来ると思うのでその中からrom.zipを任意の場所にコピーします。
コピーが終わったらRUUは終了。rom.zipを解凍しsystem.imgを取得します。
ここからunyaffsを取得し「unyaffs.exe system.img」で展開されるので物を取得します。


何か後半が非常に分かりづらいですねw
PCが直ったら画像を追加しておきますが、余り改善されないかもしれない。

HTC Sensationでrootを取得する手順

2011-08-11 12:52:12 | HTC Sensation
さて、それではHTC Sensationでrootを取る手順に入ります。
これ自体は非常に簡単な作業ですが、S-OFFが行われている事が前提です。

まずはここからsuperuserのパッケージをダウンロードします。
それをSDカードの任意の場所に放り込みます。
入れ場所は好きな場所で良いのですが見つけやすい場所が良いですね。
わざわざPCを使うのが面倒な人はSensationで直接ダウンロードしてしまっても良いです。
その場合は/sdcard/download/に保存されます。

次にClockworkMod Recoveryを使った作業に入ります。
S-OFF時にインストしていなかった人は別記の方法でインストしてから以降の作業を進めて下さい。

まずbootloaderに再起動します。
音量下押しで電源ONですね。
一回電源キーを押してメニューを切り替えRecoveryを選択します。
再起動がかかってClockworkMod Recoveryが起動しましたか?




もしこんな画面になってしまった場合はClockworkMod Recoveryがインストされていません。



上記のClockworkMod Recoveryインストの手順を行ってください。
また、この状態になってしまうと電源が切れなくなるので、電池を外して強制的に切って下さいね。

それでは作業を始める前に一回バックアップを取って置きましょう。
ここでの操作は音量キーがメニュー上下、電源キーが決定、戻るキーが戻るです。

「backup and restore 」→「Backup」





だいたいROM単体で700MB位食います。
/sdcard/clockworkmod/backupの日付フォルダーに保存されます。





バックアップが終わりました。
画像の例だとsd-extが正常終了していますが、sd-extは作らないと存在しないのでエラーになっていても構いません。
では、先程突っ込んだsuperuserのインストをしましょう。

「install zip from sdcard」→「choose zip from sdcard 」





ここでSDカード内の一覧が表示されますので、su-2.3.6.3-efgh-signed.zipを選択します。



全然関係無い話ですが画像に只今絶賛デバッグ中のSensation用CyanogenMod7.1.0のOTAパッケージが写っています。
中々上手いこと動いてくれないんですよねw

zipを選んだら下の方のyesを選ぶとインストが始まります。





この例だと一発でインスト出来ていますが、確か初回は必ずインスト失敗して再度行うと成功だったような気がします。
表示されるメッセージを注意して見てください。

これで作業は終了です。
「reboot system now」で戻りましょう。



作業前とは特に変わった様に感じないと思いますが、superuserってアプリが追加されていると思います。

バックアップが取れたのでbootloaderが起動する限り復旧が出来るようになりました。
今後Sensationに何らかの変更を行うときには
バックアップ→変更作業→動作確認
のステップを行えば確実です。
うちではSDに5世代位のバックアップを取って置いて、バックアップ取得時に最古のバージョンを消していく運用をしています。

HTC SensationにClockworkMod Recoveryを適用する手順

2011-08-11 09:04:03 | HTC Sensation
※PCが壊れてしまったため画像無しの記事になります。復旧し次第 画像を掲載する予定です。

HTC SensationにClockworkMod Recoveryを適用する手順です。
S-OFF実施済みであることが前提です。

まず、ここからfastbootをダウンロードして任意の場所に解凍します。
次に ここ からClockworkMod Recoveryをダウンロードし、先程のfastbootと同じディレクトリに置きます。

PCとSensationをUSB接続し、bootloaderに再起動します。
ボリューム下を押しながら電源ONですね。
bootloaderが起動したらメニュー一番上の「FASTBOOT」が選択された状態で電源キーを一度押します。
メニューが書き変わって赤反転文字で「FASTBOOT USB」と表示されたと思います。

この状態でPCのコマンドプロンプトを起動し、先程ダウンロードしたfastbootのディレクトリまで移動します。
そして以下のコマンドを実行。

fastboot flash recovery recovery-clockwork-4.0.1.5-pyramid.img

コマンドの応答がOKであることを確認してください。
これで完了です。
REBOOTを選んで終了しましょう。

fastbootは今後頻繁に使用する事になりますので、PATHを通してやっておくと楽です