Sirius -旧ブログ、更新されません-

2010年10月の記事

<< 前のページ

2010年10月31日(日) 17:48

NPAD と TMARSS P7 の Clockwork

NPAD

#354 の lkmid.rom は recovery に入れなくて Clockwork が起動しない。

起動した後に adb reboot recovery でやっと Clockwork が起動する。



TMARSS P7

もともとのファーム (#356) では NPAD と同様に電源 ON から Clockwork の起動方法がわかりませんでした。

adb からならできます。



NPAD(Pecda P7) と TMARSS P7 で動く #71 や #167 のファームウェアなら電源 ON から Clockwork を起動できますがバッテリー残量をきちんと認識してくれないようです。

また、自分の NPAD はハード的に HDMI 出力ができないようです。何とかならないかなぁ。

written by sirius [Android] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年10月30日(土) 20:36

TECLAST の TL-C700

ECLAST 社の C700 という 7inch のメディアプレーヤーがあります。

7inch なのに解像度が 1024x600 あります。そう、MID の 10inch クラスの解像度なのにコンパクトなのです。しかも、値段も 1 万円台前半で買えるのです。タッチパネルじゃないだけでこんなに安くなるんでしょうか。

しばらく前に買っていました。MP4 や mpeg の動画、画像の表示、MP3 の再生ができます。使ってみてよい点は、



1、表示が細密なので動画やイメージのきれいに見えます。

2、内蔵の flash が 8GB あります。

3、USB や MicroSD のメディアのフォーマットが NTFS でも読めます。

4、PT2 で録画した TS が再生できます。

5、HDMI 出力ができます。1080p で ok です。

6、音はそれほどそれほど良くないが単体で十分な音量の音が出ます。

7、HD の MPEG4 等自分が持っている動画はほとんど変換なしで見られます。



悪い点。



1、zip 等で固められた画像は読めません。

2、画像の自動回転の機能がありません。(縦画像は小さく表示されます)

3、しばらく使っていたら時計が動かなくなっていました。

4、電源を切っても 3 秒後くらいに電源が入るようになってしまいました。(はじめはちゃんと切れていました)

5、つくりは安っぽいです。



3と4が改善されないかと思い、TL-C700 のファームを更新してみました。

もともと入っていたものは、Ver.1.00 でホームページのほうに Ver.2.30 があったのでそのうち更新してみようと思っていました。



解凍すると、中国語のフォルダ名の中にファームイメージや書き換えツールがあるのですが、初め、ツールが起動しませんでした。

XP 上で更新しようとしていたので言語設定を変えてみましたがだめでした。結局、フォルダ名がまずいようでフォルダ名を英字に変えたら起動しました。

更新するとき、内蔵の flash は消されてしまい、更新後に PC でフォーマットが必要でした。



ファームを更新しましたが、3と4は改善されませんでした。まあ、時間は必要ないし、電源も操作しなければすぐにスリープします。スリープの状態で二日くらいたってもそれほどバッテリーは消耗していないので、こちらも我慢して使うことにします。

コミックビューアとしては元の画像をあらかじめ 90 度回転させておくことにしました。回転だけなら jpeg でも loss-less でできます。表示が細密なので細かい字も読めます。もうちょっとがんばってほしかった、惜しい製品です。

written by sirius [デジモノ] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年10月30日(土) 10:50

telechip を使った PAD のファームウェア

いろいろな telechip 系の PAD のファームを集めたのでそのカーネルバージョンを見てみます。












































































































































date time TZ build mail product
8月9日 11:17:31 CST #320 root@localhost.localdomain M701
8月16日 11:24:17 CST #333 root@localhost.localdomain M701
8月18日 19:49:30 CST #354 root@localhost.localdomain NPAD
8月20日 14:32:32 CST #356 root@localhost.localdomain TMARSS P7
8月25日 14:57:19 CST #370 * M701
8月30日 9:33:15 HKT #369 root@localhost.localdomain X5A
8月30日 9:33:15 HKT #369 root@localhost.localdomain OPAD
9月8日 18:44:45 CST #210 * G10
9月12日 15:35:12 HKT #94 root@localhost.localdomain E7002H
9月13日 10:09:43 HKT #71 root@localhost.localdomain NPAD
9月15日 21:57:00 HKT #98 root@localhost.localdomain M701
9月18日 3:07:05 EDT #121 root@localhost.localdomain M701
9月19日 22:00:32 CST #225 * G10
9月29日 5:20:45 EDT #133 root@localhost.localdomain M701
10月15日 17:21:06 CST #301 * G10
10月22日 15:31:21 HKT #167 root@localhost.localdomain Phecda P7(NPAD)

mail の項目で * は異なったアドレスが入っています。



今はなき Green-Tool で購入した NPAD は、Phecda P7 のファームが動きます。というかNPAD は Phecda P7 でしょう。あきばおーの TMARSS P7 も同じです。TMARSS P7 から吸い出したファームを NPAD に入れても普通に動きます。



NPAD と TMARSS P7 の違いは、





























  NPAD TMARSS P7
内蔵ストレージ 2GB 4GB
HDMI出力 ハングアップ 正常
液晶の発色 ちょっと薄い
初期ファームのバージョン #354 #356

※液晶の発色はわたし個人の感覚です。また個体差があるのであまり参考にしないでください。



なお、NPAD に Phecda P7 または、TMARSS P7 以外のファームウエアを入れるとうまく動きません。

症状としては、

1、画面が真っ白。

2、タッチパネルが利かない。

3、起動しない。(後でわかったのですが起動できないので USB ブートになっているようでした。)



3、は、電源ボタンを押しているときだけ電源が入り、手を離すと切れてしまう状態です。この状態のときは、FWDN で lk.rom を指定して USB をつなぐと NPAD に lk.rom がダウンロードされ再起動します。正しい lk.rom を指定していればファーム更新ができるようになります。



また、NPAD で #71, #167 のファームは動きますが、バッテリー残量の認識がうまくいかず、短時間でバッテリー切れのメッセージが出て電源が切れてしまいます。なので現在、NPAD には、TMARSS P7 から吸い出した #356 を入れています。

written by sirius [Android] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年10月29日(金) 23:01

NAND のバックアップ

いろいろ調べてみると Clockworks recovery というものがあって、NAND のバックアップやリストアができるようです。見つけたものは、X5A と M701 用です。これを使って、TMARSS P7 や NPAD の NAND のバックアップを取ろうと思います。



まず、M701 か X5A の Clockwork recovery を このあたりから持ってきます。

zip ファイルを解凍して、リカバリイメージを展開します。

普通の recovery.img と同じ形式なので、カーネルとラムディスクに分解します。

$ split_bootimg.pl recovery.m710.img



NPAD のファームウエアの boot.img か recovery.img を展開します。

$ split_bootimg.pl boot.img



NPAD のカーネルと Clockworks のラムディスクをまとめます。

$ mkbootimg --kernel boot.img-kernel --ramdisk recovery.m701.img-ramdisk.gz --cmdline 'console=ttySAC0 androidboot.hardware=tcc92xx' --base 0x40000000 -o recovery.npad.img



Clockworks を解凍して取り出したバッチ(install_recovery.bat)はリカバリーイメージのファイル名を修正しておきます。



NPAD を起動し、USB で PC と接続します。PC では、adb コマンドへのパスは通しておきます。install_recovery.bat を実行すれば、そのうち NPAD が再起動して Clockwork が起動すると思います。



・ボタンの機能

#167 のカーネルで Clockwork を作成しましたが、このカーネルでのボタンの機能は次の通りでした。

menu キー: メニュー項目の移動

home キー:決定

return キー:前のメニューに戻る



・電源 ON 時に Clockwork を起動する。

#167 のファームにあった lkphecda.rom では、 return キー を押しっぱなしで電源を入れると、Clockwork が起動しました。



Clockwork がうまく起動したら、まず nand のバックアップを取りましょう。

試しに、#71 のファームをいれ、バックアップからリストアしてみました。うまくいったようです。これで試しにファームを入れた後の復帰が楽になりました。

data や chache もバックアップするので環境丸ごとのバックアップです。



TMARSS P7 は、mtd から吸い出したカーネルを使って同様に Clockwork recovery を作成してみました。次はこれを使ってみたいと思います。

written by sirius [Android] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年10月28日(木) 00:10

NPAD のファーム更新

slatedroid のフォーラム上に NPAD と同型と思われる機種のファームウェアがアップされています。二人のかたがそれぞれアップしていますが、jim という人が昨日アップしたものが前回アップされているものと中身は全く同一だったりして本人はちょっと混乱しているようです。で、結局 jim が最新だと今日あげたものは、22 日に別の人がアップしたものと同じものでした。

というわけで、22 日のファームを当てていきたいと思います。

今回は、ただファームを当てるだけではなく、あらかじめ、build.prop の編集や rooted にしてから当てました。

ファームウェアの展開、結合方法は過去の記事を参考にしてください。

さらに今回は、後からインストールしたアプリケーションもまとめてインストールしてみたいと思います。



ファームウェアに入っているアプリケーションは、/system/app 以下に配置されますが、後からインストールしたアプリケーションは、/data/app 又は、/data/app-private に配置されます。



あらかじめ、この二つを sdcard にコピーしておきます。

adb で接続して

# (cd /data;tar cf /sdcard/app.tar app*)



ただし、アプリケーションだけだと戻したときにうまく動かないものもあるようで、設定も戻さないとだめなようです。設定は /data/data 以下にアプリケーション毎にディレクトリが作成されていますので、こちらもバックアップします。バックアップのやり方は長くなるので次回説明したいと思います。

また、今現在、Market がきちんと動いているので、動いている AndroidID をメモしておきます。 adb で、

# sqlite3 /data/data/com.google.android.googleapps/databases/gls.db "select * from meta where name='androidId'";



FWDN でファームを更新する際、lk*.rom に nand のパーティション情報が書いてあるようです。#354 から #71 に書き換える際、tcc8900_mtd.img だけ書き込んだときは起動に失敗しました。lk*.rom も一緒に書き込むと、まず、nand を切りなおしてからファームが書き込まれました。なので、場合によっては /nand のデータが消えてしまうことがあるります。/nand 以下のデータのバックアップはとっておいた方がいいでしょう。



ファームを更新した初回起動時にタッチスクリーンのキャリブレーションを行いますが、その時に adb で接続し、/data に戻して再起動します。このとき AndroidID を書き換えるのなら一緒にやります。ファーム更新前の ID に戻すといいと思います。abd で、



# (cd /data;tar xf /sdcard/data.tar;tar xf /sdcard/app.tar)

# sqlite3 /data/data/com.google.android.googleapps/databases/gls.db "update meta set intvalue='メモしたandroidId' where name='androidId'";

# sync

# reboot



再起動したら、キャリブレーションをやり、普通に進めます。

いくつかのアプリケーションはこのやり方でもだめでした。起動したらアプリケーションの確認をしてうまく動かないものはアンインストールして再インストールすれば動きます。

アカウントの設定をやり、マーケットを起動すると、androidID を書き戻してあるのでダウンロード履歴が有効で、インストール済みとなっていると思います。更新があれば更新できました。



今回のファームの起動画面は、Phecda のロゴでした。電源投入直後も、ブート中も同じ画面なので、ファーム更新モードかどうかわかりずらいです。



また、Google Map やブラウザで拡大、縮小がマルチタッチでできました。

#71 もマルチタッチができます。#354 は試していません。



NPAD のファームウェア

#354

#71(slatedroid 要ログイン)

#167

written by sirius [Android] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年10月24日(日) 19:42

HDMI 出力で固まった NPAD の復旧

NPAD で動きそうな Firmware が 22 日と 23 日にアップされているのを見つけました。

しかし、23 日にアップされているものは 9 月 25 日にアップされているものと同じものでした。

22 日にアップされているものは、カーネルが #167 の様です。このファームは Phecda P7 用と言っているので、NPAD としてはこちらが正しいんじゃないかと思います。



自分の持っている NPAD は HDMI 出力で固まります。新しいファームではどうでしょう。

固まるたびにファームのを更新するのは面倒なので、何とか復旧できないか調べました。



HDMI 出力にすると固まってしまい、再起動しても起動途中で固まります。

USB をつなぎっぱなしにして見たところ、短時間ですが adb 接続で操作できるようでした。そこで、出力先を変更してしまえばいいかもしれないと考えました。



HDMI 出力が問題ない E7002H を見たところ、HDMI 出力に設定すると、

1、/data/property/persist.sys.output_select

2、persist.sys.output_select

がそれぞれ 0 から 1 に変更されていました。これらを 0 に設定して再起動してみます。



adb が使える状態で、



> adb shell setprop persist.sys.output_select 0

> adb shell echo -n 0 > /data/property/persist.sys.output_select

> adb reboot



しかし、起動プロセスがちょっとは先に進みましたが、やはり固まります。さらに調べると、/data/data/com.android.providers.settings/databases/settings.db に出力先のデータが保存されていました。

そこで、



> adb shell setprop persist.sys.output_select 0

> adb shell echo -n 0 > /data/property/persist.sys.output_select

> adb shell sqlite3 /data/data/com.android.providers.settings/databases/settings.db "update system set value='0' where name='output_select'";

> adb reboot



とすることで復旧することができました。adb が使える時間が短いのでバッチにして一気に実行したほうがいいようです。

次は #167 のファームを入れてみたいと思います。

written by sirius [Android] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年10月19日(火) 21:26

実機からファームウェアの吸い出し。

新機種の中華 PAD を購入するとファームイメージがないので文鎮化したときに対処できなくなります。実は NPAD を購入した時、届いたその日に文鎮になってしまいました。

そこで、実機からファームを抜き出せないか試してみました。動いているうちに吸い出しておくと何かあったときに安心です。



以下は X5A とか M701 とかと言われている telechip 系 PAD のファームに関しての話なので他の PAD で同様にできるかどうかは分かりません。

自分が所有していて作成、書き込みして確認できたのは NPAD のみです。(ただし型番が同じだからといって同じ機体とは限らないのが中華 PAD です。)

E7002H, TMARSS P7 も持っているので作成はしてみましたが、確認まではしていません。(確実に動くとわかっているファームウェアがあるのが NPAD だけなので)





必要なもの(どっから落としたのか忘れたので探してください)

 mkyaffs2image (mkyaffs2.tar.gz)

 tccpack (tccutils.tar.gz)

 mkbootimg (mkbootimg.zip)

 split_bootimg.pl

 Linux マシン



1、実機からの吸い出し。

 adb で接続して吸い出します。

 /proc/mtd の情報から、boot, recovery を吸い出します。

 たとえば、boot が mtd0 なら

 # cat /dev/mtd/mtd0 > boot.mtd

 ※TMARSS P7 では recovery 領域に何も書き込まれていないようです。



 system は tar で吸い出します。ここでは SD に書き出しています。

 # cd /system

 # tar cvf /sdcard/system.tar .



2、ファームイメージの作成

 ここからは Linux マシン上での作業

 2-1boot.img

  吸い出した boot.mtd から kernel と ramdisk を取り出します。

  $ split_bootimg.pl boot.mtd

  boot.img にまとめます。

  吸い出した ramdisk は必要であれば修正することもできます。展開方法や ramdisk の作成は過去の記事を見てください。

  パラメータは元の boot.mtd のヘッダ情報を見て同じにします。特にベースアドレスを間違うと起動しないようです。

  $ mkbootimg --kernel boot.mtd-kernel --ramdisk boot.mtd-ramdisk.gz --cmdline 'console=ttySAC0 androidboot.hardware=tcc92xx' --base 0x40000000 -o boot.img



 2-2recovery.img

  boot.img と同様にします。

  $ split_bootimg.pl recovery.mtd

  $ mkbootimg --kernel recovery.mtd-kernel --ramdisk recovery.mtd-ramdisk.gz --cmdline 'console=ttySAC0 androidboot.hardware=tcc92xx' --base 0x40000000 -o recovery.img



 2-3system.img

  system を展開します。

  $ (mkdir system;cd system;tar xvf ../system.tar)

  mkyaffs2image で作成します。

  $ mkyaffs2image -f system system.img



 2-4boot.img, recovery.img system.img を一つにまとめます。

  $ tccpack boot.img system.img recovery.img tcc8900_mtd.img



これでできた tcc8900_mtd.img を指定して FWDN で焼きこめばいいようです。



※TMARSS P7 の boot.mtd-ramdisk.gz と NPAD の boot.mtd-ramdisk.gz は比較したらまったく同じでした。TMARSS P7 の recovery.img の作成はカーネルに TMARSS P7 の boot.mtd-kernel、ramdisk に NPAD の recovery.mtd-ramdisk.gz を指定して作成しました。

written by sirius [Android] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年10月18日(月) 10:40

展開したファームウエアをまとめる。

NPAD のファームウェアを展開、修正したあとでまとめて FWDN で書き込めるようにします。この内容の利用は自己責任でお願いします。pad が文鎮になっても責任は取れません。

前回展開したものを利用します。



必要なもの

 mkyaffs2image

 mkbootimg

 tccpack

 ※ mkbootimg はページサイズを 4096 に修正。

 ※ mkyaffs2image はチャンクサイズを 4096 にスペアサイズを 128 に修正。また、ecc はサポートなしにする。



1、boot.img 用の ramdisk の作成

 修正済みの ramdisk ツリーのトップに移動して、

 $ find . -print0 | cpio -o0 -H newc | gzip -9 > ../boot.img-ramdisk-new.gz



2、boot.img の作成

 ベースアドレスやコマンドラインのパラメータはもともとの boot.img と同じものを指定します。特にベースアドレスの指定を間違えると起動しなくなります。

 boot.img のパラメータを表示するプログラムのソースをここにおきます。コンパイルには bootimg.h が必要です。

 ベースアドレスは、カーネルアドレスの下位4桁は 0 にします。

 $ mkbootimg --kernel boot.img-kernel --ramdisk boot.img-ramdisk-new.gz --cmdline 'console=ttySAC0 androidboot.hardware=tcc92xx' --base 0x40000000 -o boot-new.img



3、recovery.img の作成

 rycovery.img は作り直す必要はないと思いますが、boot.img と同様にすることで作成できます。



4、system.img の作成

 yaffs2 の mkyaffs2image を使って作成します。mkyaffs2image で ecc を有効にすると FWDN で書き込んだときに CRC エラーになります。三日くらい悩みました。普通に make したら ecc が有効になってました。

 system に展開したとして、

 $ mkyaffs2image -f system system-new.img



5、tcc8900_mtd.img の作成

 作成したものを使って一つにまとめます。

 $ tccpack boot-new.img system-new.img recovery.img tcc8900_mtd-new.img



これで出来上がった tcc8900_mtd-new.img のみを FWDN で書き込めば OK です。

失敗しても、元の tcc8900_mtd.img を書き込めば大丈夫です。

written by sirius [Android] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年10月13日(水) 23:31

NPAD のファームウェアを分解してみる。

NPAD も持っています。



NPAD のファームもいくつか手に入れることができるようになったのでファームの中の tcc8900_mtd.img を分解してみます。



必要なもの。

 tccutils

 mkbootimg

 mkyaffs2

 split_bootimg.pl

 それぞれどこから落としたのか忘れたので探してください。

 私は、x64 な Linux で作業したので全部コンパイルしました。



1、ソースの修正

 mkbootimg は pagesize がソースの中で 2048 固定となっています。

 NPAD のファームを見ると pagesize は 4096 のようなので修正します。

 また、ハッシュの計算に sha を使っているようなので、sha.h や sha.c も必要でした。



 mkyaffs2 の unyaffs.c もlchmod 関数とかでメッセージが出るので修正しました。



2、tcc8900_mtd.img の展開

 tccutils の tccunpack を使うと、boot.img, system.img recovery.img を取り出すことができます。



 $ tccunpack tcc8900_mtd.img



2−1、system.img の展開

 mkyaffs2 の unyaffs を使って展開できます。



 $ mkdir system

 $ cd system

 $ unyaffs ../system.img



2−2、boot.img, recovery.img の展開

 boot.img と recovery.img は同じ構造をしています。

 split_bootimg.pl を使うことで、カーネルとラムディスクを取り出すことができます。



 $ split_bootimg.pl boot.img

 $ split_bootimg.pl recovery.img



 boot.img-kernel, boot.img-remdisk.gz, recovery.img-kernel, recovery.img-ramdisk.gz ができます。



2−2−1 ラムディスクイメージの展開

 ここでは、boot.img のラムディスクを展開しますが、recovery.img も同様です。

 cpio でアーカイブしたものを gzip 圧縮しているだけなので次のようにして展開できます。



 $ mkdir ramdisk

 $ cd ramdisk

 $ zcat ../boot.img-ramdisk.gz | cpio -i



boot.img のラムディスクがルートファイルシステム、system.img が /system なので、ここで展開したものを修正してカスタムファームウェアを作成することもできるようです。

展開したイメージからファームウェアを作成する方法はまた今度説明します。



なお、エンディアンが違うとうまくいかない場合があるようです。x86 ではそのままで大丈夫なようですが、玄箱(PowerPC)でやってみたら、system.img の展開ができないようです。

また、ファームはこのあたりにあります。

written by sirius [Android] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年10月11日(月) 21:36

Android にはまっています

最近、android タブレットにはまっています。



iPad が気になっていたのですが、値段が高いことと、Apple 縛りで自由度が少ないこと、サイズが大きいという点で選択肢の中には入りません。



ふとみると、aPad とか、ePad とかいう製品がありました。どの製品も中華製のようですが、とにかく値段が安い!



はじめに買ったのが EIKEN というところの M001 という製品でした。iPad のパチモンとかといわれる中でデザインがまったく違い、しかも 1 万そこそこで買える!

即座にポチリました。まあ、値段が値段なので iPad と比べるまでもなく、動作はもっさりだし、バッテリーの持ちもあまりよくありません。

ところが、割り切って用途を限定して使うと無いよりましかな。場合によっては使えるかな。というくらいになりました。



その後、ちょっと性能がよいのが出ると買ってしまい、気がつくと iPad が買えるくらいの出費。



でもいいんです。ファームウェアを書き換えたり、Android から Windows CE に変えたりなんか iPad じゃ無理ですから。



あ、中華製なので品質は期待しないでください。自分は不良品にあったことは一度だけです。それもまったく使えないわけではないので大丈夫でした。しかし、巷ではすぐ動かなくなっただの、充電できなくなっただのという話や、作りが悪いので半田付けし直さないとまともに使えないだのと言う話もあります。ま、それが楽しかったりするんですけど。

written by sirius [Android] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

<< 前のページ

Sirius -旧ブログ、更新されません-

MySketch 2.7.2 written by 夕雨