2010年05月26日

HT-03Aでまだまだ戦う (Cyanogenmod 5.0.7 正式リリース版編)

ずっとtestリリースが続いていたCyanogenmod 5.0.7が、ついに正式リリース版となりました。(ぱちぱちぱち)
めでたいので、久しぶりにFullWipeして1から環境構築してみました。

<というわけで一応書いとくお約束>

今さら言うまでもないと思いますが…。
全ての作業は自己責任でお願いしますね。

幸いにして私は今のところトラブルなく作業できていますが、煉瓦になってしまったという話も少しだけ耳にしています。(それでも完全煉瓦ではなく、何とか復旧できるレベルでは収まっているみたいですが)

ある程度Linuxの知識がないと正直しんどいと思います。手順をざっと見て?マークが2つ以上浮かぶようでしたらやめておいた方が無難だと思います。

らじゃー(≧▽≦)ゞ というわけで続きを読む
posted by 月水和尚 (とも) at 00:10 | Comment(31) | TrackBack(0) | Android

2010年05月23日

HT-03Aでまだまだ戦う (Cyanogenmod 5.0.7 test7編)

test6で味をしめたので、今回もリンク先だけ。(笑)

<ROM本体>
Cyanogenmod-5 For Dream/magic - Would You Like A Pony? - V5.0.7-Test7 (05/22/2010) - CyanogenMod Forum
http://forum.cyanogenmod.com/index.php?/topic/2688-cyanogenmod-5-for-dreammagic-would-you-like-a-pony-v507-test7-05222010/

<JITパッチ>
JIT – CM5.0.7-T Series – Dream/Sapphire - Droid Basement
http://droidbasement.com/db-blog/?p=365

<OverClockパッチ>
xda-developers - View Single Post - ToAsTcfh Overclock Kernel Patch :: Downloadable Kernels For G1/32B/32A
http://forum.xda-developers.com/showpost.php?p=6564523&postcount=1010

<ChangeLog>
[Bugs] Cm 5.0.7 Test 7 - CyanogenMod Forum
http://forum.cyanogenmod.com/index.php?/topic/3781-bugs-cm-507-test-7/

ChangeLogを見て気になったのが「Change oom-killer behavior to be more "swap friendly"」という一文。大きな変更なのか赤字で書いてあります。先日Compcache/Swapの再考をした身としては動きの変化が非常に気になります。ただtest7でも推奨はCompcache 24MB/swapオフから変わっていないので、Compcache onlyへの最適化が進んだと解釈すればいいのかなと思っています。

JITパッチは今回も変更なしです。Froyoのソースコードが公開されると、FroyoのJIT実装をEclair向けにバックポートしたものが公開されるのではないかとちょっとわくわくしています。

今回からシステムダイエットの一環として、ADW Launcherの導入をやめてみました。システムの軽量化や動作速度の向上に貢献してくれるかどうか分からないのですが、とりあえずお試しで。あまり変化を感じなかったり、不便さを感じるようだったらまた導入する予定です。

そして今回も例によって素のままではb-mobileのSIMはうまく認識されません。
libhtc_ril.soの置き換えを行って下さい。

Google I/Oで発表されたFroyoですが、大方の予想を覆して発表翌日にはNexusOneに配信され始めました。DesireLegendmilestoneなど、魅力的な端末はたくさんあるのですが、Androidで全力で遊ぼうと思ったらやっぱりNexusOne一択なのかなぁ…と思う今日この頃です。

…あ、もちろんNexusOne買ったとしてもHT-03Aは使い続けますよ。
何とかNexusTwoが出るくらいまでは現役で頑張ってほしい。

がんがれHT-03A、ちょうがんがれ!!
posted by 月水和尚 (とも) at 22:14 | Comment(5) | TrackBack(0) | Android

HT-03Aでまだまだ戦う (Cyanogenmod 5.0.7 swap/Compcache再考編)

最新の端末と比較すると(当たり前ですが)スペック的に劣るHT-03Aですが、個人的に最も厳しいと思うのがメモリの少なさ。発売当時のCupcakeがどうだったのかは知らないのですが、EclairCyanogenmod 5.0.7を動かすにはメモリ128MB(それもシステム外で32MBくらい使われてしまっているためOSから見えるのは96MB)は少なすぎです。

とは言えPCなどのように後からメモリを増設するわけにも行かないので、工夫で何とかしなければなりません。そのためにAndroidには(Linuxにはと表現する方が正しいのかな?)SwapCompcacheという2つの仕組みが提供されています。

設定するためには、一部を除きコマンドレベルでの対応が必要です。そのため、Cyanogenmodでシステム起動時に実行されるユーザスクリプトであるuserinit.sh (/sd-ext/userinit.sh) に実行すべきコマンドを記述して設定するようにしています。(Compcacheについてはスペアパーツからでも設定可能ですが、ここから設定するとサイズ24MB固定&userinit.shの設定内容が反映されなくなりますのでご注意下さい)

SwapCompcacheの組み合わせで、以下の4つの設定が可能です。

1.Swap Only

Swap(Linux swap)のみ設定します。使用する領域はファイルでもパーティションでも可能ですが、私はSDカードの第3パーティション(/dev/block/mmcblk0p3)に256MBのswapパーティションを作成しました。

userinit.shに記述する内容は以下の通りです。
swapon /dev/block/mmcblk0p3

swap領域のサイズは用意したパーティションのサイズで決まります。(なのでコマンドにはサイズは書きません) パーティションサイズはあとで変更するのが大変なのでご注意下さい。

2.Compcache Only

Compcacheのみ設定します。

このCompcacheってのが最初全然理解できなくて、メモリからあぶれたデータを書き出す先が何でメモリ上にあるんだ…と頭を抱えていたんですが、これって昔流行ったRAMダブラー的な何かなんですね。補助記憶にデータを書き出すコストよりもCPUでデータを圧縮するコストの方が低いので、メモリの一部をデータ圧縮付きのswap扱いにして、メモリ上に置けるデータ量を増やすと。確かに実メモリの少ない携帯とか組み込み向けにはいいのかもしれません。

設定可能なサイズは16MB〜48MBくらいです。これはシステム的な制約ではなく、実用上このくらいが妥当でしょう、と私が思っている値です。twitterにて人柱勇者の方が64MBに挑戦されていましたが、あえなく撃沈となったそうです。

とりあえずサイズは推奨値っぽい24MBとしました。
userinit.shに記述する内容は以下の通りです。
modprobe ramzswap
rzscontrol /dev/block/ramzswap0 --disksize_kb=24480 --init
swapon /dev/block/ramzswap0

swapと違いサイズ変え放題です。と言っても再起動は必要ですが。(やって出来なくはないのですが、システム不安定になるのでお勧めできないです)

3.Compcache with Swap

CompcacheSwapを同時に設定します。Compcacheはswapのバッファ領域的に扱われるため、システムから見えるswapのサイズはswapパーティションの大きさになります。

Compcacheとして設定可能なサイズはCompcacheのみの時と同じと考えていいと思います。サイズはサンプルとして書かれていた値をそのまま採用し16MBとしました。
userinit.shに記述する内容は以下の通りです。
modprobe ramzswap
rzscontrol /dev/block/ramzswap0 --backing_swap=/dev/block/mmcblk0p3 --memlimit_kb=14688 --init
swapon /dev/block/ramzswap0

4.Compcache and Swap

CompcacheSwapを同時に設定します。先ほどの3との違いは、Compcacheもswapパーティションも同じswap領域と見なす事。そのためシステムから見えるswapのサイズはCompcacheの大きさ+swapパーティションの大きさになります。

swapにはパーティションごとに優先度があるため、優先度の高い方から使用され、満杯になると次に優先度の高いパーティションが使われます。ただ、その優先度設定のオプションであるpri=xxをどうやって設定したらいいのか分かりません…。(fstabに書く方法なら分かったのですが、Compcacheはfstabには定義できないので)

とりあえずCompcacheを24MBとし、Compcacheとswapの優先度は特に意識せずに設定してみました。
userinit.shに記述する内容は以下の通りです。
modprobe ramzswap
rzscontrol /dev/block/ramzswap0 --disksize_kb=24480 --init
swapon /dev/block/ramzswap0
swapon /dev/block/mmcblk0p3

以上4つのパターンで、Compcacheのサイズを変えながら色々試してみた結果、個人的には以下の結論に達しました。

・CompcacheとSwapは併用しない。使うならどちらか。

・個々の操作のレスポンスを求めるならCompcache。
 サイズは24MB〜32MB程度にとどめておく。

・マルチタスキングを重視するならswap。
 サイズは思いっきり大きくする。推奨256MB。


で、私はどんな設定にしているかというと、今はCompcache 24MBです。swap使った方が使いかけのアプリを落とされる可能性が減って本来のマルチタスク的な使い方はしやすいのですが、やはりCompcacheとのレスポンスの差は大きいです。特にカメラ系のアプリはswapだと数十秒レベルで起動を待たされるのに、Compcacheだとものの2〜3秒で起動します。カメラはよく使う機能だけに、この差は大きすぎ。

ただちょっと気になっているのが、Compcacheのみで運用するようになってから、突然の再起動(操作中ではなく、放置している間に突然発生する)が起こるようになった事。これがCompcache弊害なのか、test5以降に潜むバグなのか、それ以外の何か(例えばOCとか)が原因なのかはっきりとは分かっていません。とりあえずCompcacheが48MBと32MBでは発生したので、今は24MBで様子見をしているところです。(サイズの問題なのかも全然分かっていないのですが)

ここに来てだいぶ安定してきたCyanogenmod 5.0.7ですが、やはり唯一の電話として使うにはまだまだ安心できない安定度だと思います。これはCyanogenmodの問題と言うよりも、Android自身の抱えている問題なのかもしれませんが。なのでこれ1台での運用は激しく非推奨。通話とメール用には1台安定して使える携帯を持っておき、PocketWifib-mobileSIMなどを使って「趣味としての」「携帯っぽい形をした何かw」として使う事をお勧めしたいです。

twitterにて色々と教えて下さったり、人柱として頑張って下さっている皆様に感謝!
これからもよろしくお願いします。私もまだまだ頑張りますよ!

Twitter / Search - #ht03a
http://twitter.com/#search?q=%23ht03a

Twitter / Search - #cm5
http://twitter.com/#search?q=%23cm5

Userinit.sh - CyanogenMod Wiki
http://wiki.cyanogenmod.com/index.php/Userinit.sh

Linuxのスワップ処理を最適化するためのヒント - SourceForge.JP
http://sourceforge.jp/magazine/07/12/05/0057203
posted by 月水和尚 (とも) at 01:30 | Comment(6) | TrackBack(0) | Android

2010年05月21日

HT-03Aでまだまだ戦う (Cyanogenmod 5.0.7 test6編)

…もう、リンク先だけでいいですよね。(笑)

<ROM本体>
Cyanogenmod-5 For Dream/magic - Would You Like A Pony? - V5.0.7-Test6 (05/20/2010) - CyanogenMod Forum
http://forum.cyanogenmod.com/index.php?/topic/2688-cyanogenmod-5-for-dreammagic-would-you-like-a-pony-v507-test6-05202010/

<JITパッチ>
JIT – CM5.0.7-T Series – Dream/Sapphire - Droid Basement
http://droidbasement.com/db-blog/?p=365

<OverClockパッチ>
xda-developers - View Single Post - ToAsTcfh Overclock Kernel Patch :: Downloadable Kernels For G1/32B/32A
http://forum.xda-developers.com/showpost.php?p=6547296&postcount=979

<ChangeLog>
[Bugs] Cm 5.0.7 Test 6 - CyanogenMod Forum
http://forum.cyanogenmod.com/index.php?/topic/3713-bugs-cm-507-test-6/

今回カーネルのバージョンはtest5から変わっていない(2.6.33.4)ので、OverClockパッチに関してはtest5用のものをそのまま使っています。たぶん近日中にtest6用も公開されると思うので、xdadumfuqさんの発言は要チェックです。

−追記:2010/05/22−
test6用のOCカーネル公開されました。リンク差し替え済みです。

JITパッチに関しては特にバージョンに依存していないようなので、
Droid Basementで公開されている最新のものを適用しています。(test5の時と同じ物です)

今回も例によって素のままではb-mobileのSIMはうまく認識されません。
libhtc_ril.soの置き換えを行って下さい。

今回からswapを使わない事が推奨されています。CompCacheだけ設定するのが最もよいと判断されたのでしょう。(私もそう思います。詳しくは別の記事で書く…かも)

昨日(今朝?)発表されたFroyoもMyTouch3Gで動くらしいですし、EclairCyanogenmodもだいぶ安定快適になってきました。まだまだ行けるぞHT-03A
posted by 月水和尚 (とも) at 15:51 | Comment(5) | TrackBack(0) | Android

2010年05月14日

HT-03Aでまだまだ戦う (Cyanogenmod 5.0.7 test5編)

つい先日test4になったCyanogenmodがもうtest5に。(汗) ChangeLogを見た感じだとそれほどインパクトのある変化はないっぽいですが、とりあえず更新してみました。

という事で、今回も忘れないうちに手順をメモっておきます。

<例の如くお約束>

煉瓦になっても泣かないんだからねっ!!
ざ、自己責任。

おーけー、続きを読む
posted by 月水和尚 (とも) at 18:43 | Comment(6) | TrackBack(0) | Android

HT-03Aでまだまだ戦う (こんなアプリ使ってます編)

やっと使うアプリが固まってきたので、備忘録代わりに書き出してみます。
新しいROMを試すたびに1から入れ直しなので、しょっちゅう「あれ、あのアプリ何て名前だったっけ?」みたいな事になっているので。(何しろ"とりあたま"なもんで…笑)

備忘録代わりなのであんまり凝った書き方はしません。
ご参考までって感じでどうぞ。

aDataConMon
3Gの電波状態を通知領域に表示してくれます。
アンテナピクトに嫌われているb-mobile使いには必携。

AltTabApps
タスクスイッチャーとして使ってます。
検索長押しでいつでも起動できるので非常に便利。

AndExplorer
ファイラーですね。Astroさんよりも何となく肌に合ってます。

Camera Magic
カメラアプリとしてはこれを。
しかしHT-03Aでのカメラの起動って何であんなに重いんでしょうね…。

ClipStore
クリップボード履歴管理。
単体アプリと言うよりは、simejiのマッシュルームとして使ってます。

ConnectBot
ターミナルエミュレータ。標準付属のterminalより賢くて重宝。

CPUMonitor
CPU使用率を通知領域に表示。精神安定剤として。(笑)

Dropbox
Dropboxの公式アプリがついに出ました!
これは私にとっては生命線とも言えるサービスで、自宅でオフィスで外出先で、複数のプラットフォーム(Ubuntu/Mac/Windows/Android/iPhone)を跨いでのデータの同期を行ってくれる超優れもの。本当にお勧め。
別途紹介記事を書いておりますので、良かったらご一読下さい。

FoxNote
GoogleDocsと同期が可能なメモ帳。本当はWriteRoom for Android(もしくはsimpletext.wsと同期可能なアプリ)があれば嬉しいんですが。もしくはGoogleノートブックアプリとか。

Galapagos Browser
携帯のふりして携帯用のページを見るためのブラウザ。
あまり使う事はないのですが、何かの時のために。

HelloStatusBar / exsbar
通知領域を通話ボタンで開くためのアプリの組み合わせ。
HT-03Aを電話として使っていないが故の便利なキーアサイン。

In-App Wifi Toggle
通話ボタン長押し(または通話ボタンor検索ボタン普通押し)で、いかなるアプリからもWifiをON/OFFする事が可能。
うわぁWifiオンにするの忘れたぁぁ!!という場合でも安心。

Libraroid
図書館横断検索&予約アプリ。
本はあまり買わずに図書館派の私には非常に嬉しいアプリです。

My Tracks
GPロガー。実はまだ使った事がない。(笑)

NewsRob
GoogleReaderクライアント。

Note Everything
テキストデータだけでなく、手書きや音声メモなども残せる多機能メモ。

Opera mini / OperaBridge
Android用のOperaと、それをIntent経由で呼び出せるようにするためのアプリ。
Operaは確かにページの読み込み速くていいのですが、今ひとつ使い勝手が良くないのとフォントのレンダリングがいまいちであまり使ってません。通信速度が厳しい時用。

Quick Settings
設定アプリ。WiFiのON/OFFとかさくっと出来て便利。

Retro Clock Widget
時計ウィジェット。見やすくて好き。

S2カレンダーウィジェット
ホーム画面に月間カレンダーを表示。
ちゃんと予定がある日にはマークが付くので非常に便利。

Simeji / 叫ぶ / Kaomoji List
変な日本語IME。(作者様談) これがあるからAndroid使ってます的なアプリその1。
OpenWnnの高い変換精度と、痒いところに手が届くUIは本当にすばらしいです。
あとはマッシュルームとして「叫ぶ」と「Kaomoji List」を使用。

Speed Dial Folder
アプリケーションランチャーとして使ってます。
標準のランチャは並び順など自由に整理できなくて不便なので。

twicca / twitpic plugin
twitterクライアント。これがあるからAndroid使ってます的なアプリその2。
写真投稿のためにtwitpic pluginもあわせて導入。

Wifi Analyzer
名前のまんま。ネットワークやさんとしてはすごく便利。

Wifi Fixer
WiFiの接続状態をよしなに計らってくれるアプリ。
以前はスタンバイからの復帰時などにWiFiへの再接続が失敗しまくったので導入必須なアプリだったんですが、最近はそうでもないような気がします。Eclairに移行したからですかね?

Wifi Manager
WiFi接続管理ウィジェット。使うAPがころころ変わる場合などに便利。

Wifi Toggle Widget
WiFiをON/OFFするウィジェット。接続したAP名が表示されて便利。

Wireless Tether
精神安定剤として入れてあります。(笑)

ジョルテ
カレンダーアプリ。標準のカレンダーデータを使えるのでGoogleカレンダーとの相性抜群。そして見やすさは標準アプリと比較したら可哀相なくらい素晴らしいレベル。週表示のウィジェットも非常に見やすくてGood。

Dolphin Browser HD
ブラウザ。HDが付く前のはあまり使っていなかったのですが、HDになって結構便利になったので、標準ブラウザと適当に使い分け。

降水確率ステータスバー
通知領域に天気と降水確率を表示。
その昔Stationのお天気アイコンを愛用していた身としてはたまらなく便利。

東京アメッシュ
東京アメッシュビューア。東京都民ならぜひとも入れておきたい一品。

日本のお天気レーダー
天気の行方が気になる時も安心。


あとはMarket外からもいくつか。

ADW Launcher
ホーム置き換えアプリ…でいいのかな?
標準のホームやHome++よりも使いやすい&軽快で気に入ってます。

SetCPU
CPUクロック制御(cpufreq)設定アプリ。
単純な最大/最小クロックの設定だけでなく、スリープ時やバッテリ残量によって設定値を変化させる事が出来る優れもの。
Marketに同名のアプリがありますが、あちらは所謂寄付アプリ扱いだそうです。

大きなアイコンウィジェット
おおきなアイコンをホーム画面に表示するだけのウィジェット。(作者様談)
個人的にはものすごく好きです。


意外といっぱいあった…。orz ツカレタ
posted by 月水和尚 (とも) at 01:39 | Comment(2) | TrackBack(0) | Android

HT-03Aでまだまだ戦う (Cyanogenmod 5.0.7 test4編)

Cyanogenmodがtest4になりました。test3で発生していた3G通信の不具合も解消されたようで、私の手元では非常によい感じに動いています。(まだ半日くらいしか使っていませんが…)

という事で、忘れないうちに手順をメモっておきます。

<相変わらずのお約束>

…はもういいですよね。(笑)
煉瓦になっても泣かない方だけ、自己責任でどうぞ。


了解して続きを読む
posted by 月水和尚 (とも) at 00:16 | Comment(0) | TrackBack(1) | Android

2010年05月12日

HT-03Aでまだまだ戦う (CM5.0.7 test3で快適3G編)

抜群のスピードと安定度を誇る(当社比)Cyanogenmod 5.0.7ですが、test3になって3Gでの通信が非常に不安定になってしまいました。Wifi運用であれば全然問題ないのですが、私はb-mobileSIM U300をメインに使っているので3Gが安定して使えないのは非常に痛い。

ただ、3G通信が全部駄目なわけではなくて、pingはさくさく通ったりします。それもpingでネットワークを維持しておけばその他の通信も全て普通に使えてしまうからあら不思議。

というわけで、実は単純に裏でpingを流しておくだけで快適な3G通信が可能になります。
ping 210.128.58.20

ping先である210.128.58.20www.bmobile.ne.jpです。ネットワーク的に一番近そうなので。IP指定なのは名前解決に失敗する事が非常に多いためです。

で、これ毎回ターミナルに打ち込むのは面倒なので、私はConnectBotに専用のホスト定義を作成し、Post-login automationに上記のコマンドを登録して使ってます。これならConnectBot起動→設定したホスト定義をタップするだけですぐに回線維持が始まってくれます。終わる時には単純にCtrl-cで。

画面のON/OFFを簡単に検出する事が出来れば、シェルでも書いて画面ON時のみpingを打つとかしたいところなのですが、その辺全然分かってないので今は完全に打ちっぱなし状態です。バッテリへのインパクトが心配だったのですが、今のところあまり気にならないレベル。

ちなみにpingもデフォルトの1秒間隔だとほとんどパケットロスないのですが、10秒間隔にするととたんにロス率6割オーバーとかになってしまいます。本当に出だしだけが駄目みたいですね。この辺の情報開発者様にフィードバックすると幸せになれるかな…と思わなくもないのですが、英語でフォーラムに書き込みとか私には無理…。orz

test3で3G通信が出来ずに困っている方、ぜひ一度試してみて下さい。


おまけ

pingで回線維持って不思議な既視感があったのですが、昔も似たような事やってたんですね。歴史は繰り返す?(笑)
posted by 月水和尚 (とも) at 01:04 | Comment(4) | TrackBack(0) | Android

2010年05月11日

HT-03Aでまだまだ戦う (OverClockトラブル対応編)

前回記事に書きましたとおり、Cyanogenmod 5.0.7 test3 + Overclock Kernel Patchの組み合わせは驚異的なOC耐性を見せてくれます。しかし限界値を探ろうとクロックを上げて試しているうちに、
限界を超えてハングアップ
 ↓
再起動
 ↓
自動的に前回のクロックに
 ↓
また限界を超えて再起動

というループに突入してしまう場合があります。
そんな場合の簡単な救出手順をご紹介。

まずは本体をUSBで母艦に接続し、電源をONにします。
起動スプラッシュが出る頃にはadbによる接続が可能になっているので、母艦から以下のコマンドで接続します。
./adb shell

繋がったらすぐに以下のコマンドを実行します。
cd /sys/devices/system/cpu/cpu0/cpufreq
while true; do echo 528000 > scaling_max_freq; done

これで強制的にクロック上限を528MHzに押さえ込みます。
(画面に変化はないですが、コマンドは動き続けています)

無事に起動したら、SetCPUOverClockWidgetなど、OCに使っているツールから適正な上限クロックに設定し直してください。

設定が完了したら、先ほどコマンドを打ったターミナルでCtrl-cを押して実行中のプロセスを停止します。

かなり強引な手順なのですが、レスキュー用途に限ればこれで十分でしょう。

クロック上限値を探す場合は、SetCPUのように給電時とそうでない場合の設定を別々に設定できるツールを使うといいかもしれません。給電時の設定を安全な値にしておき、バッテリ駆動状態でクロックアップ。システムハングしてしまったら給電しながら再起動すれば安全な値で復活してくれるはずです。(今思いついたので試していません)

クロックアップの効果は絶大ですが、その代償として製品寿命を縮めるばかりか、最悪の場合発熱による火傷や、バッテリの炎上など恐ろしい副作用が起こる可能性があります。用法・用量を守りながら「自己責任」でお楽しみ下さい。
posted by 月水和尚 (とも) at 18:30 | Comment(4) | TrackBack(0) | Android

2010年05月10日

HT-03Aでまだまだ戦う (Cyanogenmod 5.0.7 test3編)

Cyanogenmodがtest3になったので入れてみました。
色々すごいんですが、ちょっと3G通信に不具合もあります。
WiFiオンリーならお勧めですが、3Gメインなら見送りですかね。

<いつものお約束>

当手順は完全に無保証です。ここに書かれている事を実施して被ったあらゆる被害について当方は何一つ保証する事は出来ません。当手順を実施する事で間違いなくメーカー保証は受けられなくなりますし、場合によっては大切なデバイスを煉瓦や文鎮にしてしまう可能性も十分にあります。これらのリスクについて十分に理解し、全て自己責任で対処できる方のみ先を読み進めて下さい。


全て自己責任であることを理解して続きを読む
posted by 月水和尚 (とも) at 00:52 | Comment(9) | TrackBack(0) | Android