2011年4月28日木曜日

( ..)φメモ

( ..)φメモ

●一応OK
  • ar6000ドライバビルド。wifi動作。
  • PowerVR SGX 540ドライバはそのまま動いてるっぽい。
  • adb接続はOK。
  • ALSA-sound動作。
  • SDカードのmountもOK。

●Todo
  • Gセンサーが馬鹿。正しく回転しない。
  • 追加ドライバモジュールの組み込み。
  • GPSライブラリの動作確認。
  • Bluetoothの動作確認。
  • Settingsのデータベース調整。
  • ブラウザが死ぬ(位置情報取得で死んでるっぽい)
  • マーケットが落ちる。
  • youtubeが音声のみ。
  • カメラが動かない。

オリジナルとのログ差分を検証しながらの地味な作業(笑)
Gセンサーの直し方がよく分からずに躓いている、、、(´・ω・`)
そもそも、タブレットの回転に対して、フレームワークに渡ってくる情報がオリジナルと違う。
タブレットの向きに対する値がずれてるのか?どうなのか?
ドライバはオリジナルのままだから、ドライバから読む箇所で何らかの処理が入ってるはず。

ぐぐる先生に聞いても似たような問題はヒットするけど、肝心の直し方が出てこない。
うーん、、、ソース追っかけるのが大変なんだが・・・(;´Д`)
とにかく、当面の目標はハード的な部分をなんとなく動くようにすること。
カメラはともかく、特にGセンサー。頭傾けていじるの疲れるし(ーー;)

2011年4月25日月曜日

オレ泥ファームメモ

Froyo 2.2.2_r1 自ビルドバージョン作業( ..)φメモ

●一応OK
  • ar6000ドライバビルド。wifi動作。
  • PowerVR SGX 540ドライバはそのまま動いてるっぽい。
  • adb接続はOK。

●Todo
  • Gセンサーが馬鹿。正しく回転しない。
  • ALSA-soundが動いてない。
  • SDカードがmountされない。
  • 追加ドライバモジュールの組み込み。
  • GPSライブラリの動作確認。
  • Bluetoothの動作確認。
  • Settingsのデータベース調整。
  • ブラウザが死ぬ(位置情報取得で死んでるっぽい)
  • マーケットが落ちる。

結構、致命的なバグ多し(爆)
ま、ほぼ素のFroyoなのでそんなもんだろうとは予想してたけど。。。全部の動作を調べてないので隠れバグもあるはずだ。
最初はwifiも動かず、とにかくネットにつなぐのを最優先でar6000のドライバから手をつけた。
Androidビルドの作法がよくわからんので、つぎはぎの環境になっちゃってるんだけど、まとめないと忘れてしまう(;´Д`)

なんか、いつのまにか大層な改造になってきた感が漂うけど。
果たして、プラスGPS & BT のFroyoは完成するのだろうか?
おいらにも分からん(´・ω・`)

そして、よい子は真似してはいけないヨ!

2011年4月22日金曜日

オレどろいど

TR718Dはとりあえず保留中。
Rockchip系のライブラリモジュールを追っかけてたら、スパゲティになったので(´・ω・`ゝてへ
なんかね、歳かな。
頭が働かん(笑)

で、
Dorpad A8をいじりだした。
MID816と同じくs5pv210を使ってるのでドライバを作るのはほぼそのままで問題なし。
とりあえずmid816etcを移植する形をとってみたら、全然動かなかった(´・ω・`)
どうやら問題は、wifiチップドライバ。
同じar6000なんだけど、ドライバのモジュール構成が違うみたいで色んな.soが噛み合ってないっぽい。
なんだかなー、Froyo側だからなんとかならんかな。ソース(略

ちなみに、泥A8のファームをいじるのは簡単。
7-Zipでファームのtgzを開いてファイルを書き換えたり追加すればOK。
M001っぽくて手間いらず。これはイイ。

で、ライブラリを調整しつつログとにらめっこするのも飽きた。

(゜-゜)・・・・
ビルド仮環境のFroyo、、、
ライブラリとかフレームワークを全コピして動くかな??
と、、、、試したら、動いたww
オリジナルのファーム上に、自ビルドFroyoを上書きする形であっけなくブート。
ホームもちゃんと動き、アプリも大丈夫っぽい。
うはwオレどろいどキタ(笑)
自ビルド環境だから、GPSライブラリもBluetoothももれなく入ってる版。

ただし、

問題がある。

wifiが動かん。
Gセンサーが馬鹿。
GPSもBTも環境未調整のままだから設定すらできない。

ダメジャン。
ぜんっぜん、ダメジャン(・ω・)

でも、面白そうだからしばらくこれで遊ぶww

2011年4月15日金曜日

あんどろめだソース

あんどろめだ焼きではない。断じて( ・ω・)

引き続き、TR718Dをほげる。
root化はなんとかなった。と言うか、cramfsをmountしてから、ローカルディスクに全コピ&ほげ&mkcramfsでおkだったんだ。
てっきり、ファイルシステム上じゃないとダメだと勝手に勘違いしてた。
ちらんかった。

んで、GPSなlibをmakeって組み込んだりしてたんだけど、ライブラリの依存関係とか見てるときに気がついた。
どうやら作らなきゃいけないlibに、TR718D依存のコードが混じってるっぽい。
(゜-゜)・・・・あかんがな。ソース無いがな。
とりあえず、無視してビルドしたlibは当然動かず。
他libの依存関係にも縛られてるっぽい。
とりあえず、調べてみるけど、依存コードが手に入らないことにはどうにもこうにもならないのは確実。
( ・ω・)、、、、ソースくれー、ソースくれー
ドライバは問題ないのになぁ。

とりあえず、中断の方向が濃厚。
あかんなぁ。

で、それでは面白くないので、Slatedroidで公開されてるFroyoカスタムファームをバラして見ている。
イイ感じに動いてるけど、まだ不安定な箇所がある。
ブラウザが落ちるのが一番困る。
ライブラリも依存コードを含んでないっぽいのでいけるか?
うーむ、アンオフィシャルなファームをメインストリームにするのはどうかと思うけど、この際しょうがないかも(;´Д`)

ま、もうちょっと考えようっと。

2011年4月12日火曜日

三匹目のタブレット

平行して色んな中華padをいじってると、どれがどれか分からなくなることがたまにある。
カーネルソースやらAndroidソースをそれぞれに用意してるので、マルチにビルドを走らせることもあるわけで。
そんなことをしていると、MID816のmoduleを間違ってTR718Dに読ませようとして怒られたりもする(;´Д`)

MID816はBluetooth周りを微妙にほげっているんだけど、なかなか進まない。
モジュールはロードされ、/sys/class/bluetooth/hci0/も現れるのに、hcitool dev すると、なぜかデバイスが見えないとか(´・ω・`)謎な仕様に悩まされてたりする。
socketが作られないのも謎。う゛~ん、考えるのが面倒くさい(笑)

んなわけで、TR718Dをほげっている。
M001から数えれば三匹目なんだなコレが。

Rockchip RK2818な石を積んでいる板と言うことで、これまでとは勝手がまた違っている。
ファームをバラす方法もなんだかややこしい。

ていうか、まずroot化にてこずっている。
z4rootで、Temporary root を取るのは簡単なんだけど、root化済みのファームを作るのがいまひとつ。
具体的には、ファームイメージのsystem.imgをバラして、su & Superuser.apk をぶち込む作業になるんだけど、Ubuntu作業環境で、cramfsを解いて入れてrepackしてもブートしてくれなかったり。
Windowsツールでrepackしたらうまくブートするけど、suidが立てられなかったり(´・ω・`)
なんだか、チュート半端にうまくいかない。

仕方ないので、Temporary root状態でmoduleロードしたり、ライブラリ叩いたりしている今日この頃。めちゃ効率悪いし(´・ω・`)
サクッとroot化できればもっと楽なのに。。。。

この板の面倒くさいところは、ブート状態で /system が書き換えられないこともある。
adbやshellを駆使して、とりあえずな仮組みブートテストができない。
いちいち、ファームイメージ作り直して焼いてブートしての繰り返し。非常に手間がかかる。

めんどくさっ(・ω・)


でもまぁ、kernel moduleをmakeして、それを読ませることには成功しているので何とかなるかなぁ・・・・と、、、
original なファームに busybox が入ってるのでコマンド類が不足することはなさそうだし。
GPS対応としては、USB-Serial module と GPS関係のライブラリと Settings.apk 周りを動かして、databaseの細工をすればいいハズ。

とりあえず、GPSレシーバーは認識できてるー(・∀・)

2011年4月9日土曜日

mid816etc ver1.1.0 (minipad)

●はじめに

このファームウェアは、MID816(minipad)用 20110321版ファームウェアを元に一部を改変したカスタムファームウェアです。
基本機能はオリジナルのファームに準じますが、下記の機能を追加しています。
  • root化
  • busybox導入
  • カスタマイズ用usrinit機能。

●root化

/system/bin/su および /system/app/Superuser.apk を導入済みです。


●busybox導入

/system/bin/busybox (BusyBox v1.17.1)をインストール済みです。
/system/bin/ 以下に各種コマンドへのシンボリックリンクが張られているのですぐに使えます。


●カスタマイズ用usrinit

Androidブートシーケンスの初期処理 init から、ユーザーオリジナルの処理スクリプトを呼び出す仕組みを入れています。
ブート時に動かしたい処理をシェルスクリプトで記述し、スクリプトファイルを /system/etc/usrinit.d ディレクトリに入れておけば、ブート時に自動的に実行されます。

動作概要は次の通りです。
init は 起動時に、init.rc と init.focus-s5pv210.rc を呼び出します。
このうち、init.focus-s5pv210.rc から、/system/etc/usrinit.sh が呼び出されるようになっています。
usrinit.sh は /system/etc/usrinit.d ディレクトリ内に存在するスクリプトを順に実行して行きます。
ここにスクリプトを入れておくだけで、特別なハードウェアの初期化処理や、ドライバのロードなど、ブート時に必要な処理を実行させることができます。


●インストール方法
  • mid816etc-1.1.0.zip を適当なフォルダに解凍しておく。
  • MID816とPCをつなぐ。
  • ファームアップデートモードでMID816を起動する。
  • mid816etc-1.1.0.zip を解凍したフォルダをカレントにしてDOS窓を開く。
  • keep_data_20110321-update.bat を実行。
  • アップデートが正常に終了する事を祈る。

●ダウンロード

mid816etc ver1.1.0 : mid816etc-1.1.0.zip

http://www.megaupload.com/?d=1BN909V4


●取り扱い注意

root化した時点でセキュリティ的にまずいことをご理解ください。
ご利用は計画的に。



以上。


ベースになるファームウェアが 20110321版になっただけの rootedファームです。
1.0.0と同じく、コレだけではGPSは使用できません。
別途、mid816gps-tools-1.0.0 を導入してくださいネ。と(・∀・)

GPSについての記事は、mid816gps-tools ver1.0.0 を参照( ..)φメモ

追記
書き忘れてたwファームを更新するたびにMID816の挙動がおかしくなることがある。
具体的にはアプリを起動すると予期せぬエラーで停止したり(・∀・)
そんなときは、アプリの再インスコすればおk。面倒くさいけど(´・ω・`)

2011年4月2日土曜日

MID816(minipad)の怪

20110321版のファームも出て、動きのあるMID816。
Android 2.3を載せたバージョンが出るようで、ファームの移植が楽しみなんだけど、カスタムファームと言う括りで見ると突出した開発物があるわけではない。
それだけ、満足度の高い機種ともいえるんだけど、ぽつぽつ不具合も散見される。。。
ビデオの音ずれなんかもそう。

で、先日来からファームのアプデトを繰り返し実験してたんだけど、困った現象が現れた。

android.process.acore エラーが頻発。

(´・ω・`)デタコレ

以前から、ネット上の掲示板とかで、何らかのタイミングでこのエラーが頻発して使い物にならなくなる、と言う書き込みがあった。
なんだろう?と気にはしてたんだけど、自分で再現しなかったのでほったらかしにしてたらコレ、来たよ~来たよ~(笑)

症状は、とにかく上記エラーが出まくる。
エラーダイアログを消しても、しばらくするとまた出る(笑)
ぼっこんぼっこん出まくるのでウザ過ぎ( ・ω・)
理由は不明だけど、システムの整合性が取れなくなってしまうのか、logcatのエラーメッセージも大量に出ている。SQLiteDatabaseのエラーか?

こうなると、何度、ファームを上書きして初期化しようとしても無駄で、エラーが解消されることはない。

コード読んで対策を考えるのも面倒くさいので、場当たり的な方法で直した。
その方法は、

/data/data の中身を全部 rm -r *

アプリケーションデータを全部消しちゃえと(笑)
PCとデバッグモードでUSB接続して、adb shell から、作業すればおk。

ただ、この方法を推奨するわけではない。
アプリケーションによっては消してはいけないデータも消しちゃう可能性があるから(・∀・)
ま、そうなってもアプリでデフォルト再設定になるはずだから、致命的に破壊されるわけではないと思うけど。

すっきりしたところで、再起動するとエラーは出なくなる。。。。ハズ。

どうしようもなくなったら試す価値はあるかな(・∀・)