Broadcom Wifi on macOS Sequoia

A collection of instructions and links to make Broadcom Wifi work natively again under macOS Sonoma and Sequoia

Apple dropped Broadcom Wifi support since Sonoma, while Broadcom Wifi worked natively until Ventura. I tested this with a Fenvi T919 card on Sequoia 15.1. This guide should work with most Broadcom cards that worked natively under Ventura, but there may be exceptions.

This process involves disabling SIP and AMFI, so be warned: Modifying the system with OCLP Requires SIP, Apple Secure Boot and AMFI to be disabled so there are some compromises in terms of security.

Broadcom Wifi working on Sequoia 15.1

1. Get kexts

Extract and add these Kexts to your EFI folder:

  • AMFIPass.kext

  • IOSkywalkFamily.kext

  • IO80211FamilyLegacy.kext

2. Edit config.plist

Edit your config.plist so that it reflects these changes:

2.1 - Add the new kexts to your existing ones (Kernel - Add)

Added kexts
                <dict>
                    <key>Arch</key>
                    <string>Any</string>
                    <key>BundlePath</key>
                    <string>AMFIPass.kext</string>
                    <key>Comment</key>
                    <string>V1.4.1</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>Any</string>
                    <key>BundlePath</key>
                    <string>IOSkywalkFamily.kext</string>
                    <key>Comment</key>
                    <string>V1.0</string>
                    <key>Enabled</key>
                    <true/>
                    <key>ExecutablePath</key>
                    <string>Contents/MacOS/IOSkywalkFamily</string>
                    <key>MaxKernel</key>
                    <string></string>
                    <key>MinKernel</key>
                    <string>23.0.0</string>
                    <key>PlistPath</key>
                    <string>Contents/Info.plist</string>
                </dict>
                <dict>
                    <key>Arch</key>
                    <string>Any</string>
                    <key>BundlePath</key>
                    <string>IO80211FamilyLegacy.kext</string>
                    <key>Comment</key>
                    <string>V1200.12.2b1</string>
                    <key>Enabled</key>
                    <true/>
                    <key>ExecutablePath</key>
                    <string>Contents/MacOS/IO80211FamilyLegacy</string>
                    <key>MaxKernel</key>
                    <string></string>
                    <key>MinKernel</key>
                    <string>23.0.0</string>
                    <key>PlistPath</key>
                    <string>Contents/Info.plist</string>
                </dict>
                <dict>
                    <key>Arch</key>
                    <string>Any</string>
                    <key>BundlePath</key>
                    <string>IO80211FamilyLegacy.kext/Contents/PlugIns/AirPortBrcmNIC.kext</string>
                    <key>Comment</key>
                    <string>V1400.1.1</string>
                    <key>Enabled</key>
                    <true/>
                    <key>ExecutablePath</key>
                    <string>Contents/MacOS/AirPortBrcmNIC</string>
                    <key>MaxKernel</key>
                    <string></string>
                    <key>MinKernel</key>
                    <string>23.0.0</string>
                    <key>PlistPath</key>
                    <string>Contents/Info.plist</string>
                </dict>

2.2 - Allow for IOSkywalk kext downgrade by excluding it (Kernel - Block)

IOSkywalk kext downgrade
                <dict>
                    <key>Arch</key>
                    <string>Any</string>
                    <key>Comment</key>
                    <string>Allow IOSkywalk Downgrade</string>
                    <key>Enabled</key>
                    <true/>
                    <key>Identifier</key>
                    <string>com.apple.iokit.IOSkywalkFamily</string>
                    <key>MaxKernel</key>
                    <string></string>
                    <key>MinKernel</key>
                    <string>23.0.0</string>
                    <key>Strategy</key>
                    <string>Exclude</string>
                </dict>

2.3 - Change SecureBootModel to Disabled (Entries - Security)

SecureBootModel Disabled
                <key>SecureBootModel</key>
                <string>Disabled</string>

2.4 - Set your SIP to be partially disabled (NVRAM - Add - 7C436110-AB2A-4BBB-A880-FE41995C9F82)

SIP Partially Disabled
                    <key>csr-active-config</key>
                    <data>AwgAAA==</data>
  • csr-active-config is 03080000 in a plist editor

  • Double check your config.plist

3. Reboot

4. Activate AppleVTD

  • This may be optional for some cards, but for my Broadcom BCM94360CD based Fenvi FV-T919 Wifi PCIe card, this step was required.

4.1 Patch DMAR

Patch DMAR table using SSDTTime

4.2 Edit config.plist

  • ACPI --> Add

    • Make sure your new patched DMAR.aml file is in your EFI Partition's EFI/OC/ACPI folder and also added to your config.plist

                <dict>
                    <key>Comment</key>
                    <string></string>
                    <key>Enabled</key>
                    <true/>
                    <key>Path</key>
                    <string>DMAR.aml</string>
                </dict>
  • Kernel --> Quirks

                <key>DisableIoMapper</key>
                <false/>
                <key>DisableIoMapperMapping</key>
                <true/>
  • ACPI --> Delete

                <dict>
                    <key>All</key>
                    <true/>
                    <key>Comment</key>
                    <string>Drop DMAR table</string>
                    <key>Enabled</key>
                    <true/>
                    <key>OemTableId</key>
                    <data></data>
                    <key>TableLength</key>
                    <integer>0</integer>
                    <key>TableSignature</key>
                    <data>RE1BUg==</data>
                </dict>
  • TableSignature is 444D4152 in a plist editor

4.3 In the BIOS set

  • VT-d --> Enabled

4.4 Check AppleVTD

  • Reboot

  • Download and open IORegistry Explorer

  • In IOReg search for AppleVTD

  • If enabled, the AppleVTD property can be seen under the AppleACPIPlatformExpert node

AppleVTD under AppleACPIPlatformExpert

5. Check

  • Reboot and check for native Wifi. If it's still not working, reset your NVRAM and check again.

  • Test Wifi transmission speed using: Option Click -> Wifi menu bar icon -> check Tx Rate and run an internet speed test.

Notes

Credits

Comments and discussion can be found on r/hackintosh: Broadcom Wifi on macOS Sonoma and Sequoia (Fenvi T919 and others)

Last updated

Was this helpful?