2011年2月28日月曜日

How to make CFW (MID816)

他機種でもそうなんだけど、rootのファイルシステムがramfs上にあって、rwでremountしていじっても、再起動で全部元通りなんてことがある。
これは、ブート時に必要なシステムをramfs上にコピーして作っちゃうからで、カスタムファームを作ろうと思うとこれがとても邪魔になる。
M001のように、ファーム書き換え即ブートイメージだったら楽なんだけどね。
で、ramfs上に作られる大元のイメージをいじればいいんだけど、これがまたとても面倒くさい。
しかし、やらねばなるまい。やったるで!

と言うことで、MID816用のメモ。
下記の記事は熟読必須。

Rooting research
http://www.slatedroid.com/index.php?/topic/13591-rooting-research/

HOWTO: Unpack, Edit, and Re-Pack Boot Images
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images


※補足、Rooting research で Mmartinez氏が u-Bootイメージのアドレスを 0x03080000 と言ってるが、本当は 0x30800000 が正しい。
私の記事はそれを修正してあるので間違えないように。

まず、必要なもの。
  • Linux環境
    私の場合はWMware上で動くUbuntu。
  • Linux上で動く次のコマンド
    split_bootimg.pl
    mkbootimg
    mkimage
    ぐぐったら入手方法なんかは分かるはず。
    拾ったら、実行権限を与えてパスの通った場所へコピーしておく。 
  • オリジナルファーム
    20110211-update.zipを使用した。

作業開始。
20110211-update.zipを解凍して、boot.imgを取り出す。
boot.imgをLinux環境上の作業用のディレクトリにとりあえずコピー。

$ mkdir ~/myfirmware
$ cd ~/myfirmware
$ cp hogehoge/boot.img ./


split_bootimg.pl を使って boot.imgをバラす。

$ split_bootimg.pl boot.img
Page size: 2048 (0x00000800)
Kernel size: 3404636 (0x0033f35c)
Ramdisk size: 823260 (0x000c8fdc)
Second size: 0 (0x00000000)
Board name:
Command line:
Writing boot.img-kernel ... complete.
Writing boot.img-ramdisk.gz ... complete.

カレントディレクトリに boot.img-kernel と boot.img-ramdisk.gz が生成される。
gzイメージはそのままでは解凍できない。u-Bootのヘッダがついているので除去する。

$ dd if=boot.img-ramdisk.gz of=boot.img-ramdisk.cpio.gz bs=64 skip=1
12862+1 records in
12862+1 records out
823196 bytes (823 kB) copied, 0.607133 s, 1.4 MB/s

できあがった boot.img-ramdisk.cpio.gz の中身を解凍して展開する。

$ mkdir ramdisk
$ cd ramdisk
$ gunzip -c ../boot.img-ramdisk.cpio.gz |cpio -i

ramdiskディレクトリ内にbootイメージのシステムツリーが展開される。よしよし\(^o^)/
好きなように、必要なファイルを編集したり、ごそごそ作業する(笑)

編集が終わったらリパックする。
ここからは、バラした作業の逆手順をやっていけばいい、、、んだけど、結構ややこしい。
ramdiskディレクトリに入ったまま、

$ find . | cpio -o -H newc | gzip > ../newramdisk.cpio.gz
$ cd ..

newramdisk.cpio.gz が生成される。
続いて、u-Bootイメージを作る。この処理でu-Boot用のヘッダを付加しておくわけ。

$ mkimage -A arm -O linux -T ramdisk -C none -a 0x30800000 -e 0x30800000 -n ramdisk -d newramdisk.cpio.gz newramdisk.gz

パラメータなどは、Slatedroid記事他、自力で調べたものをつけている。
ちなみに、-a (load address) と -e (entry address) はブート時に表示されるシーケンスメッセージを見てると表示されているハズ。
-n は要らないかもしれない。
ここのパラメータを間違えるとまず起動しない。

これで、root ramdiskのイメージが出来上がった。

最後に、焼き込み用のイメージを作る。


$ mkbootimg --kernel boot.img-kernel --ramdisk newramdisk.gz --base 0xc0000000 -o myboot.img

でーきーあーがーりーー。

myboot.img を boot.img にリネームして、オリジナルファームの 20110211-update.zip の中に入れ、あとは普通にファームアップデートをすればおk!!
以上、おいら用の備忘録。

いやー、なかなか調べるのに苦労した。英語でも詳しい手順が記事になってないから、素人がする作業ではないことは確かかな。

実際に作ってテストしてたんだけど、一歩間違えるとブート無限ループの刑になったりしてとっても危険(笑)
くれぐれも自己責任で行うように。
死んでも知らんww

2011年2月27日日曜日

で、次は

いやまだ、MID816も使いたおして無いけど(・∀・)
こんなのが到着しましたよ。



Dropad A8(上)と TR718D(下)
こう見るとよく似ている雰囲気。

どちらも海外からの個人輸入なんだけど、注文から到着まで8日程度。
価格的は送料込みで$390、33,500円くらいかな。
所要時間を差っぴいても安い!

しかし、問題が全然なかったわけでは無い。
最初、Dropad A8の方はブートできなかった(´・ω・`)
ドロイド君が表示されたままだんまり。
で、ファームウェアのアップデートしてみたら、ちゃんと起動した(・∀・)
さすが、中華クオリティ。トラップはプライスレス。

その他は特に問題ない。
パネルの反応も問題なし。
MID816の大きさと比べると、手持ちに丁度いいサイズ。
いいねぇ~、いいねぇ~(・∀・)

TR718DはHDMIなし版。
静電式タッチパネルで5点認識OK。
Samsung S5PV210に比べれば非力なRockchip RK2818なので、動作は時々つっかえる感じがする。
けど、使用にストレスを感じるほどでは無い。付属動画もスムーズ再生。
画面の発色はとてもイイ。クリアで見やすい。
最新のファームでしばらく使用したけど、極端に不安定になることはなかった。
ただ、Wifiのアンテナの位置が悪いのか感度がよく無い。
それと、ボタンがキャンセルとメニューの2つしか無いので、今ひとつ使いにくい。

お次はDropad A8。
サクサク具合はMID816と変わらない感じ。
タッチパネルの反応も上々。流石に人気の機種だ。(・∀・)イイ!!
しかし、これ、、、重い(-_-;
まさに、スレート(石版)を持ってる感じ。
んでもって、動作がどうも不安定。Wifi感度も悪い。
デザインがいいだけに、もったいない感が満載。
ファームの更新に期待したい。

個人的には、
Dropad A8の筐体にTR718Dの画面発色と軽さ、MID816のサクサク感とボリュームボタンが付いてればカンペキ(・∀・)

で、、、、
こんなに集めてどうするんだオレ。

2011年2月26日土曜日

6ピンの源泉

MID816には何種類かのメインボードリビジョンがあるようだ。

比較写真を挙げると、

私の所有基板(FOCUS)

Slatedroid記事の基板(FOCUS NXCVB-8304)

http://apadjp.com/ からの転載(BENA-8305)
USBポート周辺のパターン(赤丸部分)省略具合から、
私の基板が一番古く、BENAが一番新しいと思われる。
ま、サテンゴールドのレア仕様だから中身も特別(笑)
基本回路は変わらないけど、少しずつ簡略化されたりノイズ対策されたりしてるんだろう。

で、GL850G周辺にある6ピンコネクタ用のパターンを調べてみたら、、、

やっぱ、USBが出ている\(^o^)/

パターンを追っかけて、テスターで測ってみたりして調べた結果がコレ。
GL850Gのピンアサインとあわせてどぞ。



下側は VCC+5VのUSBが1ポート。
右側は VCC+3.3VのUSBが2ポート。
どちらも、GL850Gにぶら下がってる。

ただし、周辺のチップ素子パターンに素子(チップ抵抗とかコンデンサとか)が乗って無い場合には使え無い可能性もある。
こればっかりは実機の基板パターンを追っかけないとわからん。

が、とにかく、
この6ピンコネクタのパターンはUSBを引き出すものってことだね。

2011年2月25日金曜日

システムをほじる続き

んで、またMID816をほじる続き。

pl2303ドライバが入ってるのは分かった。
insmodして、USBにGPSレシーバーつないでNMEA取るのもOK。

で、問題はGPS関係の処理ライブラリ。

M001で捏造した、libhardware_legacy.so が処理I/Fの実体になるんだけど、
Android 2.2 でもそれは変わらない。
とりあえず、MID816のそれを取り出してみると、、、325,904 バイトもある。
えらいデカイな。

んで、中身を見ると、、、、

(゜-゜)・・・・なんだこりゃ。。。。。(・∀・)はぁん

これは、、
どうやら、、
GPS処理はすでに組み込まれているっぽいww

ライブラリの中を覗くと、

GN_GPS_Update
GPS_Data_Decode

なんてのが見られる。NMEAメッセージ処理用とおぼしきstringもある。

で、
ST-Ericsson (UK) Ltd (c) 2008.
なーんて、書いてある。

この会社は、モバイル用途のGPSチップなんかを出してるらしく、そのライブラ
リが使われているっぽい。

つまり、ST-Ericsson系のGPSチップを使用し、pl2303 USBシリアルコンバータ接
続のGPSレシーバーなら動く!!
、、、と、思われる(・∀・)

でも、持ってないから確かめようが無いもん♪

よく考えたら、設定メニューの「現在位置とセキュリティ」に「GPS機能を使
用」する設定がある。
基板にも、内部USB接続用と思われるコネクタがある。
ひょっとしたら、GPS内臓のバージョンもあるのかもしれない!?
そう考えると、libhardware_legacy.soがGPSに対応していてもおかしくない。

うーん、、、、
GPSレシーバー、売ってないかな( ・ω・)
ぐぐる先生に聞いても、見つかんないし。。。。
やっぱ組込み用途の特殊なものだから一般に流通しないよねー。

と言うわけで、、、また、別の手を考えることにする(´・ω・`)


余談だけど、
この、ST-Ericssonのライブラリをリンクした、libhardware_legacy.so。
実は他機種のファームをほじってるときに同じものを見つけたことがある。
機種が違うのでライブラリ自体は全く別物。中身も違うんだけど、同じような処
理が組み込まれているっぽい。

EM51のファームがそれ。
libgps.so と言うのがライブラリの実体になっている。

実機の動作を見てないのでなんとも言えないけど、ライブラリは存在しているよ
うだ。
ひょっとしたら、中身の基板にGPSチップをビルトインできるパターンがあるの
かもしれない。
EM51はBluetoothのシステムツールが入ってるので、ドライバも組み込まれてるかな?


さて、ここまでまとめ

MID816
  • 設定メニューにGPS機能関係有り
  • USBシリアルコンバーター用のドライバ有り(pl2302)
  • GPSレシーバーからのNMEA取得可能
  • 設定メニューにBluetooth機能関係無し
  • Bluetooth関係のドライバ無し
  • Bluetooth関係のシステムツール無し

Bluetoothは難しいけど、GPSはなんとかなるかもなぁ・・・・

さってと、、、、Froyoのビルド環境でも作るか( ・ω・)

2011年2月24日木曜日

システムをほじる

んで、MID816をほじる続き。

ざっと見るべきなのは、dmesgの確認、modulesの確認、/etcとか/procとか/devの確認、とか。
kernel.configは残念ながら拾えなかった(´・ω・`)

dmesgを眺めると、だーっとCPU関係の初期化があったり、パワマネがあったり、メモリ関連があったり、バスがあったりと、とりあえず読み飛ばす。
目に付いたところは、、、

<6>rtl8150: v0.6.2 (2004/08/27):rtl8150 based usb-ethernet driver
<6>usbcore: registered new interface driver rtl8150
<6>usbcore: registered new interface driver asix
<6>usbcore: registered new interface driver dm9601
<6>usbcore: registered new interface driver smsc95xx
<6>usbcore: registered new interface driver gl620a
<6>usbcore: registered new interface driver net1080

いろんなNICドライバが組み込まれてるっぽい。

<6>usbcore: registered new interface driver usb-storage
<6>USB Mass Storage support registered.
<6>usbcore: registered new interface driver ums-alauda
<6>usbcore: registered new interface driver ums-cypress
<6>usbcore: registered new interface driver ums-datafab
<6>usbcore: registered new interface driver ums-freecom
<6>usbcore: registered new interface driver ums-isd200
<6>usbcore: registered new interface driver ums-jumpshot
<6>usbcore: registered new interface driver ums-karma
<6>usbcore: registered new interface driver ums-onetouch
<6>usbcore: registered new interface driver ums-sddr09
<6>usbcore: registered new interface driver ums-sddr55
<6>usbcore: registered new interface driver ums-usbat

カードリーダーとかコンバータも繋がるっぽい。

<6>usbcore: registered new interface driver usbserial
<6>USB Serial support registered for generic
<6>usbcore: registered new interface driver usbserial_generic
<6>usbserial: USB Serial Driver core
<6>USB Serial support registered for GSM modem (1-port)
<6>usbcore: registered new interface driver option
<6>option: v0.7.2:USB Driver for GSM modems

genericなシリアルドライバが入ってる。GSMモデムにも対応してるのかな。

む、、、
Bluetooth関係のログが無い(泣
kernelに無いって事はドライバから作らにゃならんてか。(´・ω・`)

次。modulesを見ると、

e-bma220.ko        focus-misc.ko      option.ko
focus-battery.ko   focus-touch.ko     pl2303.ko
focus-keyboard.ko  focus.ko           usbserial.ko

focus-* と言うのは、恐らくメインボードの制御ドライバと思われる。
直接関係無いので無視無視。
e-bma220.koはなんだろう?と取り出してみるとどうやら加速度センサーのドライバーのようだ。

で、

どこかで出会った貴方の名は、pl2303.ko さま(笑)
ほほ、シリアルチップのドライバ入ってるジャン!

lsmodしてみると、

# lsmod
ar6000 251265 0 - Live 0xbf0a9000
s3c_bc 3427 0 - Live 0xbf0a3000
s3c_lcd 6677 0 - Live 0xbf09c000
pvrsrvkm 245697 32 s3c_bc,s3c_lcd, Live 0xbf050000
option 17274 0 - Live 0xbf043000
usbserial 33941 1 option, Live 0xbf032000
focus 2288 0 - Live 0xbf02c000
e_bma220 36667 6 - Live 0xbf01c000
focus_misc 6056 0 - Live 0xbf015000
focus_touch 7141 0 - Live 0xbf00d000
focus_battery 6042 0 - Live 0xbf006000
focus_keyboard 2150 0 - Live 0xbf000000

をや?ロードされてないだけか。。。

とりあえす、insmodしてみると

# insmod /modules/pl2303.ko
# dmesg

<6>USB Serial support registered for pl2303
<6>usbcore: registered new interface driver pl2303
<6>pl2303: Prolific PL2303 USB to serial adaptor driver

よしよし、動くな。
試しに、pl2303を使ってるGPSレシーバーをつないでみる。

# dmesg

<6>usb 1-1.1: new full speed USB device using s5pv210-ehci and address 3
<6>usb 1-1.1: configuration #1 chosen from 1 choice
<6>pl2303 1-1.1:1.0: pl2303 converter detected
<6>usb 1-1.1: pl2303 converter now attached to ttyUSB0

キタコレ!!
さらに調子に乗ってみよう(笑)
/dev/ttyUSB0 を初期化して、NMEAメッセージを拾ってみる。
コマンドのパラメータはGPSレシーバーによって違うから注意。

# stty -F /dev/ttyUSB0 4800
# cat /dev/ttyUSB0

$GPGGA,******.000,****.2033,N,*****.3784,E,1,05,3.4,10.1,M,32.4,M,,0000*6A
$GPGSA,A,3,09,15,25,18,29,,,,,,,,4.9,3.4,3.5*36
$GPRMC,******.000,A,****.2033,N,*****.3784,E,0.18,100.15,240211,,*0A

デター!!(笑)\(^o^)/
とりあえず、pl2303経由でGPSレシーバーを使うことはできそうだ(・∀・)

がしかし、
GPSを初期化できた状態でGPS関係のアプリを動かしても全く位置情報を拾わない。
それはなぜか!?( ̄ー ̄)

次回に続く!!!
かも、、、

2011年2月23日水曜日

コメント投稿について

このサイト、Bloggerでやってますが、
コメントスパム防止機能が強化されたようです。

コメントを投稿するとスパムフィルタが働いて、たまに、コメントを投稿してもすぐに反映しなかったりすると思います。
投稿はちゃんとされてますのでご安心ください。
管理者(私ですが)がチェックしてスパム解除しますので(^^)
(ちょっと遅れるかもしれませんが、、、)

くれぐれも、

ちくしょー!オレ様のコメントをスパム扱いにしやがって!ヴォケェ!

とか、思わないでください、、、ネ(;´Д`)
Bloggerが悪いんス
てか、この機能、解除したい。。。(´・ω・`)

マーケッとbusybox

で、MID816をいじるためにもう一仕事。

マーケットは普通に使えるんだけど、うちの端末では表示されないアプリなんかがあったりした。
具体的には、googleマップ。
これが無いとGPSで遊べないジャンね(´・ω・`)
マーケットで検索しても出てこないので、キーッ!ってなってたんだけど、Slatedroidのフォーラム記事をヒントになんとかなった。

http://www.slatedroid.com/index.php?/topic/14998-herotab-mid816-enable-full-market-access/

  • 「設定」-「アプリケーション」-「アプリケーションの管理」-「実行中」より、
  • Googleサービスフレームワークのデータを消去。
  • マーケットのキャッシュを消去。

で、再起動。
なんとなく、ちゃんとマーケットが使えるようになった(・ω・)・・・と思う。
googleマップもインスコおk。


さて、
adb shell でシステムの中をぐるぐるしてたんだけど、どうもシェルツールが貧弱すぎ。
grepすら無い。
MID816のシステムには toolbox と言うコマンドが居て、そいつが小物コマンドの実体になっている。ようするに軽量版の busybox 。
んでも、基本的なコマンドのみしかインプリメントされてないので、凝った作業をするにはちょっと困る。
いや、かなり困る(´・ω・`)

で、どこかのCFWからbusyboxをパクッて入れようと思ったんだけど、もっといいものを発見した。
マーケットから、busybox で検索すると、そのものズバリが見つかる(笑)

http://jp.androlib.com/android.application.stericson-busybox-jqmqB.aspx

こんなのもあるんだ(・∀・)へー
インストールできる端末とできない端末があるみたいだけど、MID816はおk。
root化してないとインストールできない。たぶん。

サクッとインストールすると、大量のコマンドがインストールされた(・∀・)
で、lsとかmountとか、すでに toolbox側にリンクされているコマンドは上書きされずにそのまんま。
その他のコマンドはbusyboxへのシンボリックリンクになっている。
混在してるけど、まぁ(・ε・)キニシナイ。

toolboxが使いにくかったら、busyboxにリンクを張りなおせばイイ。

個人的には

# mv /system/bin/ls /system/bin/ls.bak
# ln -s /system/bin/busybox /system/bin/ls
# mv /system/bin/sh /system/bin/sh.bak
# ln -s /system/bin/busybox /system/bin/sh

とした。


これで、ガリガリいじれる環境が整ったど(・ω・)

MID816 前夜

Slatedroidのサイトがリニューアル。
ADバナーにぐるぽんがデカデカと表示されてすげーウザい(;´Д`)

さて、Slatedroid フォーラムでは結構盛り上がってるのに、日本ではあまり盛り上がってない不遇の端末MID816。
持ち運びを考えたら画面の大きさで敬遠する人も多いかも。

で、意外にファームとかもアップされてたり、

http://mid816.com/filedrop/

ココのフォルダからたどれるファイルは見てて損はない。

んで、まずは、MID816くんを母艦につないで、無慈悲にいじれる様に前準備する。


●USB接続

母艦とMID816をケーブルでつないでデバッグモードでやり取りできるようにする。

【MID816側】
いつものとおり、「設定」-「アプリケーション」-「開発」-「USBデバッグ」をチェックONする。

【母艦側】
ドライバを入れる。これ↓
http://mid816.com/filedrop/firmware/MID816-Drivers_and_ADB_Shell.zip

解凍してできたフォルダを降りていくと、android_pv210_utils の下に usb_driver_r03-windows フォルダがある。この中身がWindows用のドライバ。
  • まず、MID816くんを起動する。
  • で、mini-USBコネクタの方で母艦と接続する。
  • 母艦側でドライバを入れるか?どないする?と聞かれるので、ドライバの場所を上記のフォルダに指定してインスコ。
  • 準備おk。
XPとか7とかで手順が違うだろうから、なんとなく読み取ってちょ。

母艦側では「Android」と言う外部デバイスとして認識される。

android_pv210_utils フォルダの中にはおなじみの adb.exe コマンドがある。
このフォルダをカレントにしてDOS窓を開く。

MID816が母艦から認識されている状態で、DOS窓より、

> adb shell

とすれば、端末とshell接続できる。


●ファームアップ

現状の最新版を入れとく。

http://mid816.com/filedrop/firmware/
このディレクトリの中にある最新っぽいのをダウンロードして、解凍する。
20110211-update.zip を例にすると、解凍したフォルダの中身は、ファームのアーカイブ 20110211-update.zip とアップデートツールとか入ってる。
このフォルダをカレントにしてDOS窓を開く。

  • MID816の電源を切る
  • 母艦とMID816をmini-USBコネクタ側で接続する。
  • メニューキーと電源ボタンを押して起動するとアップデートモードになる。
    って、メニューキーを押したまま電源ボタンだとだめで、ほぼ同時押しじゃないとモードに入らないっぽいビミョーな仕様(・∀・)
    タイミングが難しい。何度も通常ブートさせてイラッ☆とした(ーー)
  • この状態で、DOS窓より、
    > keep_data_20110211-update.bat
    とすれば、アップデートが開始されるのでしばらく待つ。
アップデートの様子の動画が公開されてたりするので参考にすれば吉。



●root化

Slatedroidのフォームラム記事を参照して実行~。
http://www.slatedroid.com/index.php?/topic/12423-herotab-mid816-permanent-root-access/

ここから、opt-root.rar をダウンロードしてくる。
http://www.4shared.com/file/1e634hP2/opt-root.html

おもむろに解凍。
解凍した opt-root フォルダ内に色々ファイルが入ってはず。

で、opt-root フォルダをカレントにしてDOS窓を開く。

MID816が母艦から認識されている状態で、DOS窓より、

> root.bat

とすれば、端末に su とか Superuser.apk がインストールされてリブートされる。
root化おk。ぉぅぃぇ。


DOS窓上での作業が多くなり、カレントをいちいち CD するのが面倒なので、
こんなツールを入れとくと便利。

http://www.forest.impress.co.jp/article/2009/06/18/open_cmd_shellext.html



とりあえず、母艦にMID816つないで、adb shell で、潜り込めるようになった(・∀・)♪

2011年2月22日火曜日

登場!MID816

M001くんは職場で元気に卓上スケジューラーとして活躍している。
普段はノートPCにて仕事をしているので、チラッと横目でスケジュールが確認できるのはありがたい。
もう歳なので、スマホ系のディスプレイは小さすぎて目を凝らさないと字が読めないのよ(´・ω・`)
持ち歩くならOKなんだけどね。

で、今回、新たに手を出したのが、、、

これ!

某padショップにて、Minipadと言う名で売られている端末。MID816。
カラーはサテンゴールド!レアなのかな?(笑)

某padショップのバンアレン帯セールに展示品処分として出てたのを偶然見つけて、先着順だったのでダメだろうなぁ~と思いつつ購入メールを出したら手に入った罠(笑)
なんと言う幸運。偶然の勝利。
これも、日ごろの良いジャンク魂の行いのおかげだとジャンク塊に感謝するのだ(`・ω・´)

で、色々触って調べてみたのをボチボチ書いてみようと。
ファームは、2011-01-19 版が入ってるっぽい。
某ショップの展示品だけど、新しいファームに更新済みなところは好感が持てる。

以下、M001との比較。

【動作】
、、、、なにこれ、サクサクじゃん!(・∀・)
動画も問題なく表示できるし、アプリの切り替え、動作も速度的に十分。
ストレスなく操作できるのはとても良い。

【ハード】
カメラが糞(´・ω・`)
まぁ、これは期待していなかったから別におk。
動作中も本体が強烈に熱くなるようなこともない。
I/Fも必要十分だし特に困ることはないね。バッテリーの持ちはまだ調べてない。

【パネル】
感圧だけど使い勝手上問題ないレベル。タッチ誤動作もほとんど無い。
画質はやや曇り気味。けど、問題になるレベルじゃない。
情報端末としては8インチの広さは嬉しいかも。持ち運びはやや不便なのでごろ寝向き。


M001よ、お前のモッサリを通り越したカメ動作を再認識したよ(´・ω・`)
ていうか、比較する意味があまり無い。。。


で、動くのが確認できたら、早速、分解(笑)

中身は先の予習記事のとおりなんだけど、組立ラインが違うのかGL850G周りの空きランドにコネクタ(赤○部分)が付いている。
青○部分のチップパターンは空きのまま。
そのほか、基板を見たけど特に変わった点は無いようだ。
しっかし、半田品質は低いなぁ。。。。

と言うわけで、第1弾はこの端末をいじってみることにする。

ん?


第1弾??


( ̄ー ̄)ニヤリ

2011年2月16日水曜日

ハードの予習

M001の時は話題性と勢いで購入し、改造が後から付いてきたけど、今回は情報も拾えるので色々と予習する事にした。
とりあえず、ターゲットを3機種に絞って、それぞれのハードを見てみる。
写真はSlatedroidのフォーラムから拝借(^^ゞ

各タブレットのスペックはwikiを参照

【APad】中華パッド/Androidタブレット【iped】wiki
http://www37.atwiki.jp/china_pad/



●Wopad / TR718D / Suli SL-7
http://www.slatedroid.com/index.php?topic=16055.0



全景
ワンボードにI/Fから何から全部載ってる感じ。
レイアウトもそれなりにまとまってるかな。

CPU周辺
160ピンの空きパターンはメモリかmini-pciか何かのソケットか?
見た感じ、半田の質はイマイチっぽい。

バッテリコネクタ周辺
空きランドにMOTORと読める印刷。たぶん、バイブレーター用の端子。直下に空きパターンがあるので回路的に切断されてるっぽい。
その上の2端子の空きは、恐らく左右どちらかのスピーカー出力じゃないかな?さらに上の黄シールに隠れてるのもスピーカーだろう。
左にある8ピンのコネクタ用空きパターンはなんだろう?
隣り合う2ピンがショートしてるように見えるので実質4ピンか?パターンは右に進んで16ピンのチップ回路に入ってるように見える。
シリアル用の回路かなんかだろうか?



●Herotab C8/Dropad A8
http://www.slatedroid.com/index.php?topic=15148.0

全景
ちょっと変形なボード。
中央のCPU周辺はリファレンスボードじゃないのか??うーん、よくわからん。
もしそうだとしたら、基板レイアウト的にはあんまりほめられたものじゃない。

CPU周辺
整然と並ぶチップ類。なんだか窮屈そう。。。。

SDソケット周辺
このSDは内部ストレージ用でリムーバブルじゃない。
ATHEROSのWifiチップが見える。その右下にMOTOR印と空きランド。
注目点はSDの左の回路パターン。
パターン下の4ピンコネクタはおそらくミニUSB用だと思われる。
で、28ピンのゲジゲジパターンにはUSB-Hubチップが載っかるんだろう。例えば、GL850G。すぐ右の回路パターンは電源供給用の回路だと思われる。
S5PV210のデータシートによるとUSBは2本内蔵しているように読めたんだけど、外部端子として2本出ちゃってるから、この回路は死んでる可能性もある。
基板の裏が見えないからわかんない(笑)


●Herotab MID816 / Minipad
http://www.slatedroid.com/index.php?topic=13591.0



全景
なんだか空間が多い&空きランドが目立つ基板。
Wifiのアンテナが真ん中から出てるのがおちゃめ(笑)
その下にもANT端子と16ピンチップの空きパターンがあるけどこれは何だろう?
アンテナが付くって所からBT用のパターンだったらいいなぁなんて希望的観測(笑)
基板右端にもI/F用の端子っぽいランドが2箇所見える。
見たところ、スピーカーが1本だね。裏面に出て無いだろうか・・・
CPU周辺にある沢山の空きランドはなんだろう?
CPUからの信号が出てたら面白いことができそうだけどなぁ。


GL850G周辺
特筆すべきはコレ。
USB-HubチップのGL850Gが載っている。
と言うことは、ここから簡単に内部USBを引っ張り出せるってことになる(・∀・)
その右と下に6ピンのコネクタ用空きパターン。ひょっとしてこれがUSB端子だったらめちゃ嬉しい。
OS側さえ対応してしまえば、BluetoothもGPSもココに付けられるジャン。
他の2機種には無い特典ポイント(笑)


んなわけで、バラして改造する前提の機種選びってどうなの?(笑)

2011年2月15日火曜日

海外通販

謎なブツを手に入れるために海外通販を利用することがある。オークションだと、えBayとか。
人に頼まれて買う場合もあるんだけど、50円ぽちの品物を送料1000円かけて手に入れるってのもいかがなものかと(笑)
ま、日本で手に入らないからこそ、手を出す意味があるんだけどね。

で、中華padもしかり。
海外の仕入サイトをぐるぐるしている今日この頃。蟻特急とかメリとか。
今流行ってる端末はいろんなOEM名で流通してたりするので、端末特定するのに一苦労する。
静電じゃなかったり、I/Fがびみょーに違ったりと、中身は同じだけどちょっとずつ違う兄弟機たち。
価格もまちまち。
いろんな意味で中華端末っておもしれーwwと、思う。

とりあえず、、、、試しに買ってみた( ・ω・)
あんまり投資できないので、安値を探してそこそこ評価があるショップを選んでみたけど、正直、ちゃんと商品が届くかどうか博打みたいなもんだ。
返品とかも面倒だから、あまりお薦めはできない。
ま、発送に時間がかかるから、いじるのはまだまだ先の話かなぁ。

しかし、英語読むの疲れた(・∀・)

2011年2月13日日曜日

借りてきたlib

なーんか、(・∀・)
次の中華padを物色しながら、slatedroidを読みふけり、色んな中華padのCFWをバラしてながめてた。
M001と違って、アーカイブを解けばシステムイメージが展開できるわけもなく、ファイルシステムとしてmountしたり、decryptしたりとなかなかややこしい。
ていうか、今考えたらM001のファームイメージってすげー簡単。
ま、一般的な電子機器のファームアップってNANDイメージの書き込みだったりするから、いじれるように展開するのにはそれなりの手順があるのは当たり前なんだよな。

って、思いながらシステムをほじくれるファームをバラして遊んでた。
結構、バラせる(・∀・)
Rockchip系はどれも似たような感じなので情報が多いのが救い。
Cortex系はまだバラしてないけど、多分いけるかな?ひょっとしてら実機上でいじって吸い出したほうが早いのか?
その辺りはよく分からん。。。。

で、Androidの基本的なシステムツリーは1.6だろうが、2.xだろうがよく似ている。
ていうか、カーネル部分はOSに依存する機能以外はほぼ同じ。

ということで、何か面白いものでも入ってないかなーと、ある中華padのファームをバラしてシステムを散歩してた。
このサイトで取り上げたネタとしてはGPSが大きいけど、やっぱその辺の対応ができるのか非常に気になるところ。
libを掘り出す。
うむ、libhardware_legacy.so はやっぱ存在するな。libgps*.so は無いみたいだ。
対応して無いのかな?
おもむろに、libhardware_legacy.so の中身をviewする。。。
む、GPS関係のエントリはあるな。例のごとくダミーかな?
ん??見たことある定義があるな??

gps_dev_conf_set_val
GPSCMD_MSG_UPDATE_H
/etc/gpsdevice.conf

・・・(゜-゜)・・・・

おいらのコードじゃん!!(爆)
どうして、このファームに入ってるのww

なぜか、m001etc用に作った、libhardware_legacy.soのバイナリコードが一部改変されて入ってるっぽいww
しかも、完全に同じではなく、恐らくベンダーでいじって改変したものだろう。
ライブラリをリバースしてソースを抽出して、ハードウェア依存の他のコードを引っ付けて再コンパイルしたものか?
とにかく、GPS周りのコードは確実においらのコードww

恐るべし、中華。
パクる事にかけては天下一品(`・ω・´)

つーかさ、連絡くれればソースコードやるのに(笑)
オープンソースだから自由に改変できるんだしw
まぁ、いいんだけどね。

あ、と言う事は、
このファームは非公式にGPS対応してるんだ(・ω・)
でも、ちゃんと初期化しないまま放置されてるから動かないだけなんだよな。多分。

なーんだ(・∀・)