Do you prefer English? Please click here.
!!! 警告 !!!
端末の改造は自己責任であり、失敗しても責任は負いません。
ブートローダーをアンロックした時点でメーカー保証は消滅します。
実施する場合はそれらをよく理解したうえで行ってください。
- 中国版REDMAGIC 9 Pro+にグローバルROMを入れたい!
- システム弄ってたらブートループに陥ってヤバい!
……といったさまざまな状況がある。特にブートループに陥ってfastbootにも入れんみたいな状況下になってしまうと14万の文鎮を前に天を仰ぐ事になりかねん(経験談)が、物理的に壊れていない限りは復旧できるはずなので諦めないでほしい。
👇️👇️👇️👇️👇️
Redmagic 9 Pro | 9 Pro Plus (NX769J) 9.0.13 Global EDL ROM | XDA Forums
👆️👆️👆️👆️👆️
目次
準備するもの
- REDMAGIC 9 Pro/Pro+
- EDLで書き込むのでBLUしてなくてもいけるはずだが、大抵の人はBLU後にトラブってここに来ているのではないだろうかと思わなくもない。
- QFILが正常に動くWindowsPC
- どれだよ!!!という感じだがわからん。ドライバの相性問題がめちゃくちゃあるので本当にこればっかりは試すしかない。特にCPUがRyzenだと認識しないとのことだがこれもドライバを選べば認識するらしい……がIntelCPUのほうが確率が高いことに変わりはない。
- 相性の良いUSBケーブル
- これもどれだよ!!!という感じだがやはりわからんので色々と試すしかない。少なくともAnkerのUSB2.0 AtoCケーブルはうまくいった。
- QPST
- なぜか流出しているQualcomm内部向けの開発者ツール。QFIL単体版も出回っているが、QPSTとセットで入るQFILでないと動かんらしいのでQPSTを入れる。基本的に最新版を選べばいいが動かないなら過去バージョンを試すのも一手。
なおインストール先をデフォルトの C:\Program Files (x86)\Qualcomm\QPST\ から変更すると動かなくなるのでデフォルト設定で入れること。
QPST Tool - Qualcomm Product Support Tools (QPST)
- なぜか流出しているQualcomm内部向けの開発者ツール。QFIL単体版も出回っているが、QPSTとセットで入るQFILでないと動かんらしいのでQPSTを入れる。基本的に最新版を選べばいいが動かないなら過去バージョンを試すのも一手。
- Qualcomm HS-USB QDLoader 9008 Driver
- 色々なところに転がっているが以下のOtherのページでいい感じに配布してくれている。ありがたい。QuectelのほうはAMD環境でも動くらしい。
Re*Index.Lab | Powered by GitHub Pages & Jekyll
- 色々なところに転がっているが以下のOtherのページでいい感じに配布してくれている。ありがたい。QuectelのほうはAMD環境でも動くらしい。
- REDMAGICOS 9.0.13 Global EDL ROM
- QFILでの書き込みに対応するグローバル版ROM。
上記XDAにあるリンクと同じ
Redmagic9Pro_Global_9008.rar - Google ドライブ
- QFILでの書き込みに対応するグローバル版ROM。
- firehose.elf
- EDLで実行するプログラムが記載された重要なファイル。
XDAにアタッチされているもの、あるいはRM9 TOOLBOX(BLU記事を参照)に同梱されているres配下にあるものを使う。同じものなのでどちらでもいい。
Redmagic 9 Pro | 9 Pro Plus (NX769J) 9.0.13 Global EDL ROM | XDA Forums
- EDLで実行するプログラムが記載された重要なファイル。
EDLモードについて
Qualcomm Emergency DownLoad mode、略してEDLモード。
名前の通りQualcomm SoCに載っている機能で、端末が起動しない状態でも内部ファームウェアへのアクセスを実現するもの。これとQPSTのおかげでunbrickができるし悪さもできる。
REDMAGIC 9の場合、EDLモードのアクセスは簡単。
パワーオフ状態で、ボリュームキー上下を同時に押したままUSBケーブルを接続するだけでいい。あるいはadbが通る状態ならadbコマンドで入ることもできるが……
EDLが起動しても画面は真っ暗のままだが、デバイスマネージャーを見るとEDLで接続されていることがわかる。
EDLを終了するには電源ボタンを長押しすればいい。
書き込み手順
QPSTのインストールやドライバの導入については割愛する。
予備知識
書き込むべき場所やファイルなどの情報がXMLに記載されており、同番号のrawprogramとpatchが対応する。このROMの場合はそれぞれ0~5の6ファイルに分かれており、6つ全て書き込むことで完成する。
なおreprogramフォルダにもrawprogram0-5が入っており、中身を見る限りこちらのほうが書き込むファイルが多いが、こちらは使わなくていい。直下にあるほうのXMLで実際に成功している。
準備
作業フォルダは2バイト文字などを含まず、かつパスが長すぎない環境が好ましいため、Cドライブ直下に適当に用意するとよい。
Redmagic9Pro_Global_9008.rar を展開し、nubia9配下の色々入っている階層にfirehose.elfを入れる。
画像はフォルダ名を変更していることに注意されたい。
QFILで書き込む
QFILの使い方は次の通り
- Build TypeをFlat Buildにする
- firehose.elfを選択する
- rawprogramおよびpatchのXMLファイルを選択する
複数選択できるため0-5をまとめて選ぶ - XMLの選択が正しいことを確認
- 右下、ストレージをUFSにする
- EDLモードで端末を接続し、選択されていなければポートを選ぶ
- Downloadボタンで書き込み開始!動いてないように見えても待つ
- ログにFinish Downloadが表示されたら完了
手順6のタイミング……つまり書き込む直前に端末を接続する。これはEDLモードで繋いでしばらく経つとなぜかQFILがEDLを認識しなくなるため。理由はわからんがそうなっている。
旧情報: 一つずつ書き込む場合
*** XMLを同時選択できることに気づいてなかった時の話 ***
----------
一度書き込むとこれもまたQFILがEDLを認識しなくなるため、連続で書き込むことができない。しかし0~5を書き込む必要がある。
そのため上記の手順に続いて以下の方法を取る。
- USBケーブルを抜き、"音量上+電源ボタン"を11秒程長押しして強制再起動
- そのままボタンを押し続けてリカバリーに入る
- リカバリーからパワーオフする
- QFILで次のXMLファイルを選択(手順3,4)
- 手順6に戻る
これを全て書き込むまで繰り返す。QFILを再起動させる必要はない。
一度リカバリーに入っている理由だが、中途半端に書き込まれているせいでブートループになるものの電源長押しが反応する時間よりブートループで再起動がかかるほうが早く、無限に再起動を繰り返してしまう状態になるため。
rawprogram0/patch0から順番に(全て書き込む事が重要であって順番は関係ないのだが)書き込んでrawprogram5/patch5まで完了したら作業終了。
----------
完了後、普通に再起動させると初期セットアップが立ち上がる。
この時SAFE MODEで立ち上がってくる場合があるが、再起動させると通常モードに戻る。
また、起動に失敗してrebootを試すかデータをフォーマットするか聞かれる場合もあるが、その時はおとなしくフォーマットしてやると立ち上がるはずだ。
これでREDMAGIC OS 9.0.13が入るので、あとはアップデートして最新版にするなどすればいい。OTAアップデートも問題なく機能する。
補足情報
QFILのエラーについての補足
- ERROR: function: main:320 Uploading Image using Sahara protocol failed
- この場合、QFILがEDLを認識できていない。一度書き込んだあと連続して書き込もうとしてもこうなる。
端末の電源を落としてEDLモードで繋ぎ直す、ドライバを変える、USBケーブルを変える、QPSTのバージョンを変える、そもそも使うPCを変えるなど。
- この場合、QFILがEDLを認識できていない。一度書き込んだあと連続して書き込もうとしてもこうなる。
- Download Fail:FireHose Fail:FHLoader Fail:Process fail
- EDLへの接続は出来ているがfirehoseファイルに問題がある。別のfirehoseがあるならそれに変えてみる。
なおQFILのTools > Partition Managerで特定のパーティションだけ書き込みなどができる機能があるが、本記事で用意したfirehoseではダメらしくこのエラーが出る。ただしrawprogram0-5の書き込みには問題ない。
- EDLへの接続は出来ているがfirehoseファイルに問題がある。別のfirehoseがあるならそれに変えてみる。