2022年5月20日金曜日

Moto Edge 20 fusion の /system/productをいじる

 実にくだらない失敗と、その解消法の覚書き。

/system/product 以下にあるファイルを書き換えようと思って、いつも通り、読み書き可能権限で /system をリマウントしようとしたところ…

# mount -o rw,remount /system

mount: '/system' not in /proc/mounts

こんな感じのエラーが出て上手く行かない。/proc/mounts に無いってどゆこと?

ちょっとググってみたところ、XDAあたりに「/system じゃなく / をリマウントするんだよ」的な記事を発見。早速試すとコマンドは通る。通るが実際は Read Only のままで編集できない。なんでじゃー!?

と、ここでフと胸騒ぎがして、ls -l してみると…

# ls -l /system/product

(略) /system/product  ->  /product

はい、そういう訳で、正しいリマウント方法は、

# mount -o rw,remount /product

でしたとさ。めでたし、めでたし。

あ、皆様、rwで作業した後は、くれぐれも ro,remount で元に戻すこともお忘れなく♪

2022年3月23日水曜日

Moto Edge 20 fusion を root化する

モトローラのスマホ、motorola edge 20 fusion を買いました。当然、root端末として運用することが前提です。

以下の手順でroot権限を取得しましたので、再作業時に備えてメモを残します。

※私的メモにつき、ここに書いてることを誰かが真似したとしても私は一切感知しませんし、質問等も受け付けません。あくまでこれは、私個人のメモです。


■OEMロックの解除

bootloaderアンロックの下準備として、端末のOEMロックを解除しておく必要がある。

まずスマホを起動し、「設定 > 電話情報 > ビルド番号」を探す。(蛇足:作業開始時点で、私の手元端末はビルド番号 RRK31.Q3-19-54であった。)そのビルド番号表示を7~8回連打し、設定されているPINやパターンを入力すると、開発者向けオプションが有効となる。

続けて「設定 > システム > 詳細設定 > 開発者向けオプション」を開き、OEMロック解除をONにする…

のだが、ここでちょっとしたつまづき。

OEMロック解除ONの操作を試みたものの、私の手元端末は当該項目がグレーアウトしていて操作不能の状態。不審に思って色々と調べてみた結果、どうやらモトローラ製のスマホは、初回電源投入から一定時間経過しないとOEMロックを解除できない仕様となっているらしい。なんじゃそりゃ?

グレーアウトが解消されるまでの時間は概ね3日前後らしいが、明確な情報は無し。仕方ないので作業中断してひたすら待っていると……私の手元端末については、初回電源投入から54時間ほど経過した辺りでいつの間にかOEMロック解除操作が可能となった。

(蛇足:グレーアウト解消までの間に2回ほどOTAシステム更新があり、この段階で端末のビルド番号は RRKS31.Q3-19-98-1に更新されている。)


■StockROMの作成

今回は Magisk でパッチを当てた boot.img を焼き込む方法でroot化する。そのためにまず現段階での edge 20 fusion のStockROMを作成する。(boot.imgはStockRomの中のものを抜き取って使用する)

モトローラ製スマホのStockROMを作るには、Lenovo公式ツール「Rescue and Smart Assistant」を使うのが一番確実。まずは Lenovoのサイトから最新バージョンをDLしてPCにインストールを実行した。

起動すると何やら中華フォントが怪しい感じの画面になるが、そこは気にせず USBケーブルで PCと edge 20 fusion とを接続し、「救助」タブから端末のバックアップを行う。画面デザインや操作手順はバージョンによってかなり変わるようなので、その時々で随時判断すること。個体識別用にIMEIを要求される場合は、edge 20 fusion の「設定→電話情報→IMEI」で確認できる。

StockROMの抽出が成功すると、「C:\ProgramData\RSA\Download\RomFiles\」の下に edge 20 fusion の中身が保存されているので、後で使う boot.img の場所を確認しておくこと。

■bootloaderのアンロック

無事にOEMロック解除をONにし、StockROMの準備もできたら、次はスマホをPCにつなぐ。(作業に用いるPCには対応するUSBドライバがインストールされており、かつ、adbとfastbootが利用できることが前提となるので、必ず事前に準備しておくこと。)

edge 20 fusion の画面に表示されるUSBデバッグ可否確認は当然許可すること。私の場合は自宅PCでの作業であった為、フィンガープリントを確認して常時許可することにした。

続いてPC上でコマンドプロンプトを開き、以下のコマンドを入力。


> adb reboot bootloader


edge 20 fusion が fastbootモードで再起動するので、さらにコマンド実行。


> fastboot oem get_unlock_data


するとOEMロック解除用のコードが出る。

コードはヘッダ部分を除けば31桁×5行のフォーマット。これを適当なエディタ等にコピーした後、ヘッダや改行を取り除いた155桁×1行のコードに編集しておく。

解除コードの準備が終わったら、モトローラのデバイスアンロック用サイトを開く。

サイトにサインアップかログインを行った後、STEP 2 のフォームに前段で準備しておいたコードをコピー&ペーストで入力。legal agreement(法的合意)に同意すると、端末保証の失効と引き換えに、サイトログインアカウントと紐付いたメールアドレス宛に20桁のアンロックキーが送信される。このキーをコピーしてコマンドプロンプトから、


> fastboot oem unlock XXXXXXXXXXXXXXXXXXXX


コマンドが通ると edge 20 fusion の画面にメッセージが出るので、電源ボタン上下で「unlock」を選択し、電源ボタンで実行。

再起動した後の fastboot画面上に「flashing_unlocked」の表示があれば、bootloaderのアンロックは完了である。

なお、この段階で  edge 20 fusion は初期化されている。USBデバッグモードも解除されているため、とりあえずPINだけ設定した状態で端末起動し、開発者モードとUSBデバッグの有効化を実施しておくこと。


■boot.imgに Magisk でパッチを当てる

Magis 公式ページから Magiskの最新版を入手する。私が作業した時には、 v24.3が最新版であった。

併せて StockROM から boot.img ファイルをコピーし、Magisk.apk と共にSDカードに保存。このSDカードを edge 20 fusion に挿入し、まず Magisk.apk のインストールを行う。

続けて Magisk を起動し、ホーム画面から「Magisk→インストール」を実行。「方法→パッチするファイルの選択」でSDカード内の boot.img ファイルを選択して「はじめる」を押下すると、選択したファイルを元にしてMagiskが root権限を仕込んだパッチ済 boot.img ファイルを生成してくれる。

パッチ済boot.imgファイルは「/storage/emulated/0/Download/magisk_patched-xxxxx_xxxxx.img」として出力されるので、これをSDカードにコピーしてPCに戻す。


■パッチ済 boot.img をフラッシュする

いよいよ最終段階。

edge 20 fusion をfastbootモードで再起動(ADBコマンドでもボリューム下+電源ボタンでも方法は任意)してUSBでPCに接続。

PC側はパッチ済 boot.img ファイルを任意のフォルダ(仮に"C:\xxxx"とする)に配置した上で、コマンドプロンプトから下記コマンドにてbootパーテーションをフラッシュする。


> fastboot flash boot_a C:\xxxx\magisk_patched-xxxxx_xxxxx.img

> fastboot flash boot_b C:\xxxx\magisk_patched-xxxxx_xxxxx.img


edge 20 fusion はデュアルパーテーション機であるため、A/B両方のスロットに対してフラッシュを行ったが、心配ならばまずは一旦、現在アクティブとなっている方のスロットだけフラッシュして見ても良いかと思う。(どちらがアクティブかを調べる方法については省略) 

いずれにせよ、正常にフラッシュ出来たならば、いずれのスロットも4~5秒程度で Finished. の応答が帰って来る。

無事完了すれば、edge 20 fusion をリブートする。


> fastboot reboot


■確認

edge 20 fusion 再起動後、Magiskを開き、ホーム画面の「Magisk」「アプリ」の両項目ともインストール済表示になっていれば成功。

root権限は取れているはずである。


以上、今回はROM焼き等を行いたい気持ちも無く、単にroot権限だけを取得したかっただけなので、TWRPは用いずにMagiskだけで作業を行いました。

参考に見て回った方のサイトの情報では、現在、MagiskはTWRPを用いないこの方法を推奨しているそうです。

2022年3月19日土曜日

15秒でADBをインストール出来なかったので

 新たに Windows 10 構築したPC環境にADB環境を構築しようと、いわゆる 15 seconds ADB Installer を使用したところ、「指定されたパスが見つかりません」とのエラーが発生してなかなか前に進めなかった。

普通にバッチファイルなら直接中身を見て求められてるパスを確認するのだが、exeファイルゆえにそれも出来ず…と困っていたのだが、結論、足りないのは以下のフォルダであった。


C:\Users\"ユーザー名"\Desktop


このDesktopフォルダを作ってやるだけであっさり15秒インストールできたので、いつものように個人的メモとして記事に残します。

なお当然ですが質問等は一切受け付けません。断固としてお答えいたしません。意地悪ではなく、ひとつでも例外を作ってしまえば、後々に向けて「ひょっとするとまた答えてくれるのでは?」という期待を持たれてしまうからです。ごめんなさい。

2018年10月5日金曜日

Huawei P20 Lite の root権限取得 と Xposed導入

6年以上放置しているので誰も見てないとは思いますが、作業メモがてらに書き残しておきます。

Huawei P20 Lite を買いました。
当然、root端末として運用することが前提です。
以下の手順で作業しました。
※私的メモにつき、ここに書いてることを誰かが真似したとしても私は一切感知しませんし、質問等も受け付けません。あくまでこれは、私個人のメモです。


■root化

2018年10月現在、Huaweiに問い合わせてもbootloaderのアンロックコードは教えてもらえなくなった為、DC-Unlockerに4ユーロ払ってクレジット購入。
DC-UnlockerクライアントからUSB経由でP20 Liteの中身を読ませ、アンロックコードを取得。

取得したコードを使い、fastbootコマンドから「fastboot oem unlock (アンロックコード)」でブートローダロックを解除。
※アンロックすると端末初期化されるっぽいので、必要に応じてバックアップをとっておくこと。

続いてTWRPの導入。
P20 Lite用のTWRPはここからダウンロード。
使ったイメージファイル名は「twrp_p20_lite_0.1.img」。
fastbootコマンドから「fastboot flash recovery_ramdisk recovery.img」みたいな感じで書き込み。
※なお、この方法でTWRPを導入しても、USBケーブルつないだままでリカバリ起動したら、TWRPではなく標準EMUIのリカバリが起動するので注意。
TWRP使う時は、USB外した状態から「ボリュームボタンの上」を押しっぱなして起動すること。

リカバリ起動したら念のため全体バックアップを取得。

続いてroot取得。SuperSUって時代じゃないらしいので、Magiskを使う。
Magiskの最新版はここから取得。本作業時点では「Magisk-v17.1.zip」。
adb pushコマンドで、P20 Lite のストレージ上の適当な場所にMagisk-v17.1.zipを送り込んでおいて、TWRPのINSTALLボタンからインストール作業実施。

再起動してroot取れてれば完了。
ついでにMagisk Managerとか入れておくと幸せになれるかも。

■Xposedの導入

ここから先は何度も失敗して、bootloopに陥ってはTWRPからバックアップイメージをリストア、といった作業を繰り返したけど…最終的に成功したのはこの動画で紹介されているやりかた。

まず、Magisk用のXposedInstallerを端末ストレージにダウンロード。
作業時点で使用したファイルは「XposedInstaller_3.1.5-Magisk.apk」で、ここからダウンロードしたもの。
次いで、xposed-v90-sdk26-arm64-beta4-test1.zipを端末ストレージにダウンロード。入手元はここのスレッドのどこかにあったもの。公式にリリースされたものじゃなく、文字通りのテスト版?なのか、2018年10月5日現在、スレッドトップ等で紹介されている様子は無い。

※この3.1.5インストーラと、v90-sdk26のbeta4テスト1版との組み合わせがミソである様に思われる。他のバージョンの組み合わせもいろいろ試したが、上記組み合わせ以外だとbootloopするだけだったので…

まず普通に端末を起動して、XposedInstaller_3.1.5-Magisk.apkをインストール。
(野良アプリ扱いなのでインストールできない警告が出たら、権限付与すること)
そのまま何もせず端末再起動して、TWRPを起動。INSTALLボタンから、xposed-v90-sdk26-arm64-beta4-test1.zipをインストール。
インストール完了したら、即Reboot。キャッシュとかのワイプは要らないっぽい。

端末再起動すると、Huaweiのロゴが出たまま、しばらく応答がなくなる。
体感で5~10分ぐらい。ブリックしたかと心配になるが、bootloopにはならないので、ただひたすら待つこと。
(この方法以前に失敗した時は、Huaweiロゴ十数秒→リブートがかかる、の繰り返しだった)

じっくり待ってるとHuaweiロゴが消え、端末が起動する。
ここまで来たらまず成功。念のためXposedインストーラーを起動し、有効化されてれば作業終了。

■これでXposedフレームワークが使えるようになる?

さて、それはどうだろう?
確認できたのは、Xposed導入後でもP20 Liteがbootloopに陥らず、ちゃんと起動してフレームワークも有効表示になっている、ということだけ。
それぞれがちゃんと機能するかどうかは、ここれから確認します…

2018/10/09 追記
いくつかモジュール導入して試しましたが、動いてます。
ただ、Gravity Box等、モジュールとしては導入可能であるものの、設定項目が反映されなかったり動作が不安定になったりするものもある為、そのあたりは注意して運用する必要アリ。
何をするにもバックアップは大事。慢心してはイケナイ。

2012年4月30日月曜日

最近、競馬にハマってます

前から思いついた時にチョコチョコと馬券を買ってみたりはしていたのですが、ここ最近、すっかりハマってしまって、毎週のように競馬を楽しんでいます。

 とはいえ、ギャンブルにはとにかく弱いこの私。 ドカーンと大勝負に出る度胸も資金もありませんので・・・馬券を買ったところで、せいぜいその日のメインレースに最大1,000円程度。
 流行りの3連馬券などには目もくれず、もっぱら単・複・ワイドのローリスク・ローリターン勝負ばかりです。

















 モットーは「勝つ競馬」ではなく「負けない競馬」。
 好きな馬を応援すること。 自分の推理とその結果を楽しむこと。
 たとえ日曜日が休めず、辛い現場作業を強いられたとしても、土曜日にじっくり考え抜いた馬券がポケットに入っていれば、それだけで夕方までドキドキ感が持続します。

 ましてやそれが的中して、たとえ数百円でもプラスになってくれたら・・・!

本気で勝負している人から見れば、きっとヘタレな競馬ライフなのでしょうが、それでも楽しめちゃうのが競馬の懐の深さでもあります。
 春の天皇賞は負けちゃったけど、今年に入ってからは未だにトータル、プラスを維持できてますしね!

2011年11月8日火曜日

GalaxyS2(SC-02C)用のビックリマークを消す

ずいぶんと更新の間が開いてしまったけど、その間にGalaxyS2(SC-02C)にもいろんなカスタムROMやカーネルが出回りはじめ、なかなか楽しい状況になってきている。
 
私自身もroot化だけでは飽きたらず、いろんなカスタムカーネルを試してみたりしているのだが、焼いたり煮込んだりを繰り返していると、どうしても避けられないのが起動画面のビックリマーク。

Samsung製のオフィシャルROMではなく、改造が施された端末であることを示すための警告表示で、それ自体は全くの無害なのだが・・・なにぶん見た目が「いかにも!」なカンジで、個人的にはあんまり嬉しくない。
 
おそらく改造品を補償修理させないための識別措置だとは思うのだが、だったらダウンロードモード時のCustom表示&焼き込み回数カウントでも十分なのではないかと小一時間・・・

ともあれ。
なんとも気にくわないこのビックリマーク。
ならば強引にでも消してしまおう、という訳で、ROM焼き記録を強制的にクリアさせる為のハードウェア(?)、jigを作成してみた。

※注意:某巨大掲示板に上がっていた話によると、たとえjigで記録をリセットしても、Docomoに持ち込めば過去のROM焼き履歴はバレるらしい。
よって、改造品を補償修理してもらおうなどという不埒な目的にjigを使用しても無駄であるし、そんな逃げ道にすがりつこうとする輩は、そもそもROM焼きに手を出すべきではない。
全ては"At your own risk"であることを、先に警告しておきます。


jig作成に必要なもの、そのいち。
microUSBのコネクタ。
SC-02Cの充電などに使うのと同じ規格のもので、micro-Bというヤツだろうか。
とにかく端末にブスっと差し込めるものが必要となる。
右の写真は私が用意したもので、miniUSBをmicroUSB化するための変換アダプタ。
日本橋のパーツショップで、1個\150で購入。







そのに。
300KΩの抵抗器。
microUSBの4番ピンと5番ピンをこの抵抗器でつないでやると、jigになる。
上と同じく日本橋のパーツショップで、バラ売り1個\10で購入。

電子パーツを見慣れない人には、虹色のシマシマ模様だけでも敷居が高く感じられるかも知れないが、カラーコードは一覧表に照らせば、誰にも簡単に読める。
ちなみに写真のものは、橙(3)、黒(0)、黄(×10,000)、金 (誤差5%)で、300,000=300K、誤差プラスマイナス5%である事を示す。


材料はこの2つだけ。原価、実に\160である。
あとは工具箱から取り出した道具の紹介。


右は近所のホームセンターで10年ぐらい前に購入した、ホビー用のはんだごて。
電熱式で、たぶん\700~\800くらいの安物。
今回の作業はこんなんで十分。

しっ、仕事ではもうちょっといいやつを使ってるんだからねっ!


左が電子工作用の糸ハンダ。
チョン、チョンとつけるだけだから、細めの方が扱いやすい。

右はハンダ吸い取り線。ソルダーウィッグとも呼ばれる。


極細の銅線を編みこんだテープで、余分なハンダの上に押し当てると、ジュワっと吸い取ってくれる。
別に無くても作業はできるが、あった方が便利だし、安心できる。






さて、作業開始。
まずは変換アダプタの外側ケースをナイフで割って、中からmicroUSBコネクタをほじくり出す。


jigに使うのはこっち側だけ。
反対側のminiUSBは不必要なので、チョン切ってゴミ箱に投げ込んだ。
割ったケースは再利用するのでとっておく。








コネクタの各ピンにハンダ付けされている線を全て取り除く。

作業自体は全然むずかしくないが、なにしろ小さな部品&細い線なので神経を使う。
ピン上に残った余分なハンダが流れて、隣のピンと短絡せぬよう十分注意。
挿した瞬間、ショートしてボン!なんて事故は避けたいからね。

今回は慎重を期し、余分なハンダは吸い取り線でていねいに除去しておいた。




線が全部取れたら、4番ピンと5番ピンに抵抗器をハンダ付けする。

microUSBのピンアサインは、WikipediaのUniversal Serial Busの項目を参考にするといい。

なお、抵抗の特に向きは決まってないので適当に。足の長さも作業しやすい程度にカットしてOK。
ピンを間違えたり、隣と短絡させたりしないようにさえすれば大丈夫だ。




ここまでの作業が終わったら、後は割ったケースの中にコネクタを戻し、接着剤なりビニールテープなりで蓋を閉じてやれば完成である。
ほんと、電子工作と呼ぶのもおこがましいほど簡単な作業でjigは作れてしまう。

どうしてもこの手の工作が苦手だという人は、オークションサイト等で完成品を入手することも可能だが・・・1個\600~\1,000ぐらいするらしいので、その点は納得のゆく人だけ、ね。

最後に完成したjigの使い方。

まずGalaxyS2(SC-02C)の電源を切り、万が一に備えてSIMとSDカードを抜き取り、バッテリーだけが装着された状態にしておく。。

次に電源が完全に切れている状態のSC-02Cに、jigをブスっと挿し込む。
(スクリーンOFFを含め、電源が入っているところに挿すと壊れてしまうので、絶対にやらないように。)

すると、電源ボタンに触れていないのにSC-02Cの電源が勝手に入り、そのままダウンロード(ODIN)モードで起動する。起動が完了したら、すぐにjigを抜き取る。

以上でミッションコンプリート。ODIN画面上部に、

CUSTOM BINARY DOWNLOAD: NO
CURRENT BINARY: SAMSUNG OFFICIAL


の表示が確認できれば、ROM焼き履歴はリセット済みということである。
この後、再起動させてみたのが下の写真。

ちょっとブレてしまっているが、ビックリマークは見事に消えている。
これでもう、目障りな黄色にイラっとさせられることもなければ、人前でリブートかけた時に変な顔をされる心配もない。




2011年7月6日水曜日

GalaxyS2(SC-02C)バッテリー消費を押さえる基本の“キ”

う~ん、なんかGalaxyS2に限らず、スマホのバッテリー消費に悩んでいる人、多いみたいね。
特にこの夏モデルで、ガラケーから初めて乗り換えた人。
たぶん感覚的にスマホ=高性能な携帯電話だと思っているのだろうけど、実態はちょっと違う。スマホは確かに携帯電話としての機能を備えているけど、機械としての特性は、モバイルPCやPDAのそれに近い。
よって、残念ながらガラケーの常識は通用しない。

たとえばノートPCを起動させたままで持ち歩いたとして、バッテリーは何時間ぐらい保つ?
Galaxyにいろんなアプリをインストールし、WiFiやらGPSやらを稼働させたままで持ち歩くというのは、電源入れっぱのPCを持ち歩いているのと似たような状態なのだ。
だから、そもそも「無充電で2~3日使える」と考える方が間違い。哀しいけれど、それがスマホの現実だ。

(とはいえ、カタログには「待受け640時間」とか書いてあるから、誤解するのも仕方ないんだけどね。あれはあくまで「電話」のみ使用、他のアプリや機能は全部KILLし、画面もOFFにした上で放置した場合の数値と思っておいた方がいい)

そんなGalaxy S2のバッテリーを少しでも長く保たせるにはどうしたらいいか。
その基本中の基本を、以下にざっとまとめておく。


1.画面輝度は極力落とす

いかに低消費電力な有機ELディスプレイとはいえ、高輝度の表示を続ければバッテリーを大きく消耗する。
もともと視認性の高さがウリでもあるので、ここは極力輝度を落として、電力消費を抑えたいところ。実用性だけなら屋内で20%以下、屋外の日陰なら60%ぐらいでも十分なハズだ。
なお輝度のオート切り替えはあまりアテにならないので、OFFすべし。


2.使わないWiFi、Bluetooth、GPSは切る

ONにしたままだと、定期的に接続先をスキャンしてバッテリーを喰う。
使いもしないのにずっとONにしておくのは、電力をドブに捨てているようなものだ。

メニューやガジェットから簡単にON/OFFできる機能なので、基本的には常時OFF、使用時のみONぐらいの気持ちでちょうどいいかも知れない。
 
特にGPSを入れっぱにしている人が多いみたいだけど、上空のGPS衛星が見えない屋内や地下では、いくらONにしてても無駄だからね。









3.無用のサービスはKILLするか、アプリごとアンインストールする

夜、何もせず置いていただけなのに、一晩でバッテリーが10%以上減ってるという人は、一度、見えないところで無用のサービスが走ってないかを確認した方がいい。

設定 > アプリケーション > 実行中のサービス でも確認できるが、より詳細に調べるには専用のアプリを使うのがベター。私は Super Task Killer を使っているが、他にもたくさん種類はあるから、どれを使うかはお好みで。


確認し易いタスクと違い、水面下で知らないうちに妙なサービスが動作しているケースはけっこうある。
特にプリインストールアプリ関連とかね。
どれが何の機能を果たしているかを慎重に見極めた上で、無用と判断したなら、KILLするかアンインストールしてしまおう。
(この辺りはあくまで自己責任で)




4.いらないガジェットやライブ壁紙は片付ける

便利だからとついつい画面に並べてしまいがちだが、ガジェットは常駐してずっと動作し続けるので、数多く使えばそれだけ電力を消費する。
ライブ壁紙もかなりバッテリーを喰う。操作する毎に表示されるものだけに、ライブ壁紙の使用/不使用は、これだけでけっこう差が付く項目だったりする。


以上がバッテリー消耗を抑えるための基本の“キ”であり、私自身も実践していることである。
この状態でガンガン使まくって、バッテリー保ちが半日ぐらい。ゲームはせず、ネットの使用も控えめにすれば、大体1.5日ぐらいは保つと思う。