再起動ループする Nexus 5X は冷やして温めると動き出すらしい。
なんだよ、その昔のブラウン管テレビとかの「写りが悪いときに叩くと直る」みたいなやつ。
と思ったので、調べてみると実はこういうことでした。
テックキャンプ無料カウンセリングはコチラから
先日アップした動画「本当は怖い「中古スマホ市場」の闇」の中で、故障して動かなくなったスートフォンをそのまま売りに出してしまう危険性についてお話しました。
その回避策として少しでも参考になるかと思い、今回その修理方法のひとつを紹介します。
ただし、すべてのケースでこの方法が有効なわけではありません。
また可能な限り調べたのですが、間違った内容が含まれているかもしれません。
もしも、この記事を参考にして作業した結果、スマートフォンが使用不可になったり、その他なにかしらの不利益があなたに生じたとしても一切責任は負えませんので、もし参考にする場合は完全に自己責任でお願いします。
もちろん、メーカー補償も一切ありません。
ということで、いってみましょう。
Nexus 5X 故障の原因。
電源が入れば、直して使えるんじゃないかと思ったのがきっかけ。
日本語の情報が少なくて挫けそうになりましたが、さすがはグローバルモデルの Nexus シリーズ。
海外での情報は豊富でした。
調べてみると Nexus 5X の再起動ループの原因には大きく2つあるようです。
1つは Android のアップデートの失敗。
こちらの修正方法は、強制的に初期化して bypass FRP という感じなので、ちょっとNGかな。
もう1つは Nexus 5X に搭載されているプロセッサの故障。
今回はこちらのプロセッサの故障した Nexus 5X の再起動ループから抜け出す方法を紹介します。
再起動ループの原因とは?
いろいろ調べてみてわかったことは、Nexus 5X のプロセッサは故障しやすいということです。
俗にBLOD=BootLoader Of Deth (死のブートローダー)とも呼ばれ、Nexus 5X のあるあるのようです。
日本での Nexus 5X は、2015年10月20日に Docomo と Ymobile から発売されました。
プロセッサは Snapdragon 808、ストレージは16GBと32GBの2種類が選べ、RAMは2GBという構成です。
Nexus 5X のプロセッサの Snapdragon 808 はヘキサコアと言われるコアが6つあるタイプのものなのですが、ARM Cortex-A57×2コア” と”ARM Cortex-A53×4コア” で構成されているというものです。
なんかツギハギみたいな感じですね。
再起動ループの問題はこのプロセッサの故障によるものらしいのはわかったのですが、その故障と温めるのに何の関係があるのと???が増えるばかりです。
行き着いた先は、さまざまなOSやモバイルについての情報を広く扱っている XDA Developers の記事。
読んでみると Nexus 5X と Nexus 6P は、同等な故障とその修理方法があるようです。
フォーラムの方にも参考になる情報がありました。
ふむふむ。
これらの記事をはじめとしてインターネット上にある情報を読み漁ってみると、故障の明確な原因は不明らしいですが、加熱と冷却を繰り返した結果、プロセッサ内部の回路 (というかハンダ?) が劣化し割れてしまうということのようです。
悪化すると電源すら入らなくなるっぽいです。
まぁ、開発・発売を急いだが故の設計ミスってことみたいですね。
LG Timer とかとも呼ばれているようですね。
で、故障してしまうと手も足も出ないのかというと、そうでもないらしく、いくつか方法が紹介されています。
中には電子レンジやアイロンでプロセッサや、基盤を熱して復旧するってのもありましたが、なんだか機械によくなさそうな気がしたので別の方法をでやってみることにしました。
でやってみたのが、基本的にはプロセッサを温めるというものですが、それを利用して4コアでだけで動作させるというもの。
Snapdragon 808 というプロセッサは、本来6コアで動作するプロセッサですが、高温になると4コア部分だけで動作するようになると…。
どうやら、負荷がかかり過ぎて高温になったとき、温度を下げるため負荷を減らすよう、動作させるプロセッサを限定させる機能があるようです。
これを利用して起動させるわけです。
後は、一度起動すればなんとかなるはずという感じですかね。
ですが、XDA の手順だと冷やしたり温めたり面倒だなぁ…とか思っていたら、
急速充電器で充電しながら再起動ループをさせていると5〜20分程度で4コアで動作するとの情報を入手。
さっそく試してみました。
室温およそ25℃の室内で、急速充電しながら再起動ループさせることおよそ15分。
再起動ループが止まりました。
よっしゃ!
でも Android のロゴから起動まで結構時間かかりましたね。
ちなみに、プロセッサが冷えると6コアで動作させようとするみたいです。
起動したと思い、Nexus 5X を充電器から外し、トイレ行ったり、飲み物用意しているうちにまたシャットダウンしていました。
はじめは画面のスリープかと思ったのですが、ちゃんと(?)電源は落ちていました。
後から気が付きましたが、このことは XDA の記事も書いてありました。
またこの機能は、プロセッサ温度がおよそ50℃以上で動作するっぽいです。
明確に計測したわけではありませんが、カスタムリカバリーの TWRP をインストールするとプロセッサ温度が表示されるようになります。
この機能が動作するときは必ず50℃以上だったので、おそらく機能のスイッチは50℃周辺にありそうです。
また、急速以外のスマートフォン用の充電器を使用した場合は、プロセッサ温度は上がっても30℃程度にしかならず再起動ループは止まりませんでした。
この方法は、あくまでも緊急措置的な機能なので常時使えるわけでありませんね。
とは言え一度でも Andoroid を起動させることができるのであれば、初期化することも OEM ロックを解除することもできます。
この方法で、きちんと初期化して中古品買取業者に売るもよし、4コアで動作させるパッチを当てて使い続けるもよしです。
コダシマは、再起動ループを修正しカスタムROMの道へと進みます。
再起動ループの修正。
XDA のフォーラムでは Nexus 5X と 6P の再起動ループの修正についてたくさん議論されており、有益な情報がたくさんありました。
その中で、故障したヘキサコアをクアッドコア部分だけで動作させるためのカスタムリカバリーの TWRP とクアッドコア動作用のパッチがありました。
4コアで動くなら、常に4コアで動くようにバイパスするためのパッチを使えば良いということのようです。
4コア用の TWRP とパッチは、その XDA のフォーラムから手に入れました。
ちなみに 4コア用の TWRP は Android File Host でも見つけることができました。
パッチは本来 Git からソースコードをダウンロードしてビルドしなきゃないみたいです。
コダシマはラクをしたいので XDA のフォーラムで用意されていたものを使います。
XDAの手順の再現。
っと、その前に再現性を確認しようと思い、同じく再起動ループで使えなくなった別の Nexus 5X を放電させて放置していました。
同じ手順で試そうと思ったらすんなり起動してしまいました。
状況的にこの端末の場合は、 XDA のフォーラムにあった 手順が偶然にも再現されたようです。
どういうことかというと、
- XDA の手順では、
- デバイスを過冷却
- カメラの周りの過熱
起動する前にバッテリーを完全に使い切る
が条件となっていましたが、
- デバイスを過冷却⇒寒い室内(当日の室内は0℃、ちなみに外気は-6℃の日でした)
- カメラの周りの過熱⇒急速充電器で充電しながらの起動、カメラ周りにプロセッサがあるため、充電しながら動作させると温まります。
- 起動する前にバッテリーを完全に使い切る⇒放電放置
という具合に偶然条件が整ったようです。
何れにせよ、再現性の高い情報だということがわかりました。
OEM ロック解除。
話は少しそれましたが、いずれにしろ一度起動してしまえばこっちのもの。
カスタム ROM を導入するために OEM ロックの解除をします。
初期化の場合には、インターネット上にたくさん情報が公開されているので、今回ここでは省略します。
で、OEM ロックの解除は「設定」>「システム」>「端末情報」>「ビルド番号」を7回タップし、「開発者向けオプション」を有効化させます。
次に「設定」>「システム」>「開発者向けオプション」>「OEM ロック解除」で準備完了です。
と言いたいところですが、実際にはまだ OEM ロックがかかっている状態です。
これをちゃんと解除するには PC と接続して操作する必要があります。
PC 側での準備。
PC 側でも Nexus 5X をいじくる準備が必要です。
ADB および Fastboot をインストールします。
コダシマは Linux 環境で操作します。
Windows 環境はよくわかりません。ゴメンナサイ。
ちなみにディストリビューションは Ubuntu です。
Debian 系のディストリビューションの中には、初めからインストールされているものもありますが Ubuntu の場合はインストールが必要です。
使っている Linux で adb と fastboot がインストールされていなければ、Debian 系であれば次のコマンドでインストールできます。
$ sudo apt install android-tool-dab
$ sudo apt install android-tool-fastboot
このコマンドを実行すると必要な環境が準備できます。
ちなみに Synaptic パッケージマネージャとかでもインストールできます。
環境が整ったら、電源の切れた状態の Nexus 5X を Fastboot モードで起動させます。
起動方法は「電源」+「音量(↓)」でブートローダーが起動します。
この状態で Nexus 5X を PC に接続します。
接続したら PC 側ではターミナル(端末・コンソールとも呼びますね)を起動させ
$ fastboot oem unlock
を実行すると、スマホ側では「Unlock bootloader?」の画面が表示されます。
音量ボタンで操作し、電源ボタンで決定します。
これで、今度こそ OEM ロックが解除でき、いろいろいじくりまわせるようになりました。
ちなみに OEM ロックを解除すると、データのたぐいは初期化されてしまいますので注意してください。
カスタムリカバリーの導入。
まず、先ほど用意したカスタムリカバリーを焼きます。
これも4コアのみで動作するようビルドされたものです。
PC 側、パッケージのあるディレクトリで端末を開くか、ターミナル上でイメージデータのあるディレクトリまで移動してコマンドを実行します。
$ fastboot flash recovery twrp-3.2.1-0-be-4core-bullhead.img
これで、Factory Image でもカスタム ROM でもインストールしやすくなりました。
と思ったのもつかの間、パスワードを聞かれました。
どうやら Bootloader をアンロックしたあと、TWRP を書き込む前にデバイスを一旦再起動しない場合にパスワードを聞かれるようです。
いったいなんのパスワード???と思いましたが、なにかしら設定した覚えのあるパスワードか、それがだめなら「default_password」、それでもダメならユーザーデータの初期化です。
今回は初期化をします。
パスワードの入力画面を一旦「Cancel」で進み、「Wipe」の項目から、一度「Swipe to Factory Reset」を実行(画面下の▶▶▶を右にスワイプ)し、次に「Format Data」をタップ。
やってもいいなら「yes」って入力、みたいな画面が出るので、「yes」を入力し「✓」をタップ。
すると、TWRP が起動した際にパスワードを聞かれなくなります。
これでようやく TWRP にアクセスできます。
カスタムROMを焼く。
今回選んだのは、カスタム ROM の中でも人気が高く、たくさんのユーザーが使っている LineageOS です。
以前このチャンネルでは、その PC 版をノート PC にインストールしたことがありますので、興味のある方はそちらもチェックしてみてください。
XDA のフォーラムでは LineageOS の BLOD 版も手に入りましたが、これだけじゃ動作しませんでした。
ボクの手順が悪かったのかな?
なので、非公式ではありますが普通の(?) LineageOS をダウンロードしました。
LineageOS の公式サイトだと 15.1 まではあったようですが今の 17.1 に Nexus 5X のものはなくなり有志の開発する非公式版のみとなっています。
XDA を探してみるとフォーラムの中に開発プロジェクトがありました。
Github でも見つけました。
Android File Host でも見つけました。
LineageOS だけだと Play ストアとか使えないので、OpenGApps もダウンロードします。
OpenGApps からは
- Platform: ARM64
- Android: 10.0
- Variant: Pico
を選択してダウンロードしました。
各項目の詳細は次の通りです。
Platform
デバイスのアーキテクチャを選ぶ項目です。通常は ARM か ARM64 ですね。
- ARM: 32ビット HP チップセットプラットフォームの一種で、通常は古いHP出力(2016以下)で使用され、ミッドエンドおよびローエンドクラスです。ARMv7 または Armeabi を使用できます。
- ARM64: 64ビットをサポートしている HP チップセットプラットフォームの一種で、現時点で最も広く使用されています。2016年以降の HP 出力の平均サポート。ARM64 または AArch64 を使用できます。
- x86: Intel チップセット出力の一種です。最も有名なものの1つが ASUS Zenfone(Intel ATOM)です。
- x86_64: このタイプのプラットフォームはめったに見つかりません。通常、Android エミュレーターに使用されます(アプリケーション開発者のニーズに対応)。
Android
Android のバージョンは以下のとおりです。カスタム ROM がどのバージョンに相当するか事前に確認しておくと良いでしょう。
- Android 5.0 Lollipop
- Android 5.1 Lollipop
- Android 6.0 Marshmallow
- Android 7.0 Nougat
- Android 7.1 Nougat
- Android 8.0 Oreo
- Android 8.1 Oreo
- Android 9.0 Pie
- Android 10.0 Q
Variant
含まれるアプリケーションの数によって選ぶバリアントが変わります。個人的には Pico を選び、後から必要なアプリケーションを追加したほうがスッキリしますね。
- aroma: このバージョンは、インストールするアプリケーションをカスタマイズしたい方のためのものです。
- super: GApps の最も完全なバージョンです。キーボードなど、他にもさまざまな追加機能があります。
- stock: このバージョンの Stock には、現在の HP と同じ数のアプリケーションがあります。アプリケーションサポートの例は、VR サービスと印刷サービスです。
- 最近のデバイスに推奨されるパッケージには、最新の Nexus フォンに標準装備されているすべての Google アプリが含まれています。
- full: Google のアプリケーションをさらに必要とするユーザーを対象としています。
- mini: GApp のミニバージョンのアプリケーションの完全性です。最適化された携帯電話で一般的に見られます。電卓、デスク、メッセージなどの追加のアプリケーションがいくつかあります。
- micro: マイクロには、カレンダー、Gmail、Google Now などのいくつかの追加の Google アプリケーションがあり、これらは nano よりも完全です。
- nano: Pico とほぼ同じです。ただし、Nanoバージョンでは、自動的にインストールされる他のいくつかのインストールオプションを取得できます。
- pico: バリアントのタイプは彼の最小サイズです。基本的な HP 機能用の Google アプリケーションのみがあります。
- tvstock: tvstock (TV Stock) は、スマート TV 用の GApps の特別バージョンです。携帯電話については、用途が異なるため選択しないでください。
- tvmini: tvstock のミニバージョンです。tvstock 同様に特別バージョンなので、携帯電話につては、用途が異なるため選択しないでください。
インストールされるアプリの一覧です。
ちなみに SourceForge だとテスト版ですが Android 11.0 用も手に入ります。
他のデバイスで LineageOS 18.1 とか Android 11.0 相当をインストールする際に使って見てください。
けっこうちゃんとしてました。
後は先ほどダウンロードしていた4コアパッチを Nexus 5X に転送します。
- LineageOS 17.1
- OpenGApps
- 4コアパッチ
コマンドで転送する場合は以下のコマンドを実行します。
$ adb push [転送するファイル名]
ADB環境が整っているとファイルの転送はコマンドでもいけますが、ドラッグ&ドロップでもできます。
で、
コダシマはここで LineageOS と OpenGApps を先にインストールし、パッチは後からインストールしました。
なんか、OS を書き込んでからパッチを当てた方が良さそうな気がしてそうしましたが、おそらくインストールの順序さえあっていればパッチも一緒にインストールして大丈夫だと思います。
ここで注意なのですが、常時4コアで動作させるパッチをあてるため、ループからは抜け出せてもヘキサコアのパフォーマンスは取り戻せません。
デバイスを動作させることが目的となります。
また、故障や劣化がプロセッサ、特にA57部分以外の場所にも及んでいる場合には治らないです。
ということで、結果は如何に?
Nexus 5X 4コアで復活!
無事に Nexus 5X が起動しました!
Android のバージョンも 10.0 です!
Play ストアもあります!
プロセッサの状況が気になったので Geekbench をインストールしてスコアを出してみました。
当たり前ですがちゃんと4コアで動作し、6コアで動作するものよりも随分低かったですね。
というか Nexus 5 よりもスコアが低かったです…。
パッチを当てた Nexus 5X
故障していない Nexus 5X
Nexus 5
Nexus 5X は ARM64 なので、他のカスタムROMではまだ現役だったりするので、もうちょっといじってみたいと思います。
まとめ。
今回のまとめです。
今回は再起動ループで文鎮化した Nexus 5X を起動させてみました。
故障して再起動ループを繰り返す Nexus 5X は温めてループを一時的に抜け出し、その間に初期化なり OEM ロック解除なりができます。
ちゃんと初期化できれば、売りに出せますね。
また、OEM ロック解除ができれば、パフォーマンスは落ちるもののパッチを当てたりして使い続けることができます。
全部のデバイスがどうにかなるわけではありませんが、ものによっては修理して使うことが出来きます。
万が一壊れてしまった場合、悪あがきしてみてもいいかもしれません。
おまけ。
Pixcel Experience もインストールしてみました。