Google Pixel 4で遊ぶ その10: Motion Sense(Soli)を解放する

前回はGoogle Pixe 4にそれまで使っていた環境を引っ越しました。

これでGoogle Pixel 4を本格的に使えるようになったのですが、その前にGoogle Pixel 4の新機能であるSoli (Motion Sense)についてもう少し調べてみたいと思います。

ご注意

Pixel 4のMotion Sense (Soli)で利用されている60GHzのレーダーは、2020年1月現在、国内での使用は認められていません。

日本上陸から早1年、アメリカのグーグルは10月16日、自社開発スマートフォン「Pixel 4(ピクセル4)」を発表した。第4世代となる今回の新製品でも、同社が強みとするAI(人工知能)などのソフトウェア技術を活用し…

総務省で2020年春頃に予定されている法令改正で日本国内での使用が可能になるとされていますが、法令改正前に60GHzのレーダー波を出力すると電波法違反に問われる可能性がありますのでご注意ください。

なお、この記事で紹介する手順でMotion Senseを解放しても、メニューでMotion Senseを有効にしない限りはレーダー波は出力されないはずです。Motion Senseのメニューを眺めるだけにとどめることをお勧めします。

Motion Senseについて

Motion Sense (モーションセンス)は、Pixel 4に内蔵されたSoliといわれるレーダーを使って手を触れずにPixel 4を操作することができる機能です。

If you have a Pixel 4, your phone can recognize if you’re nearby using Motion Sense. You can use gestures to do actions quickly with your phone without unlockin...

単にジェスチャーで操作できるようになるだけではなく、顔認証を開始する前に顔がスマートフォンに近づいてきたことをMotion Senseで認識して、より素早く顔認証をする役割もあるようです。

しかし、上述の通り、この記事を書いている時点ではMotion Senseを国内で利用することはできません。

この制限は、北米版Pixel 4に海外キャリアのSIMカードを装着しても有効です。

今回は北米版Pixel 4でSoliレーダーを使ったMotion Senseが使えるかどうかを試してみます。Motion Senseが解禁されている国のSIMカードを探してみていろいろ試してみましたが、残念ながらMotion Senseは無効のままでした。どうやら 北米版Pixel 4をもってしても日本国内にいる限りはMotion Senseは使えないようです。

調べたところ、Pixel 4は特定の国のキャリア(Motion Senseの利用が許されている国のキャリア)に接続しているときのみ、Motion Senseが使えるようになっているようです。

Motion Sense (Soli)を解放する

上記のようにMotion Senseを利用できるかどうかということは、どのキャリアと接続しているかというチェックによって制限されています。

どうやら、このチェックを回避することにより、Motion Senseを利用できるようになるようです。元ネタはこちらです。

Modders figured out how to enable the Google Pixel 4's Motion Sense gestures in any country using root access, but do so at your own risk.

早速試してみたいと思います。

前提条件

Motion Senseを解放する前提条件は、Pixel 4のブートローダをアンロックし、ルート化していることです。

この手順については既に紹介しているので、下記を参照してみてください。

今回はGoogle Pixel 4をルート化する最初のステップとしてブートローダのアンロックを行います。Pixel 4はまだ新しいせいかあまりツール類は用意されてていないので、adbコマンドとfastbootコマンドを使う必要があります。なるべく詳しく書いたのでこの記事に従えば簡単にブートローダをアンロックすることができると思います。
今回はGoogle Pixel 4をルート化してみます。Pixel 4向けのカスタムリカバリ(TWRP)はリリースされていないので、ルート化する際にはMagisk Managerをつかってboot.imgにパッチを当てるパターンになります。やり方は確立されているので手順通りに進めれば問題ないと思います。

動作確認

本当にMotion Senseを解放できるかどうか、まず簡単に確認してみましょう。

まず、「設定」→「システム」→「開発者向けオプション」→「USBデバッグ」を有効にして、adbで接続しましょう。

adb shell

Pixel 4のシェルに接続できたらそして次のコマンドを入力します。

su
setprop persist.pixel.oslo.allowed_override true
setprop ctl.restart zygote

これでいったんPixel 4は再起動します。

起動が完了したら「設定」→「システム」を確認してみましょう。「Motion Sense」のメニュー項目が有効になっていれば成功です。

有効になったMotion Senseメニュー

このMotion Senseメニューを選択すると、Motion Senseを有効にすることができます。

Motion Senseの有効化

この方法ではPixel 4を再起動するとMotion Senseは無効になります

Motion Senseを一時的に有効にしてみたいという場合は、これで十分なはずです。

恒久的な変更

Motion Senseを恒久的に有効にするためには、先ほど変更したプロパティpixel.oslo.allowed_overrideの値を毎回trueにする必要があります。

これは「Magisk」と「MagiskHide Props Config」というモジュールを利用します。

MagiskHide Props Config - SafetyNet, prop edits, and more - v5.2.4 Magisk

まず「MagiskHide Props Config」が「busybox」というアプリが必要なので、Google Playストアから「busybox」をインストールしておきます。

BusyBox
BusyBox
Price: Free

次にPixel 4をMangisk Managerを起動して左上のメニューから「ダウンロード」を選択します。

Magiskモジュールの選択

そして検索用のテキストエリアに「props」と入力して「MagiskHide Props Config」を検索してダウンロードしましょう。

MagiskHide Props Configを検索

ダウンロードアイコンを選択すると下記のようなメッセージが出るので「インストール」を選択します。

MagiskHide Props Configをインストール

下記のようになったらインストール完了なので、右下の「再起動」を選択しましょう。

MagiskHide Props Configをインストール完了

Pixel 4が再起動したら準備完了です。

まず先ほどインストールしたbusyboxを起動して、スーパーユーザ権限をします。そして左下の「Install」を選択します。

BusyBoxをセットアップ

下記のようなメッセージが出ればbusyboxのセットアップは完了です。

BusyBoxをセットアップ完了

次にPCで「adb shell」を実行してPixel 4のシェルに接続したら、下記のコマンドを入力します。

props

これで次のようなメニューが表示されます。

MagiskHide Props Configのメニュー

ここで「4」を入力します。

カスタムプロパティメニュー

ここでは「n」を入力します。

新しいプロパティの追加

このようになったら「pixel.oslo.allowed_override」と入力します。

追加したプロパティの値の入力

つぎは「true」と入力します。

プロパティ設定タイミングの指定

最後に「y」を入力します。

これでリブートするかどうか聞かれます。

再起動

「y」を入力してPixel 4を再起動しましょう。

再起動が完了したら「設定」→「システム」を確認してみましょう。「Motion Sense」のメニュー項目が有効になっていれば成功です。

有効になったMotion Senseメニュー

この方法では再起動しても引き続き「Motion Sense」メニューが有効になっているはずです。

まとめ

今回はGoogle Pixel 4のMotion Sense (Soli)を一足お先に解放する方法を紹介しました。

Pixel 4のルート化ができる人であれば簡単に設定できるのではないかと思います。ただし法令改正前にSoliのレーダ波を出力するのはいろいろ問題があるので、あくまでもMotion Senseのメニューを楽しむために利用しましょう。

次回はPixel 4用のケースを購入します。