sho-darpのWebsite

Walkman NW-A100の電池持ち改善のためにカスタムカーネルを導入してみた

Android Walkman

いきさつ

先日、中古でNW-A105というAシリーズの前機種のWalkmanを手に入れました。
Android OSを搭載しており、ストリーミングサービスを利用して音楽を聞くことが可能な端末になっています。

ただし、搭載CPUの最低クロック周波数が1.2Ghzという携帯型端末にしては高すぎるものとなっており、バッテリー持ちに悪影響を及ぼしています。(後継のNW-A300では改善とのこと)
音楽を再生する程度でも、ほんのり温かくなっていて1.2Ghzを肌で感じることができてしまいます。
そのため、OS側で一定時間無操作の場合に自動電源オフさせるというヤケクソ設定が用意されています。

バッテリー持ちに難がありという大きな欠点を抱えたWalkmanですが、
たまたまそれを解決できる方法があるらしいというのを見つけてしまったので、その方法としてカスタムカーネルを導入したメモとなります。
結論としてはなんとか成功して、かなりバッテリー持ちが改善されたことを体感できました。
カスタムカーネルを導入しようとする人への助けになれば、幸いです。

以降の手順は以下のページを参考にしています。
https://github.com/notcbw/2019_android_walkman/blob/main/README_JP.md

注意 カスタムカーネルを書き換えるという方法を取るので、最悪Walkmanが起動しなくなる可能性があります。
もし自信がない・不安がある場合は、素直にNW-A300シリーズを手に入れたほうが良いと思います。
試してみる場合は、自己責任でお願いします。

前提条件

今回はMac環境での成功を確認しています。
後述するfastbootコマンドを使用する際には、uuuコマンドが必要となります。
そのため、読み替えて実行してください。

事前準備

事前準備として、以下のコマンドが使用できるようにする必要があります。

  • adb
  • fastboot
  • uuu(Windowsのみ)

また、Walkman側で「開発者向けオプション」から「USB デバッグ」を有効にする必要があります。
加えて、手順の途中でWalkmanのデータが初期化されるため、大事なデータがある場合はバックアップを忘れないように注意です。

手順

ブートローダーのアンロック

PCとWalkmanを繋いだ状態で、以下のコマンドを実行します。

adb reboot bootloader

再起動後、SONYロゴが表示されたままとなっていればfastbootモードになっているはずです。
その状態でOEMロック解除を行うコマンドを実行します。

fastboot oem unlock

実行成功を表すものはありませんでしたが、参考ページにある通りしばらく待つ必要があります。
約8分とありましたが、念の為10分程度待ちました。
待ったあとに以下のコマンドで再起動を行います。

fastboot reboot

コマンド実行後、Androidの初期設定画面が表示されていればOKです。
この時点でUSBデバッグ状態が解除されているので、再度有効にする必要があります。

また、OEMロックを解除した時点で、再起動のたびにOEMアンロックされている旨のメッセージが出るようになりました。
しばらくするとそのままAndroidが起動しますが、気になる人は注意してください。

AVBの無効化

参考ページから「blank_vbmeta.img」をダウンロードしておきます。
それからfastbootモードに切り替えたあと、以下のコマンドを実行します。

fastboot --disable-verity --disable-verification flash vbmeta blank_vbmeta.img

何度か再起動されたあと、Factory Resetを行うか聞かれるので、行うように選択する。(Volでカーソル移動、電源ボタンで決定できます。)
もう一度再起動され、Androidが起動すれば成功です。
これでカスタムカーネル導入のお膳立てができました。

カスタムカーネルの導入

参考ページからビルド済みのカーネルをダウンロードしておきます。
今回はA100シリーズなので、「a100.zip」をダウンロードしました。 fastbootモードに切り替えたあと、以下のコマンドを実行します。

fastboot flash boot boot-a100.img

参考ページには記載がありませんでしたが、以下も実行する必要があるようでした。
以下を行わないと、CPU最低周波数の修正が確認できませんでした。

fastboot flash dtbo dtbo-a100.img

実行したあと、以下コマンドで再起動を行います。

fastboot reboot

再起動ができていれば、カスタムカーネルの導入が成功しているはずです。
CPUクロック周波数の確認にはCPU-Zを使用しました。
Clock Speedの項目が「200 MHz - 1.8GHz」となっていれば導入成功です。

その他

OEMロック解除を戻さない

先ほど書いた通り、OEMロックを解除した時点で再起動のたびにOEMアンロックされている旨のメッセージが出るようになってしまいます。
そのため、一通り作業が完了したあとに警告メッセージが出なくなると思ってOEMロックをしたところ、再起動を繰り返すようになってしまいました。
なんとかfastbootモードに入り、再度OEMロックを解除したことで事なきを得ました。
ちなみにfastbootモードはコマンドを実行する他に、端末のVol-ボタンと早送りボタンを押しながら電源をいれる操作でも入ることが可能です。

いったん起動してしまえば問題なさそうだったので、そのまま使用することにしました。

アップデートファイルは多分いらない?

参考ページに記載されているアップデートファイルについて、適用しないといけないものか正直わかりませんでした。
適用したため、バージョンが4.06へと上がりましたが何が変わったか不明です。

おわりに

文鎮化したらどうしようと思うこともあリましたが、なんとかカスタムカーネルの導入に成功しました。
NW-A300シリーズであればこんなことせずともよいのですが、この作業を通して端末に少し愛着が湧きました。
カスタムカーネルの作成者に感謝しながら、これからも音楽を聞きまくろうと思います。