Flashtool 0.9.23.2ではFTFを焼く時にFSCと呼ばれるスクリプトがFTF内に入っていないと焼けないようになっているのですが、これが原因でXperia X Performance・XZ Android 7.0ファームウェアなどが焼けない問題が発生しています。
【2017/06/16追記】
ようやく41.fscがマージされたため、今後作成したFTFでは41.fscが正常に追加されるようになります。その場合、以下の操作は必要ありません。
FSCが原因で焼けないときの対処法
FTF内にFSCファイルが入っていない場合、FTFを焼こうとしてもログに
No flash script found.
Flash script is mandatory. Closing session
と表示されて終了してしまいます。
FSCファイルはXperia Companionでソフトウェアの修復をした時のログを元に作成されたファイルで、Xperia Companionと同じ順番でファイルを焼くことで、FTFを焼く時の安全性を高める働きをしています。
通常はXperiFirmでFTFを作成するときに、FlashtoolのdevicesフォルダからFSCファイルがコピーされるのですが、Xperia X Performance・XZでは39から始まるビルド番号向けのファイル (39.fsc) しか用意されていないためコピーされずにFTFが作成されてしまいます。
Android 7.0ファームウェアではビルド番号が41から始まるため、41.fscを用意しないといけないのですが、修正するPull requestがまだマージされていないので、現状では自分でFSCファイルを追加しないといけません。
FTFへのFSCファイルの追加方法
FSCファイルは通常、Xperia CompanionまたはEmmaでソフトウェアの修復をした時のログを取って作成しないといけません。しかし、Xperia X Performance・XZのAndroid 7.0ファームウェアではAndroid 6.0の時のスクリプトを使っても大丈夫なので、ファイル名を修正するだけで利用できるようになります。
- まずはFlashtoolのデータが保存されているフォルダ (以下[flashtool_data]) を開きます。場所が分からなければ、Flashtoolを起動して「File」→「Change User Home」を選べば場所が表示されます。
- フォルダを開いたら、「devices」→「F81XX」または「F83XX」を開きます。
- 「39.fsc」ファイルがあるので、コピーして名前を「41.fsc」に変更します。
- 「41.fsc」ファイルをFTFを保存しているフォルダにコピーします。
- 7zなどのソフトを使い、「41.fsc」ファイルをFTFに追加します。
7zのコマンドラインの場合7z a [FTFのファイル名].ftf 41.fsc
で追加できます。
7zなら大丈夫ですがWinRARなどでは追加に失敗することがあるようで、WinRAR上では正常に開けてもFlashtoolではFTFが認識されないようになってしまうことがあります。あらかじめFTFファイルをコピーしてから追加した方が良さそうです。 - 追加後、Flashtoolで正常に焼けるようになります。
なお、[flashtool_data]\mydevicesに「F81XX」または「F83XX」フォルダを作成してその中に「41.fsc」をおけば、今後は自分でFSCファイルを追加しなくてもXperiFirmでダウンロードしてFTFを作成するときに自動的に追加してくれるようになります。
7zなどで追加するのが面倒なら、mydevices以下にコピーした状態でFTFを作り直しても大丈夫です。
【2017/06/16追記】
ようやく41.fscがマージされたため、今後作成したFTFでは41.fscが正常に追加されるようになります。
FSCスクリプトを作成するには?
今回は既存のFSCファイルを再利用できましたが、新しいファームウェアで互換性がない場合や今後発売されるXperia XZ Premiumなどの新製品ではFSCファイルを一から作らないといけません。
FSCスクリプトを作成するには、Simple USB Loggerというソフトを利用します。
Simple USB Loggerはこのページで配布されています。(ベータ版はこちら)
ページの見た目でも分かりますが、正式版は2011年リリースとかなり古いソフトです。Windows 10などでエラーが起きた場合、ベータ版であれば最近リリースされたものなので動く可能性があります。私はWindows 10を使っているのですが、ベータ版でないとログを作成できませんでした。ベータ版だとログはできるのにFSCファイルを作成できませんでした…。
FSCファイルを作成するためのログファイルを作成する手順
- Simple USB Loggerで「File」→「New Advanced Session」を選びます。
- 右下の「Capture BULK~」と「Capture ISO~」の二つのチェックボックスのチェックを外し、「Start」を押します。
- Xperia Companionでソフトウェアの修復を選び、画面の指示に従って進めます。
- 修復が完了したら、Simple USB Loggerで「File」→「Save Log File」でログを保存します。
- C:\ProgramData\Sony Mobile\Update Engine\localstorage以下のフォルダに「FILE_」から始まるファイルがいくつか保存されているので、それを別のフォルダへコピーします。
- 4.で保存したファイルを5.でコピーしたフォルダに置きます。
- Flashtoolを開き、「File」→「Switch Pro」を選びます。
- 「Tools」→「Bundles」→「FILESET Decrypt」で5.でコピーしたフォルダのファイルを復号します。
- 「Advanced」→「USB log parser」を選びます。
- 「USB log file」でログファイルを選びます。「Source folder」は5.でコピーしたフォルダに作成された、「decrypted」フォルダを選んでください。
- 「Parse」を押せば[flashtool_data]\firmwares\Scriptsに「.fsc」として保存されます。
- 名前をビルド番号の先頭二桁にすれば完成です。
私の場合ベータ版を使うとXperiaを認識したのでそのまま進めたのですが、FlashtoolでFSCを作成するときに0バイトのファイルしか生成されませんでした。Xperia Companionの代わりにEmmaを使って生成した場合も駄目でした…。
上記手順で作成したFSCファイルは、Androxyde/devicesにPull requestを投げれば取り込んでくれます。(開発者が忙しいと放置されますが)