2011年6月29日水曜日

Samsung Galaxy S II SC-02Cのディスプレイカラーバランスを調整する。


rootedじゃないと出来ないよ!

イジくるのは/system/etcの中にあるmdnie_tune_*というファイル
今回はmdnie_tune_ui_standard_modeをイジります。

元ネタは8796先生のこのエントリ
8796.jp管理日誌 - [電話] Galaxy SII GT-I9100の画面モードを弄る

mdnie_tune_ui_standard_modeは設定>画面>スクリーンモードの標準を選択した時に読み込まれるファイルです。

デフォルトだとこんな感じになってます、中身

//start
0x0001,0x0000, //
0x002c,0x0fff, //DNR bypass 0x003C
0x002d,0x1900, //DNR bypass 0x0a08
0x002e,0x0000, //DNR bypass 0x1010
0x002f,0x0fff, //DNR bypass 0x0400
0x003A,0x000d, //HDTR DE_off CS : de on = d , de off = 9
0x003B,0x0001, //DE SHARPNESS(0~1023) off
0x003C,0x0000, //NOISE LEVEL
0x003F,0x001e, //CS GAIN 30
0x0042,0x0030, //DE TH (MAX DIFF)
0x0028,0x0000, //Register Mask
//end


んで書き換えたのがコレ

//start
0x0001,0x0045, //0x0000から0x0045に
0x002c,0x0fff, //DNR bypass 0x003C
0x002d,0x1900, //DNR bypass 0x0a08
0x002e,0x0000, //DNR bypass 0x1010
0x002f,0x0fff, //DNR bypass 0x0400
0x003A,0x000d, //HDTR DE_off CS : de on = d , de off = 9
0x003B,0x0001, //default 1DE SHARPNESS(0~1023) off
0x003C,0x0000, //NOISE LEVEL
0x003F,0x001e, //CS GAIN 30
0x0042,0x0030, //DE TH (MAX DIFF)

0x005b,0x0064, //追加
0x0063,0x7a00, //追加 青色調整
0x0065,0x0088, //追加 赤色調整

0x0028,0x0000, //Register Mask
//end


仕様書が無いと分からんけどなんとなくこんな感じ
0x0001…モード指定
0x005b…モード絡み?

0x0063…青色調整、実際に使われるのは頭ふたつ…0xff00とかにするとスゴク青いです。
0x0065…赤色調整、実際に使われるのはお尻のふたつ…0x00ffとかにするとスゴク赤いです。

0x0064がミドリかと思ったけど違うみたい…多分0x80固定
SGS2の液晶はなんか青いので0x0063ちょい下げの0x0065ちょい上げな感じにするとイイ感じ。

カーネル側で調整する方が良さそうだけど…

2011年6月26日日曜日

Samsung Galaxy S II SC-02Cを純正カーネルのままrootedにする方法




やっとブツ手に入ったので純正カーネルのままrootedになってみた…

用意するもの


1)GalaxyS II SC-02C 2台
2)Linux環境
3)文鎮になったら新しい端末買えばいいや!なココロ

全体の流れ


1)secure=0なカスタムカーネル焼く
2)とりあえず素の状態の/system(mmcblk0p9)をdump
3)su流しこむ…busyboxとかSuperuser.apkとかはお好みで
4)su入りの/system(mmcblk0p9)をdump
5)/system(mmcblk0p9)をOdin3もしくはheimdallで焼ける形式に変換する。
6)別のSGS2にsu入りfactoryfs.imgを焼く
7)カーネル(mmcblk0p5)をdump
8)カスタムカーネル焼いた方のSGS2に7)の純正カーネルを焼く、おでん食べたい。

カスタムカーネルを用意する、焼く


面倒くさいので省略

dumpする



dd if=/dev/block/mmcblk0p9 of=/sdcard/dump/mmcblk0p9.img bs=4096
dd if=/dev/block/mmcblk0p5 of=/sdcard/dump/mmcblk0p5.img bs=4096


/system(mmcblk0p9)をOdin3もしくはheimdallで焼ける形式に変換する。


http://forum.xda-developers.com/showthread.php?t=1081239
ここ見れば分かる、英語読めない?知らんがな…

ddでdumpした/systemはext4なので

mkdir system
mount -o loop mmcblk0p9.img system

てな感じでマウント出来る。

あとはxdaに書いてある通り

./mkuserimg.sh -s /home/hoge/sc02c/system ./factoryfs.img ext4 ./temp 612M

てな感じでOdin3で焼ける形式に変換する…一応simg2imgをmakeってunpack出来るかも確認しとくとベター
11/7/1 最初512MBと書いてましたがSC-02Cの/systemサイズに合わせる場合612MBになります。



純正カーネルあっぷする気なんて無いよ、何も考えずにUK版カスタムカーネル焼いてワンセグ使えないだのGPS動かないだの言ってる人はもう1~2台お金払ってSGS2買ってください。

2011年6月24日金曜日

Samsung Galaxy S II SC-02Cのカーネルビルドメモ

SC-02Cのroot取るのにカーネルごにょごにょする必要あるのでそれのメモ

モジュールを差し替えないとWiFiエラーで起動しなかったりするよ…


カーネルソースの入手


https://opensource.samsung.com/
SamsungのサイトからGT-I9100のカーネルソースをDLしてくる。
SEARCHの所にGT-I9100って入れて検索すれば出てきます。

クロスコンパイラの準備


安藤恐竜さんのサイト参考に

$ wget http://www.codesourcery.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
$ sudo tar jxvf arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /opt


initramfs用意


面倒くさいので省略

カーネルソース修正


とりあえず展開して

$tar xf GT-I9100_Kernel_Gingerbread.tar.gz


c1_rev02_jpn_ntt_defconfigのCONFIG_INITRAMFS_SOURCE=""にinitramfsのパス書く

initramのdefault.propをこんな感じに編集

ro.secure=0
ro.allow.mock.location=0
ro.debuggable=0
persist.service.adb.enable=1

adb shellとかするとイキナリ#な感じになりまsu

ビルドする



$export PATH=/opt/arm-2009q3/bin:$PATH
$export ARCH=arm
$export CROSS_COMPILE=arm-none-linux-gnueabi-
$make c1_rev02_jpn_ntt_defconfig
$make -j4

lzopパッケージ入れておく必要あります。

arch/arm/boot/にzImage出来るのでHeimdallで焼くか

$tar cvf SC02C_kernel.tar zImage

てな感じにtarっておでんで焼く

ざっとこんな感じ…まだ実機入手出来てないので動作は未確認

2011年6月18日土曜日

Sidekick4G rfs to ext4



Sidekick4GはGalaxyS同様/system、/data、/cacheがrfsなのでこれをext4にしてみる…rfsのままでも別にストレス感じないですけど…

ext4対応kernel作成


initramfsイジるだけなんでそんなに大変じゃないけど説明するの大変なので細かいところは書かない

1)jbd2.koとext4.ko用意する…epic4gのカスタムROMとかから引っこ抜いてくるのが楽か
2)init.rc編集
kernel moduleをinsmodしてやる

insmod /lib/modules/jbd2.ko
insmod /lib/modules/ext4.ko


3)rfsで/systemとかマウントしてるところの上にext4でマウントするためのコマンド追加
これでext4とrfsの両方に対応できる

mount ext4 /dev/block/stl9 /system noatime nodiratime errors=continue nobh data=writeback barrier=0 noauto_da_alloc
mount rfs /dev/block/stl9 /system ro check=no

mount ext4 /dev/block/stl10 /data nosuid nodev noatime nodiratime errors=continue nobh data=writeback barrier=0 noauto_da_alloc
mount rfs /dev/block/stl10 /data nosuid nodev check=no

mount ext4 /dev/block/stl11 /cache nosuid nodev noatime nodiratime errors=continue nobh data=writeback barrier=0 noauto_da_alloc
mount rfs /dev/block/stl11 /cache nosuid nodev check=no


recovery.rcとかも同じ感じで編集…まぁしなくてもいいんですけど…

4)CWMRecoveryのadbでsuになれなかったのでdefault.propをro.secure=0な感じにしておいた。

5)ext4対応なinitramfs使ってカーネルビルドする…んでheimdall使って焼く

/systemと/dataをext4に変換


1)[ROM][CWM] Stock Deodexed KD1ここにあるCWM3XX.zipつかってCWMRecoveryに入る

2)/systemと/dataをバックアップ

busybox tar cf /sdcard/system.tar /system || halt
busybox tar cf /sdcard/data.tar /data || halt


3)/system、/data、/cacheをext4でフォーマットする

adb push jbd2.ko /tmp
adb push ext4.ko /tmp
adb shell insmod /tmp/jbd2.ko
adb shell insmod /tmp/ext4.ko
adb shell umount /system
adb shell umount /data
adb shell umount /cache
adb push fsck.ext4 /tmp
adb push mkfs.ext4 /tmp
adb push mke2fs.conf /etc
adb push tune2fs /tmp
adb shell chmod 0755 /tmp -R
adb shell chmod 0755 /etc -R
adb shell /tmp/mkfs.ext4 -L /system -b 4096 -m 0 -F /dev/block/stl9
adb shell /tmp/tune2fs -c 100 -i 30d -m 0 /dev/block/stl9
adb shell /sbin/mount -t ext4 /dev/block/stl9 /system
adb shell /tmp/mkfs.ext4 -L /data -b 4096 -m 0 -F /dev/block/stl10
adb shell /tmp/tune2fs -c 100 -i 30d -m 0 /dev/block/stl10
adb shell /sbin/mount -t ext4 /dev/block/stl10 /data
adb shell /tmp/mkfs.ext4 -L /cache -b 4096 -m 0 -F /dev/block/stl11
adb shell /tmp/tune2fs -c 100 -i 30d -m 0 /dev/block/stl11
adb shell /sbin/mount -t ext4 /dev/block/stl11 /cache

umountうまく出来ねーとかの場合はCWMRecovery再立ち上げするとうまくいったりする
元ネタはEpic4GのDameon87さん作One Click EXT4 Installer

4)バックアップしてた/systemと/dataを元に戻す

busybox tar xf /sdcard/system.tar -C /
busybox tar xf /sdcard/data.tar -C /


5)リブート

ざっとこんな感じ…

2011年6月5日日曜日

T-Mobile Sidekick 4G:Review



そろそろレビューでも書こうかな…と。

ハードウェア



パーツの殆どがプラスチックで出来ているため高級感は無いが作りはしっかりしていて2年位でボロボロになるといった感じでは無いかな…


3.5インチLCD搭載端末としてはかなり大きく、幅はMotorolaMilestoneとほぼ同じで縦方向は4.3インチLCDを搭載したhtc EVOとほぼ同じ…重量も162gとMilestoneよりはちょっと軽いがそれでもAndroidを搭載した携帯電話の中では重い方だろう。


microUSBポートは蓋付き
ストラップホールが有るのはGood!


バッテリーカバーはよくあるバリバリと剥がすタイプ

端末スペックはHummingbird1GHzにRAM512MBとSamsungGalaxySとほぼ同じスペックとなっている。
ディスプレイはSuperAMOLEDでは無く普通のLCDだが屋外でに視認性も良く不満は無い。

キーボード



Samsung製という事でEpic4Gのようにやたら固いキータッチなんだろうなぁとイメージしていたのだがそのような事は無くタイプしてて気持ちの良い素晴らしいキーボードだ。

筐体サイズは大きいのだがキー自体は中央に寄っていてEpic4Gみたいにやたら幅が広くて使いにくいと言った感じは無く丁度良い。
キーがそれぞれ独立していてクリック感もしっかりしている…ハードウェアキーボード付きAndroidの中ではこれが今のところベストなのではないだろうか。

ナビゲーションキー


多くのAndroid端末はタッチパネルの下に「menu、back、home、search」と言った感じにボタンが配置されているのだがSidekick 4Gはポートレートモード時下部に「back、torackpad、menu」上部に「jumpkey、home」とかなり独特な配置となっている。キーボードを開いた状態で使うのであれば特に困らないのだがポートレートモードメインで使うのにはかなり無理がある…backキー長押しでhomeキーと同じ動作になるのでポートレートモードでも使えなくは無いですけど…そもそもランドスケープモードで使用する事を前提にデザインされた端末なのでそう考えれば自然な配置だと思う。


最近の端末としては珍しく光学トラックパッドが付いている。
トラックパッドの性能としてはhtc Desireと同じような感じで使いにくくは無いがもうすこしセンシティブに反応してくれればなぁと言った感じ。
最初からWakeupとして割り当てられてるのでroot取って書き換えて…といった面倒な事をしなくてもtrackpad downでスリープ状態から復帰できる。

カメラ


3メガピクセルでフラッシュは無し。
特別キレイといった感じでは無いが全く使い物にならないという程では無い…少なくともMotorolaMilestone、Milestone2よりは良い。


Sidekick UI


SamsungTouchWizがベース

Lock Screenのデザインがかなり独特で好みが分かれそう…

Lock ScreenでMusic playerのコントロールが出来たり着信があった場合表示してくれたりと結構手が込んでいる。
個人的に一番気に入っているのがスクリーン解除の方法で、下方向にスライドさせると通常通りロックを解除するのだが上方向にスライドするとロック解除と同時に指定したアプリが起動する。


Sidekick4GにはJump keyというアプリケーションが用意されている。これは通常のAndroidで言うところのHome長押しのアプリ起動履歴表示みたいな物。
Jump key「///」を押すことでこのメニューが立ち上がる。また、jump key+アルファベットキーでアプリケーションを起動させる事も可能。

Sidekick4GのHome長押しはNotification Openに割り当てられてる。


地味に嬉しかったのが電話帳…海外キャリアから出ている端末だが日本語のフリガナにちゃんと対応している…日本語での検索もOK


それとHomeLauncherの出来の良さに驚いた…何時もAndroid端末を買うとすぐにLauncherProに変更してしまうのだがSidekick4Gは標準Launcherのまま使用している。
サクサク動くしデザインも好み…

SIMカードの相性、受信感度


T-Mobileから発売された端末なので当然SIMロックは掛かっている。日本国内で使用する為にはSIMロックを解除する必要がある。

ドコモ音声SIM、ドコモデータSIM、b-mobile U300の3つのSIMを試したがどれも問題なく使用する事が出来た。
U300に関してはアンテナピクトが表示されない、なんちゃって圏外モードに入りバッテリー消費が激しくなる…といった端末が多いのだがSidekick4Gはそのような事は無い。
ただ、やはり3Gで通信させるとバッテリー消費は激しく、WiFi運用ではDisplayOn5hでバッテリーレベルが100%から15%になるのに対し、ドコモデータ、U300では3.5h位にまでバッテリーのもちが悪くなる感じ。

受信感度は良好でMotorolaMilestone、HW-01C、BF-01Bが圏外だったエリアでも何とか通信する事が出来た…受信感度-110dBmとかなりギリギリな感じではあるが。


面倒くさくなってきたからとりあえずこれ位に…
キーボードの良いAndroidが欲しいって人にはあまりオススメ出来ないけどキーボードの良いスマートフォンが欲しいって人には良い端末なのではないかなと…
少なくとも素のAndroid最高!CyanogenMod最高!って人にはオススメしない