Big SurでAndroidテザリングをできるようにする(HoRNDIS利用)
以前に対応したはずが、いつの間にか利用できなくなっていたので、再度設定して、利用できるようにした
以前に、こちらで対応したはずの、OSX Big Sur 環境でのAndroid端末のテザリングができなくなってしまっていたので、再度設定をしてテザリングできるようにしました。
いつから利用できなくなっていたのかはわかりませんが、今回の手順で問題なければ、おそらく今後のOSアップデートでも対応可能なのではないかなと思います。
- Mac端末でのAndroidデバイスを利用したテザリングは公式サポート外です。
- 以下の作業は、ご自身の責任の元行ってください。
Android端末を利用してMac OSXでテザリングを行うためにHoRNDISをインストールする。
以前に試みた対応はこちらでしたが、いつの間にかこれではうまくいかなくなっていましたので、改めてGithubのIssuesを確認しているとまさに、というものが上がっていました。
結論から言うと、このIssuesの中のこちらの内容でうまく行きましたが、そのままではうまくいかなかったので、まとめておきます。
HoRNDIS-9.2.pkg をダウンロードして、ハッシュ値を確認する
こちらからHoRNDIS-9.2.pkgをダウンロードして、ハッシュ値を確認します。
先程のIssuesではsha256sum
コマンドを利用する事になっていましたが、私の環境にはなかったため、shasum
コマンドを利用します。
|
|
上記のように15f5c6cbe14e5c0f11bf27172dfbcdf3b753122d128807d6bad94c8f4c2b71e1
が戻って来れば、改竄されてはいないかと思われます。
spctl コマンドを利用して、developer team IDを取得する。
Catalina以降のmacOSは、Appleが公認しているソフトウェア、開発者でないとアプリが起動できなくなっています。いわゆる野良アプリの起動に制限がかかっている状態です。HoRNDISは当然、認証を受けていないので、手動で登録してあげる必要があり、まずは開発者IDを調べる必要があります。
手順通りにダウンロードできていれば、54GTJ2AU36
が開発者IDとなります。その確認方法は以下となります。
|
|
spctl
はSecAssessment system policy securityコマンドのことで、オプション-avvtinstall
は、正確には、-a -v -v -t install
を繋げたものとなります。
詳細はman spctl
で確認することが可能ですが、先程ダウンロードしたインストールパッケージがインストール時に必要としている情報を出力するコマンド(だと認識しています)
リカバリモードに入って、System Integrity Protection (SIP) を無効にする
El Capitan以降のmacOSは、SIP(System Integrity Protection)と呼ばれるシステムガードが導入されています。これにより、システム根幹のカスタマイズができない仕様となっています。一時的にこちらを無効にして、HoRNDISをインストールできるようにします。
Command+Rを押しながら再起動して、リカバリモードに入る。
端末を再起動します。再起動時に、ommand+Rを押したままにしていると、リカバリモード(復旧アシスタント)が起動します。
言語選択を行なった後、ユーザアカウントを確認されますので、普段利用しているアカウントを選択します。
選択後、表示される復旧のためのプロンプトには触らず、画面上部のメニューバーから「ユーティリティ」→「ターミナル」を起動します。
ターミナルではcsrutil disable
を入力します。コマンドが間違ってなければSuccessfully・・・といったレスポンスがあるはずです。
再起動後、HoRNDIS-9.2.pkgをインストールする
端末を再起動し、HoRNDIS-9.2.pkgをインストールします。インストール途中で、システム環境設定を開き、許可する旨が表示されます。
システム環境設定で許可をした後、再起動せずに再度インストーラーを起動してインストールを試みます。
再び、Command+Rを押しながら再起動して、リカバリモードに入る
再度、端末を再起動します。再起動時に、ommand+Rを押したままにして、リカバリモード(復旧アシスタント)に入ります。
先ほどと同じように、ターミナルの起動まで進めます。
ターミナルを起動後、
|
|
を実行して、先程調べたDeveloper IDを登録するとともに、SIPを有効化します。
再起動して、終了
端末を再起動した後は、Android11デバイスやAndroid12デバイスが認識できるようになっているはずです。これでテザリングが可能となりました。
余談:Android 12LをPixel3aにインストール
余談ではありますが、Pixel 3aにAndroid 12L(beta)をインストールしても継続してテザリングが可能でした。ただ、horndisの問題か、Mac側の問題か、認識されるデバイス名が Pixel 3a からPixel 4になり、ハードウェアが進化した模様です(笑