FT2232HでのNAND読み書き: ソフトウェア
前回の記事では, Wii Uのファームウェアダンプの計画を紹介した. そこでこうちゃんさんにその実装を依頼し, 彼は無事成功したようだ. 詳細は彼のツイートを参照. もしかしたらまた彼がTogetterにまとめるかもしれない. 曰く, 「はんだづけする箇所はeMMCとフラッシュチップのどちらも小さい. 360-clipは買ったほうが良い.」 とのことだ. 360-clipは素晴らしいツールだし, 購入して低価格化に貢献して欲しい.
さて, ダンプする準備は完了したのだが, こうちゃんさんが自分でNANDダンプをやって確認したいと言ってきた. そこで, このチュートリアルを書くことにした.
彼は開発者ではないので, 当然このチュートリアルもそういった人を想定して書いた. ただし, PCが全くわからないという人にはかなり難しい. それとハードウェアについては説明しない.
#想定する環境 * Windows XP SP2以降のx64版が導入されたコンピューター
-
FT2232H
-
TSOP-48 NAND フラッシュチップ
#使用するソフトウェア ##Zadig http://zadig.akeo.ie/
##FT2232H-based NAND reader 以下NandTool.
主なUNIX系の環境とVisual Studioでビルド可能.
今回は, MinGW-w64を用いてx64用にコンパイルしたバイナリを用意した. DLLも同梱したので, 単体で使用できるはずだ.
Release Release 0 · 173210/NANDReader_FTDI
#実践 丁寧な写真はないし, ところどころググれという指示がある. これは私がUbuntuを使っていてWindowsで実際に使用するのが非常に面倒だからである. うちのぶっ壊れたWindows使えだなんて勘弁して.
##WinUSBのインストール Windowsは不正なドライバをインストールされないようにするため, 署名の確認を行っている. そこで, Microsoftによる署名が施されたWinUSBを利用する. 通常, ドライバにはそれを適用するデバイスの情報が書かれており, それを書き換える必要があるのだが, その工程を自動化してくれるZadigという素晴らしいツールがある. ググったらちょうどよい解説を見つけた. これを参考にして欲しい.
[RTL1090(その4) / ドライバーのインストール | Today’s Sky](http://blog.ja8175.com/archives/83) |
FT2232Hは標準状態だとシリアルポートとして認識されるはずなので, それを置き換えることになる.
##NANDReader_FTDIの実行 まずコマンドプロントを開く. これもググったらいい解説が見つかるものだ. 著者には敬意を払おう.
Tech TIPS:これだけは覚えておきたいWindowsのコマンドプロンプトの使い方 - @IT
次からはコマンドをコマンドプロントに入力していく.
まず, NandToolを展開したディレクトリに移動する.
cd /d NandToolのパス
ここでTSOP-48 NANDフラッシュチップ, FT2232Hを接続する. そのあと, 正常に接続されていることを確認するため, 次のコマンドを入力してチップを特定する.
NandTool -i
ここで問題が発生したら, NANDフラッシュチップとの接続を遮断する. 壊れたら大変だ.
うまくいったら, 早速ダンプだ. 次のコマンドを入力する.
NandTool -r nand.img
しばらく待つ. NANDからPCにほぼ直接転送されるため, そこら辺で売っている機械よりはだいぶ高速にダンプできると思う. (ただの推測)
ダンプが終了したら, ベリファイだ. 次のコマンドを入力する.
NandTool -v nand.img
#最後に NandTool, Zadigの開発者, チュートリアルの著者, そして何よりもこの素晴らしいデバイスを開発したFTDIに感謝しよう. ここで紹介したことがこんなにもお金をかけずにできるのは, ひとえに彼らのおかげである.