備忘録に近いわけですが、書き残しておきます。
また、この方法はMacのセキュリティレベルを下げるものとなりますので、実施する際は自己責任でお願いします。
Big Surでは、AndroidでのUSBテザリングは通常の方法ではできません。また、それを行うためのツールも開発が止まっており使えません。
有志の方が開発が止まっているツールを修正し、M1 MacのBig Sur用に作ってくれたのですが、ソースファイルでの提供となっていて、Xcodeを使って自力でビルドする必要があります。
参考にしたURL
必要なもの
- M1 MacBook Air(など)
- Android端末(と接続ケーブル)
- Xcode
- 今回使うツールのパッケージファイル(ソースファイルが必要)
Xcodeは12GBくらいあるのでApp Storeからがんばって落としてください。Xcodeの準備ができたら、好きな場所にフォルダを作って、ツールのソースファイルを展開します。
LaunchPad→その他→ターミナルを起動し、cdコマンドで好きなフォルダに移動してから以下のコマンドを叩きます。
git clone https://github.com/thpryrchn/HoRNDIS.git -b BigSur
Xcodeの機能を使い、パッケージファイルを作成します。
cd HoRNDIS
make
ちょっと待つとこの「HoRNDIS」フォルダの下にあるbuild→pkgにパッケージファイルが出来上がるので、これを覚えておきます。
これで準備OKです。
作業
まず、システムを終了してリカバリモードに入ります。
システムを終了してから、Touch IDのキー(電源)を長押しし続けていると真ん中に歯車マークの「オプション」が出てくるので、それを選択して「続行」。
で、メニューバーにあるユーティリティ→ターミナルでターミナルを起動し、下記のコマンドを入力します。
csrutil disable
コマンドを打つと英語で聞いてきますので「y」→「パスワード」を入力。しばらくするとコマンド受付に戻るので、そこで
reboot
再起動がかかりますので、ログインして、先ほど作った「HoRNDIS-kext.pkg」をダブルクリックしてインストールします。
その後、セキュリティ確認のウインドウが出るので、ボタンでシステム環境設定に移動して「セキュリティとプライバシー」が出たら、カギが掛かっているのでまずカギをクリック。Touch IDかパスワードで解除し、右下の「許可」ボタンを押します。すると今入れたものが表示されるので、OKを押して、パスワード入力ウインドウにパスワードを入れてから、再起動ボタンを押します。
再起動したら、目的のAndroid端末を接続して「システム環境設定→ネットワーク」を開き、Android端末側でUSBテザリングを起動して端末名が出てきたら成功です。
ここまでで使えることは使えるのですが、セキュリティが不安なので少しだけレベルを戻してあげます。
いったんシステム終了後、再度リカバリモードに入り、ターミナルを起動して以下のコマンドを入力します。
csrutil enable --without kext
また英語で聞かれるので「y」→「パスワード」の順で入力、またrebootで再起動して、もう1回USBテザリングの動作確認をして、つながればOKです。
お疲れさまでした!
設定を終えて
上のブログの方法で何度も試したのですが、OSのバージョンが違うせいなのか、Androidをつないでも全く反応せず…。
「csrutil」コマンドのせいかと思い、いったん「disable」でセキュリティを全解除してから「enable」で戻すことで解決したのですが、この方法が正しいかどうかもちょっと不明です。
開発しない人にとってはかなりハードル高いですが(バカでかいXcode入れないといけないし)、Wi-FiやBluetoothでのテザリングに不安がある方は試してみる価値アリと思います。