サイトアイコン Boot macOS

SonomaでBroadcom Wi-Fiを有効にする

SonomaでBroadcomのWi-Fiを使えるようにしました。iPhoneとのコピペ(ユニバーサルクリップボード)やAirDropが再び使えるようになりました。

SonomaでWi-Fiが使えない

Sonomaでは、マザーボードのM.2ソケットに取り付けたBroadcom Wi-Fiカード BCM94360NG

が動作しませんでした。Bluetooth部分は動作します。これらのBroadcom Wi-Fiを搭載しているMacが全て、Sonomaのサポート対象から外れたためです。Venturaまででは動作し、Sonomaで動作しなくなったチップは以下です。

Wi-Fiが使えなくなったマシンは、デスクトップ(Z690マザーボード、13900K、Radeon RX 6600)なので、有線LANがあれば一般的なネット利用には支障ありません。しかしWi-Fiが機能しないと、iPhoneとの連携機能(ユニバーサルクリップボードやHandoffなど)やAirDropが使えないので、なんとかしたいところです。

OCLPで対応する

OpenCore Legacy Patcher(以下ではOCLP)を使用して、Broadcomチップを有効にする方法が以下で説明されていました。

This PR is primarily for tracking development of patch sets and changes implemented in code base. Please note that these builds are highly unstable and will require frequent re-installs throughout ...
Preliminary support for macOS Sonoma by khronokernel · Pull Request #1077 · d... - GitHub

OCLPは、新しいmacOSを、サポート対象外の古いMacにインストールするツールです。OpenCoreを利用しています。Macの機種を選択すると自動的に設定してくれるので便利です。Sonomaでサポート外になったBroadcomのWi-Fiを有効にするOCLPが、Nightly Build版で用意されています。公式版は10月2日とのことです。

このSonoma対応の最新版OCLPをHackintoshで使います。上記のページの「Hackintosh Note」という項目に説明があります。本来の使い方ではないので、OpenCoreの設定準備が多少必要です。ちなみにOpenCoreも最新版にすると良いとのことなので、Nightly Build 0.9.6にしました。

OCLPを使ってみる

まずは上記のページからOCLPのNightly Buildを入手しました。直接リンクを公開しないようにと書いてありますので、このページから探してください。Nightly.link: OpenCore-Patcher.app (Sonoma Development)と書いてあるリンクをクリックすると、OpenCore-Pacherのアプリがダウンロードされます。10月2日には公開版が出るそうなので、それまで待っても良いと思います。

実はOCLPを使うのは今回が初めてです。それで、とりあえずダウンロードしたアプリを起動してみました。開いたメインメニューに、いろいろなツールがあって便利そうです。Sonomaのダウンロードも、これを使えばきっと簡単でした。

この中の「Post-Install Root Patch」という項目で、Wi-Fiのパッチが当てられます。「Post-Install Root Patch」をクリックすると、以下のメッセージが現れました。

要するに、

  1. あなたのマシンに対してできることはModern Wirelessのパッチです
  2. でもセキュリティ設定がキツいのでパッチ当てられません

ということです。状況をとても的確に把握してくれているようです。Modern Wirelessというのは、今回のSonomaで使えなくなったBroadcomのチップです。OCLPのプロジェクトでは、Montereyで切り捨てられた古いWi-FiチップをLegacy Wirelessと呼んでいたので、それに対してSonomaで切り捨てられたチップをModernと呼んでいるようです。

OpenCoreの調整

そこで、まずはOpenCoreの設定を整えて、OCLPが動作するようにします。Hackintoshに対して行う先ほどの手順を参考にしました。ちなみに、古いMacに対して行う手順がこちらに説明されています。これも参考にしました。これらに従ってconfigとEFIを調整します。

1. Kextの追加

まずはkextを追加します。必要なkextは、以下の3個です。うち1個は、他のkext/Contents/PlugInsの中に含まれてますので、入手するkextは2個です。

ちなみに古いMac向けのガイドのほうには、このほかにも3個のkextを入れるように書かれてました。それを試みるとカーネルパニックになったり、暗黒画面になりました。上記の3個だけで良いようです。

2. config.plistの変更

次に、config.plistを変更します。まずは、上記の3個のkextが動作するように、Kernel/Addに以下を追加します。Xplistアプリで編集している様子です。

次に、macOSにあるIOSkywalk.kextを停止させます。このために、以下の項目をKernel/Blockに追加します。

さらに、Misc/Securityで、SecureBootModelを無効にします。

また、NVRAM/Addで、boot-argsにamfi=0x80 を追加し、csr-active-configを03080000に設定します。

NVRAM/Deleteに、csr-active-configを追加します。

config.plistの変更は以上です。csr関係の設定は、パッチ作業後は元に戻しても良いのかもしれません。詳しくはこちらの説明をみてください。

OCLPを起動

これでOCLPが使えるようになりました。メインメニューからPost-Install Root Patchを選ぶと、先ほどと違って、以下のように表示されます。

いよいよパッチが当てられるようになったようです。Start Root Patchingを選択すると、rootとして作業するかどうかの確認と、パスワードを求められます。

パスワードを入力すると、パッチ作業が開始されます。

パッチが終了したら、再起動です。

Wi-Fi動作を確認する

再起動したところ、無事、Wi-Fiが動作するようになりました。

Wi-Fiを接続したところ、iPhoneとのユニバーサルクリップボード、Handsoff、AirDropなどが動作するようになりました。

まとめ

Sonomaになって使えなくなっていたWi-Fiが、OCLPによって復活しました。その結果iPhoneや他のMacとの連携が再び使えるようになりました。macOSのバージョンアップの時にはいろいろ試練がありますが、それを克服しているコミュニティの皆さんの努力に感謝です。

今回は、M.2 Wi-Fiカード BCM94360NGを使いましたが、PCIe拡張スロット用Wi-Fiカードも同じ手順で復活するはずです。

モバイルバージョンを終了