Xperia X10 mini proのkernelを書き換える

Xperia X10 mini/mini pro/X8のkernel部分というのは、いままでは署名の関係で、ソニエリ純正のkernelしか焼けないことになっていました。
それを回避するための方法が発見され、自由にkernelを書き換えることが可能となりました。
(2011/10/22 記載を一部改訂)

焼くための手順は、[Dev] Building kernel の3レス目 にあります。

重大な注意:メーカー保証はなくなります
注意2:文鎮化する危険性があります(といっても文鎮化した話は聞いたことありませんが)
注意3:Xperia X10 mini/mini pro用であって、2011年発売のXperia Mini/Mini Proの手順ではありません。
注意4:失敗しても当方は知りません。
注意5:カスタムkernelはAndroid 2.2もしくは2.3用です。標準のAndroid 2.1では動きません。

さて、手順ですが、上記URLを見ると長々書いてありますが、よくよく読んでみれば「msm7227.7z」をダウンロード、展開して、「msm7227_semc.cmd」を実行するだけ。
後のことは、違う手順でやる場合とか、詳細とかだったりします。

C:\tmp\bootloader>msm7227_semc.cmd
process requires standard 2.x android firmware.
続行するには何かキーを押してください . . .
Getting ROOT rights.
* daemon not running. starting it now *
* daemon started successfully *
1262 KB/s (585731 bytes in 0.453s)
error: protocol fault (no status)
Waiting ...
Removing NAND MPU restrictions via SEMC backdoor. Permanent. Require ROOT rights.
61 KB/s (3087 bytes in 0.049s)
success
Waiting ...
Getting ROOT rights.
Waiting ...
Writing patched semcboot. Two step process
First, we need get access to semcboot area
246 KB/s (8064 bytes in 0.032s)
Second, we need to write semcboot ; )  
1101 KB/s (596916 bytes in 0.529s)
successfully wrote 0003ff00
続行するには何かキーを押してください . . .

C:\tmp\bootloader>

ここで、再度、再起動がかかります。
この再起動は、普段よりながーくSony Ericssonのロゴが表示されます。
3分ぐらいは待ちましょう。

実際、文鎮化したかなぁ?と焦りました。

次にkernelを書き込みます。
必要なのはFlashtool

私の場合、手元にあったX10 Flashing Tool ver 0.2.6を使いました。
これは単純に以前Android 2.1を焼いた際に入手してあったから、というだけの理由です。
別の環境で試したときはver 0.2.9.1で行いました。
(ver0.3は使用できませんが、ver0.5以降は使用できるようです)

カスタムカーネルは何種類かでています。
2011/09/12現在だと2種類
slade87氏のZombie Panic
D4rKn3sSyS氏のD4kernel

2011/10/22時点では以下の4種類があります。
・slade87氏のZombie Panic Kernel
  現時点で一番メジャーなカスタムkernel
・D4rKn3sSyS氏のD4kernel
  一番最初に出てきたが作者がX10 mini proから卒業したので開発停止
・kamarush氏のKrSH
  CM7.1対応をうたっているものでCWM Recovery 5が組み込まれている
  Zombie Panic Kernelと比べると動きが怪しい点がある
・FreeXperiaProjectのFreeXperiaProject CM7.1.0 STABLE 添付のカスタムkernel
  CM7.1用のカスタムkernelが添付されている・・・ことになっているのだが
  いままでまともに動くバージョンがついてきたことがないという・・・
  そのため、kamarush氏のKrSHが出てきたという経緯がある。

この手順を作成した、2011/9/12 23:49時点ではZombie Panic Kernel ver 1.52の方が進んでいるようだったので、そちらを書き込む手順となっています。
2011/10/22時点のお薦めはZombie Panic Kernel ver 1.53で、手順は変わりません。

zipファイル内のftfファイルをflashtoolのfirmwaresディレクトリに置きます。

kernelを焼く前に下準備。
重複するモジュールファイルの除去です。
この手順を忘れるとタッチパネルの動きが変になったりします。

まず、/systemを書き込み可能な状態にします。

# mount -o rw,remount / /system
#

次に除去するファイルの確認

# cd /system/lib/modules
# ls
ls
ax8_smartass.ko    ext4.ko            sdio.ko            twofish_common.ko
dm-crypt.ko        jbd.ko             tiwlan_drv.ko      x8mddi.ko
dm-mod.ko          jbd2.ko            tun.ko             x8oc.ko
ext3.ko            mt.ko              twofish.ko         x8uv.ko
#

除去するファイルについてはカスタムROMによって違うので、それぞれのカスタムROMのスレッドに書かれているのでその通りにしてください。

2011/10/22時点では、GinTonicSE, Flame.E, GingerDXは、ZombiePanicKernel用で、標準kernelを使うには、追加モジュール集をインストールするという形式となっています。
MiniCM7 Pro, MiniCM7 SonyStyleは、標準kernel用で、ZombiePanicKernelを使う場合は、モジュール削除を行う形になります。

2011/9/13にZombie Panic ver 1.52で行った際は、以下のファイルでした。

ax8_smartass.ko  jbd.ko           x8mddi.ko
ext3.ko          jbd2.ko          x8oc.ko
ext4.ko          mt.ko            x8uv.ko

削除するのは怖かったので、oldというディレクトリを作成し、そこに移動させました。

# mkdir /system/lib/modules/old
# mv ファイル名 /system/lib/modules/old
#

その結果、/system/lib/modules ディレクトリには以下のファイルとなりました。

# ls /system/lib/modules
ls /system/lib/modules
dm-crypt.ko        old                tiwlan_drv.ko      twofish.ko
dm-mod.ko          sdio.ko            tun.ko             twofish_common.ko
#

準備が出来たのでFlashtoolでkernelを焼きます。

まず、flashtoolを実行します。

続いて「Flash」ボタンを押します。

「kernel.sin」と「loader.sin」だけが含まれているファイルを選択して「OK」ボタンを押します。
すると以下のウィンドウが交互に表示されます。

指示にあるとおり、USBケーブルを外し、Xperiaの電源を切ります。
そして、バックボタンを押しながら、USBケーブルを挿します。

すると、書き込みが開始されます。

こんな感じで書き込みが行われます。
「Flashing finished」
「Now unplug the device and power it on」と出たら書き込み終了です。

USBケーブルを外し、電源を入れます。

これで、Sony Ericssonロゴではないもので起動してくるはずです。
Zombie Panic v1.52だとこんな画面です。

書き換えてはみたものの、実際の使い心地とかはこれから検証です。
電池消費とかひどくないといいんですが・・・

電池消費については、どちらかというとカスタムROM側の問題が大きかったです。

IQQ M2のfirmwareをronzi A3に書いてみた(失敗)

IQQ M2/IQQ M1のfirmwareがダウンロード可能になっていたので、とりあえずIQQ M2のfirmwareを入手してみた。

# ls -l *
7571-5i:
合計 122612
-rwxr--r-- 1 root root  3385344  9月  6 21:00 boot.img
-rwxr--r-- 1 root root 31461376  9月  6 21:00 cache.img
-rwxr--r-- 1 root root   909456  9月  6 21:00 mbr-xboot-r419-60b-5i-600m-iqq.bin
-rwxr--r-- 1 root root  3696640  9月  6 21:00 recovery.cpio.img
-rwxr--r-- 1 root root 32391168  9月  6 21:01 system.img
-rwxr--r-- 1 root root 53551104  9月  6 21:01 userdata.img
-rwxr--r-- 1 root root     8192  9月  6 21:01 vfat.img

new_card_burn_tool---chyuan-3.0.8:
合計 2584
-rwxr--r-- 1 root root  144227  9月  6 20:58 2011年 6月 log.txt
-rwxr--r-- 1 root root   45520  9月  6 20:58 2011年 7月 log.txt
-rwxr--r-- 1 root root   47444  9月  6 20:58 2011年 8月 log.txt
-rwxr--r-- 1 root root   10504  9月  6 20:58 2011年 9月 log.txt
drwxr-xr-x 2 root root    4096  9月 12 19:01 4725B
drwxr-xr-x 2 root root    4096  9月 12 19:01 4740
drwxr-xr-x 2 root root    4096  9月 12 19:01 4750
drwxr-xr-x 2 root root    4096  9月 12 19:01 4755
drwxr-xr-x 2 root root    4096  9月 12 19:01 4760
-rwxr--r-- 1 root root 1818112  9月  6 20:58 SSDK.dll
-rwxr--r-- 1 root root  520192  9月  6 20:58 USBbootTool.exe
-rwxr--r-- 1 root root    2250  9月  6 20:58 chang_log.txt
drwxr-xr-x 5 root root    4096  9月 12 19:01 drivers
-rwxr--r-- 1 root root     301  9月  6 20:58 read me.txt
drwxr-xr-x 6 root root    4096  9月 12 19:01 tool_cfg
#file *
boot.img:                           data
cache.img:                          Linux rev 1.0 ext4 filesystem data (extents)
mbr-xboot-r419-60b-5i-600m-iqq.bin: x86 boot sector; partition 1: ID=0x83, starthead 0, startsector 262144, 729088 sectors; partition 2: ID=0x83, starthead 0, startsector 1024000, 1048576 sectors; partition 3: ID=0x83, starthead 0, startsector 2113536, 65536 sectors; partition 4: ID=0xb, starthead 0, startsector 2301952, 13918208 sectors
recovery.cpio.img:                  data
system.img:                         Linux rev 1.0 ext4 filesystem data (extents)
userdata.img:                       Linux rev 1.0 ext4 filesystem data (extents)
vfat.img:                           data
#

構造的にはronzi A3のfirmwareと全く同じ。
とりあえず、ronzi A3用のUSBtoolを使って書いてみた・・・

ronziロゴも出ない感じで文鎮に・・・

といっても、Homeボタンを押しながらリセットボタンを押すと、USBtoolでronzi A3 firmwareに書き戻すことができました。
ぼちぼちとronzi A3 firmwareとの合体でも試みて見ますか・・・

謎なのはIQQ M2のfirmwareは43.4MBなのに、IQQ M1のfirmwareは233MBもある、ということ。
これはいったいどういう違いなんだろうか???

木製列車のメーカ一覧

子供が1歳ぐらいのころ、プラレールを導入するにはまだ早い、と思って、IKEAの木製列車を使っていたんだけど、さらに増やそうと思って調べた時の記録。

木製レールはBRIOがおそらく元祖。
そのあとにMicki Leksaker(ミッキー)などの各社が出てきたと思われる。

レール幅は、各社共通そして、プラレールもほぼ同じなので、それぞれ車両を走らすこともできる。
ただし、プラレール車両は巨大なので、木製レールを使う場合、立体交差では引っかかったり、坂が急すぎて上れなかったりする。

混在利用についての注意点
木製レール/車両は、大きく分けてBrio系、Micki系の2種類がある。

Brio系: レール短め。車両大きめ
Micki系: レールながめ。車両小さめ

このため、Micki系レールで作った立体交差をBrio系車両を通過させることができない。(Brio系車両の背が高いためひっかかる)
逆(Brio系レールにMicki系車両)は、大丈夫。

海外製品のリスト
BRIORailway set/Train set/Tracks and Roads
Micki LeksakerTrain fun
Thomas Wooden Railway (Learning Curve社)
Maxim EnterpriseRailroad
KIDKRAFTTrains
PLAN TOYSPLAN CITY
HEROS(Simbaというところに買収されたみたいでEichhornというブランドに?)
Melissa & DougTrains and Vehicles
Choo Choo Track & Toyのトーマス以外はおそらくオリジナル製品。アメリカ的車両がいろいろある
Maple LandmarkNameTrains Wooden Railway SystemTimberToots NameTrains アルファベット列車
NiloFlexaTrack フレキシブルレールのみで車両は無し
NuchiのNuchi Wooden Trains
Lionel TrainsのLionel Wooden Trains
Whittle Shortline Railroad
Imaginarium Railway トイザらスで売ってる
DazyUSAのSuretrack

日本で入手しやすいもの
BRIO(ブリオ)
Thomas Wooden Railway(トーマス)
IKEA ブランド(Micki互換品っぽい)
トイザらス ブランド(PLAN TOYS(PLAN CITY)っぽい)
Wooden toys (一時期、ダイソーで100円~で取り扱っていた)

なお、Wooden toysは、パッケージに木製おもちゃのだいわと書いてあって、現在はこちらでも購入可能。

WCDMAとCDMA2000の周波数帯 メモ書き

2012/01/10: 「WCDMA CDMA2000 LTEの周波数帯」にて情報更新しています。
2012/09/13: 「WCDMA CDMA2000 LTEの周波数帯 2012/09/13版」にて情報更新しています。

— 以下は古い資料 —
WCDMAの周波数帯はwikipediaにも載ってるのでいいんだけど
CDMA2000の周波数帯に関する資料がどこにあるのかがよくわからない。

WCDMAに関する周波数リスト

ネタ元:UMTS frequncy bandsW-CDMA

バンド名 周波数名称 略称 周波数
Band I 2100 IMT 1920-1980 / 2110-2170 日本含めいろいろ
Band II 1900 PCS 1850-1910 / 1930-1990 北米
Band III 1800 DCS 1710-1785 / 1805-1880 ヨーロッパ,アジア,オセアニア
Band IV 1700 AWS 1710-1755 / 2110-2155 北米
Band V 850 CLR 824-849 / 869-894 北米,ブラジル
Band VI 800 830-840 / 875-885 日本(FOMAプラスエリア)
Band VII 2600 IMT-E 2500-2570 / 2620-2690 ヨーロッパで今後利用予定
Band VIII 900 GSM 880-915 / 925-960 ヨーロッパ,アジアなどGSM利用地域
Band IX 1700 1749.9-1784.9 / 1844.9-1879.9 日本(イーモバイル,FOMA)
Band X 1700 1710-1770 / 2110-2170
Band XI 1500 1427.9-1447.9 / 1475.9-1495.9 日本(Softbank)
Band XII 700 SMH 699-716 / 729-746
Band XIII 700 SMH 777-787 / 746-756
Band XIV 700 SMH 788-798 / 758-768
Band XIX 800 830-845 / 875-890 日本(新FOMAプラスエリア)
Band XX 800 832-862 / 791-821 EU
Band XXI 1500 1447.9-1462.9 / 1495.9-1510.9
Band XXV 1900 1850-1915 / 1930-1995

なお、各携帯電話会社でどのような周波数を採用しているかはList of UMTS networksの記述が一番まとまっていると思われる。

CDMA2000に関する周波数リスト

TSG-C C.S0057-E v1.0 Band Class Specification for cdma2000 Spread Spectrum Systems Revision E

名称 周波数 具体値
BC0 800MHz Band 824.70-848.31 / 869.70-893.31 いろいろ,日本(au 新800MHz)
BC1 1900MHz Band 1851.25-1908.75 / 1931.25-1988.75
BC2 TACS Band 872.0-915.0 / 917.0-960.0
BC3 JTACS Band 887.0-925.0 / 832.0-870.0 日本(au 旧800MHz)
BC4 Korean PCS Band 1750.0-1780.0 / 1840.0-1870.0
BC5 450MHz Band 411.0-483.0 / 421.0-494.0
BC6 2GHz Band 1920.0-1980.0 / 2110.0-2170.0 IMT-2000として各国共通
BC7 Upper 700MHz Band
BC8 1800MHz Band
BC9 900MHz Band
BC10 Secondary 800MHz Band
BC11 400MHz European PAMR Band
BC12 800MHz PAMR Band
BC13 2.5GHz IMT-2000 Extension Band
BC14 US PCS 1.9GHz Band
BC15 AWS Band
BC16 US 2.5GHz Band
BC17 US 2.5GHz Forward Link Only Band
BC18 700MHz Public Safety Band
BC19 Lower 700MHz Band
BC20 L-Band
BC21 S-Band
BC31 Wildcard Band Class リアルではなく論理的なもの

BC=Band Class

BCの下にはBand Sub Classというくくりもあったりする。
Band Class 0 Band Sub Class 0: 北米とか(824-849/869-894MHz)
Band Class 0 Band Sub Class 2: 日本 新800MHz(824-830/869-875MHz)
Band Class 0 Band Sub Class 3: 日本 新800MHz 2012年以降の拡張領域(815-830/860-875MHz)

なので、北米機種でBC0対応であっても、日本で使えるかどうかは、Band Sub Class2と3に対応しているかどうかにかかっているということになる。

IBM Storwize V7000についていろいろ

IBM Storwize V7000についてのドキュメントベースでの適当な考察とかいろいろもろもろ・・・

Storwize V7000とは?

元々のStorwizeは、NASとクライアントの間に入れて、NASに書き込むデータを圧縮してしまおう、というStorwize社のプロダクトでした。(当時、日本では東京エレクトロンが取り扱っていた)
NAS上に書き込まれるのは圧縮されたデータであるため、直接NASにアクセスすると、読めない謎のデータがおいてある、という認識となる。
プロトコルヘッダを見て、圧縮をしているらしく、NetApp/EMC CelerraのCIFS/NFSだと動くのに、
Linux NFSサーバだと、全然圧縮動作をしてくれない、なんて動きをしていました。

そんなプロダクトをIBMが買収したのですが・・・なぜか、旧Storwizeは、IBM Real-time Compression Appliance(RtCA)という名前でリリースし、Storwizeという名前は全然別のプロダクトに持って行かれました。
(ちなみに現行製品はSTN6500、STN6800ですが、この型番、旧Storwize時代のまんまです)

新Storwizeは、IBMが元々リリースしていたStorage Volume Controller(SVC)というストレージ仮想化装置と、ストレージを一体化したものとして、仕切り直した形になっています。
で、SVCというのは、IBM x3550にLinuxを入れてLinux版のDatacore SANsymphonyのOEM版を動かしている、という感じのプロダクトです。

で、現行製品のStorwize V7000というのは・・・

ハードウェア的には2U筐体にストレージエンクロージャとサーバを突っ込んだもの
ソフトウェア的にはSVC同等機能+XIV的な管理GUI

ちゃんとしたあたりは、IBMのサイトに転がっているマニュアルやRedBookを参照してください。

それらの資料と実際の動作を見た結果、明示されていないけど、なんとなく、こうなのかな?と想定されるところを以下に書いてみました。
なので、以下に書かれていることは、IBMの公式見解ではなく、あくまで個人的な感想です。

内蔵ディスク関連

・内蔵ディスクは ソフトウェアRAIDとして使用
メインCPUを使用して処理するソフトウェアRAIDとして実装されているようだ。
作成したソフトウェアRAIDは、Mdiskという形で認識させている。
(SVCの機能を単体ディスクに対して直接適用している形)

→ 内蔵ディスクが高負荷になると、メインCPU負荷があがり
それに伴い、外部RAIDに対する処理が遅延する可能性がある。
あまり内蔵ディスクにディスクを増設しすぎない方がいいのではないか?

・おそらく処理を簡略化するために、作成できるRAID構成が限定されている。
メインCPUへの負荷軽減等を考え、ある程度RAID構成を決めうちしてる
と想定される。

SAS/SATAチップ的に考えると、内部はディスク4本で1つの単位となっていて
その帯域をうまく使えるように8本もしくは12本、という単位があるのだと思われる。

なので、これ以外の単位のRAID5/6は、パフォーマンス面で
若干不利になるのだと思われる
(なので「Optimize for perfomance」と「Optimize for capatcity」がある?)

・スペアディスクは常にスペアとなる
スペアディスクは障害時に「一時的に使用されるもの」といった位置づけであり
障害ディスク交換後、内容をコピーする処理(コピーバック)が走る。
このため、ディスク交換後、パフォーマンス低下が発生する。

たぶん、このコピーバックする、というのも、RAID構造の簡略化、の一環

・内蔵ディスクについてのGUIが貧弱なのも、おまけだから?
SVCの機能を単体ディスクに対して直接適用している、というだけなので
従来のインタフェースを使っても、同等の設定を行うことはできるが、
ある程度簡単に設定ができるように「内蔵」という設定項目を作った
というような位置づけな印象を受ける

・たぶん、Web GUIはSVC/V7000/XIVで開発が共通化されてそう
実際のバックエンド処理については、分かれていそう

Easy Tier関連

・Easy Tierは、SSDだけでくんだMdiskを作ってから設定する

・SSD用Mdiskは、SSD 2本のRAID10で作成する

・スペアSSDを用意しておかないと、SSDの代わりに普通のHDDを
使用してしまうという仕様で、マニュアルでも警告されている。
HDDが割り当てられてしまうと、Easy Tierの意味がなくなるのと、
そもそもストライプされないHDDに頻繁な書き込みされることになり、
かえって遅くなるので注意が必要。

・SSD-HDD間のデータ移行はエクステント単位で行われる
ストレージプールで設定したエクステントサイズは
最小16MB、デフォルト256MB、最大8192MBと設定できるが
SSDは読み込みは速いが書き込みは遅い、という特性がある。
このため、エクステントが大きいと時間がかかってしまうはず。
Easy Tierを効率よく使用するにはエクステントを
小さく設定した方がよいと想定される。
警告: エクステントサイズによりV7000全体の管理容量が変わるので注意

・・・そういえば、旧製品時代は「すとあうぃず」って読んでたのに、いまは「すとあわいず」だなぁ・・・
てっきり、「Storage Wizard」の略だと思ってたのに

モバイルバージョンを終了