macOS Sonoma 14 Release
As already said in the previous post, Apple decided to completely drop the support for Broadcom based chipset (e.g. BCM94350 and BCM94360, like the Fenvi T919).
OCLP can play a role here (as described by @khronokernel on OpenCore-Legacy-Patcher #1076), but this means completely defeating the purpose of having a vanilla system (no patches on the system itself).
Regarding Intel modules instead, at the time of writing there’s a preview of AirportItlwm available here but please note that it’s still in development stage.
In any case I succeeded installing macOS Sonoma 14 (23A344) on my laptop with a Fenvi BCM94360NG just for testing purposes. I’ll still remain solid on macOS Ventura unless things, such as stable kexts or even new Wi-Fi modules, change (very unlikely).
Anyway, these are the things I did to install, starting from a freshly installed version of macOS Sonoma 14.
Requirements
- OpenCore Legacy Patcher 0.6.9 (you need to be registered on GitHub to download the artifacts)
- Download
OpenCore-Patcher.app (GUI)
- Download
- Necessary kexts:
AMFIPass.kextto avoid usingamfi=0x80boot argument (which fucks up every app permission)IOSkywalkFamilyfrom dortania’s OpenCore Legacy Patchersonoma-developmentbranchIO80211FamilyLegacyfrom dortania’s OpenCore Legacy Patchersonoma-developmentbranch
- Optional kexts:
Misc/Security/SecureBootModelset toDisabledNVRAM/Add/7C436110-AB2A-4BBB-A880-FE41995C9F82/csr-active-configset to<03080000>(orAwgAAA==if you’re using a plain-text editor)- Personally I prefer keeping the SIP minimally lowered, just to make OCLP working. In case you wanna reduce system protection features, you’re on your own
csr-active-configadded underNVRAM/Delete/7C436110-AB2A-4BBB-A880-FE41995C9F82to make sure that the right SIP value is injected when you boot OpenCore- Two bootable drives (one can be the ESP partition on your drive)
Steps
Before proceeding with the root patching, make two copies of the EFI: one goes onto the first bootable drive (e.g. ESP partition on your drive), the other one goes onto the second bootable drive. On the second bootable drive make sure to tweak the config as it follows:
- Under
Kernel/Addadd the following kexts in this order:AMFIPass.kextIOSkywalkFamily.kextIO80211FamilyLegacy.kextAirportBrcmNIC.kextthat is bundled withIO80211FamilyLegacy.kext
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>AMFIPass.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/AMFIPass</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>IOSkywalkFamily.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/IOSkywalkFamily</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>IO80211FamilyLegacy.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/IO80211FamilyLegacy</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>IO80211FamilyLegacy.kext/Contents/PlugIns/AirPortBrcmNIC.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/AirPortBrcmNIC</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
In case you need AirportBrcmFixup add also:
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>AirportBrcmFixup.kext</string>
<key>Comment</key>
<string>Various patches for Broadcom Airport Wi-Fi cards</string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/AirportBrcmFixup</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>12.0.0</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>AirportBrcmFixup.kext/Contents/PlugIns/AirPortBrcmNIC_Injector.kext</string>
<key>Comment</key>
<string>AirportBrcmNIC Injector - AirportBrcmFixup companion</string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string></string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>12.0.0</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
- Block
IOSkywalkFamily.kextinjection in the kernel cache usingExcludestrategy:
<dict>
<key>Arch</key>
<string>Any</string>
<key>Comment</key>
<string>Block IOSkywalkFamily kext</string>
<key>Enabled</key>
<true/>
<key>Identifier</key>
<string>com.apple.iokit.IOSkywalkFamily</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>Strategy</key>
<string>Exclude</string>
</dict>
- Add
-amfipassbetato your boot arguments (NVRAM/Add/7C436110-AB2A-4BBB-A880-FE41995C9F82/boot-args) for loading the kext on Sonoma- Technical background: this is a Lilu plugin that has a
PluginConfigurationset to run on certain macOS versions. Example here. Probably this kext hasn’t been updated yet to load on Sonoma, but using the beta boot argument, you’ll force the load on unsupported macOS versions.
- Technical background: this is a Lilu plugin that has a
Finally:
- Open
OpenCore-Patcher.app - Select
Post-Install Menu- Make sure that
Networking: Modern Patchesis in the available patches
- Make sure that
- Click on
Start Root Patchingand wait till the app asks to reboot - Once the reboot dialog shows up, reboot the system and boot using the second bootable drive
You should notice that the first boot is really slow (at least that happened with me). The next ones should be regular
That’s all.
Please note , despite I’m not a big fan of OCLP, some people may still want to use macOS Sonoma with their Broadcom BCM94350/BCM94360 chipsets. I respect them for their decision, but for stability purposes, I don’t endorse following them as well as this guide.
Cheers dreamwhite