Contribute
Register

Broadcom WiFi/Bluetooth [Guide]

toleda

Moderator
Joined
May 19, 2010
Messages
22,845
Motherboard
Asus Maximus VII Impact
CPU
Core i7-4770K
Graphics
RX 560 + HD4600
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Classic Mac
  1. 512K
  2. LC
  3. Power Mac
Mobile Phone
  1. iOS
wifi.jpeg
Broadcom WiFi/Bluetooth [Guide]


WiFi and Bluetooth working out of box on macOS with Apple branded Broadcom BCM94360. Enables specific half mini and M.2 BCM94352 on macOS with methods described below. Credit: RehabMan

This thread does not support:
  • macOS/Continuity
  • Atheros/Qualcomm WiFi/Bluetooth
  • Intel CNVi Wifi/Bluetooth
Change Log
v1.1 - 10/26/2018: 10.14 support, AirportBrcmFixup replaces all previous WiFi methods
v1.0 - 1/5/2018: 10.13/Broadcom WiFi/Bluetooth support

Previous thread: [Guide] Airport - PCIe Half Mini v2/Deprecated

Broadcom WiFi + BT (2 antennas, except as noted)
  • PCIe/x1: BCM94360CD - native WiFi/ac and BT4LE (3 antennas)
  • PCIe/x1: BCM94331CD - native WiFi and BT4LE
  • M.2: BCM943602BAED/DW1830 - native WiFi/ac and BT4LE (3 antennas)
    • Laptop issues/solutions, see jaymonkey/Post #138
  • M.2: BCM94360CSAX - native WiFi/ac and BT4LE (3 antennas)
  • M.2: BCM943602CS - native WiFi/ac and BT4LE (3 antennas)
  • M.2: BCM94360CS2 - native WiFi/ac and BT4LE (2 antennas)
  • M.2: BCM94352Z/AzureWave AW-CE162NF/DW1560 - supports WiFi/ac and BT4LE
  • M.2: BCM94350ZAE/DW1820A - native WiFi/ac and BT4LE
  • Half mini: BCM94360HMB/AzureWave AW-CB160H - native WiFi/ac and BT4LE (3 antennas)
  • Half mini: BCM94352 HMB/AzureWave AW-CE123H - supports WiFi/ac and BT4LE
Requirements
  • macOS 10.11 or newer
  • Supported Broadcom WiFi/BT
  • Clover v4658 or newer
Broadcom WiFi/Bluetooth Repo
wireless_broadcom

I. Broadcom WiFi/BT Installation
WiFi Injection
(10.14/10.13/10.12 /10.11)
  1. Remove all Wifi patches and kexts
    1. Clover fixes (config.plist/ACPI/DSDT/Fixes/)
    2. Clover patches (config.plist/KernelAndKextPatches/KextsToPatch/)
    3. WiFi kexts (/L/E and EFI/CLOVER/Kexts/...)
    4. WiFi ssdts and dsdt edits (EFI/CLOVER/ACPI/patched)
  2. AirportBrcmFixup/acidanthera
    1. All supported Broadcom WiFi cards
    2. README: acidanthera/AirportBrcmFixup
    3. Download:
      1. AirportBrcmFixup
      2. Lilu
    4. Install to /Library/Extensions/ with KextBeast:
      • AirportBrcmFixup.kext
      • Lilu.kext
      • Install latest versions as available
BT Injection (10.14/10.13/10.12 /10.11)
  1. BrcmPatchRAM/RehabMan
    1. All supported Broadcom WiFi cards
    2. Correctly configured USB, see [Guide] Creating a Custom SSDT for USBInjectAll.kext
    3. README: RehabMan/OS-X-BrcmPatchRAM
    4. Download: RehabMan / OS-X-BrcmPatchRAM
    5. Install to /Library/Extensions/ with KextBeast:
      • BrcmFirmwareRepo.kext
      • BrcmPatchRAM2.kext
      • Install latest versions as available
II. Capabilities
  1. See AirportBrcmFixup/README/Boot-args/Country Code
  2. See AirportBrcmFixup/README/Features
III. Tools - Mount EFI, IOReg, MaciASL, Xcode
  1. Community Software/EFI Mounter v3
  2. IORegistryExplorer_v2.1.zip (select View Raw, double click)
  3. DPCIManager (select View Raw, double click)
  4. RehabMan/OS-X-MaciASL
  5. Property List Editors
IV. Problem Reporting - Post to this thread with requested information attached
  1. Description of WiFi/Bluetooth problem
  2. OS X version/motherboard model/BIOS version/processor/graphics
  3. Procedure/Guide used
  4. Copy of IOReg - IOReg_v2.1/File/Save a Copy As…, verify file (III. Tools 2.)
  5. Screenshots
    • DPCIManager/Status (III. Tools 3.)
    • System Information/Hardware/Network/WiFi
    • System Information/Hardware/Bluetooth
    • System Information/Hardware/USB (Select Bluetooth device)
  6. Clover (if installed)
    • EFI/CLOVER/config.plist
    • DPCIManager/Misc/Boot Log
    • EFI/CLOVER/ACPI/Patched/dsdt.aml (if WiFi edited)
    • EFI/CLOVER/ACPI/Patched/ssdt.aml (if WiFi edited)
  7. Put all files in a folder, compress and attach post on this thread
V. Requirements - macOS, native IO80211Family, Intel motherboards, SIP
  1. macOS
    1. 10.14+, see 4. SIP/1.
    2. 10.13+, see 4. SIP/1.
    3. 10.12+, see 4. SIP/1.
    4. 10.11+, see 4. SIP/1.
  2. Native IO80211Family.kext
    1. Remove any airport kext enabler
    2. Remove/Disable Clover Airport patches
      • config.plist/ACPI/DSDT/Fixes/FixAirport_4000/YES, set NO
      • config.plist/Devices/FakeID/Wifi/?, set 0x0
  3. Intel Motherboards
    1. Desktop 300/200/100/9/8/7/6 Series
    2. Workstation X299/X99/X79
  4. SIP (required to install/edit kexts and rebuild cache with unsigned kexts)
    1. System Integrity Protection (SIP)
    2. 10.13/10.12/10.11:
      • CLOVER/config.plist/RtVariables/
        • CsrActiveConfig/0x3 or 0x67
VI. Broadcom - WiFi and Bluetooth, PCIe, M.2 and Half Mini
Details - macOS/Native
  • BCM94360CD, 2.4/5 GHz, ac+abgn, 3 Stream, 1300 Mbs + BT4LE (PCIe x1, not half mini)
  • BCM94331CD - 2.4/5 GHz, abgn, 3 stream, 450 Mbs + BT4LE (PCIe x1, not half mini)
Broadcom Device_IDs (Vendor_ID: 14e4)
  1. Supported Device_ID (native)
    • 0x43ba- BCM943602BAED - 2.4/5 GHz, ac+abgn, 3 Stream, 1300 Mbs + BT4.1LE
    • 0x43a3 - BCM94350ZAE - 2.4/5 GHz, ac+abgn, 2 Stream, 867 Mbs + BT4LE
    • 0x43a0 - BCM94360CD, 2.4/5 GHz, ac+abgn, 3 Stream, 1300 Mbs + BT4LE
    • 0x43a0 - BCM943602CS, 2.4/5 GHz, ac+abgn, 3 Stream, 1300 Mbs + BT4LE
    • 0x43a0 - BCM94360CS2, 2.4/5 GHz, ac+abgn, 2 Stream, 867 Mbs + BT4LE
  2. Supported Device_IDs (injection required)
    • 0x43b1 - BCM94352 HMB/Z, 2.4/5 GHz, ac+abgn, 2 stream, 867 Mbs + BT4LE
VII. Installed WiFi/BT? - Vendor ID, Product IDs
  1. Determine WiFi Card Device_ID
    • Download, install and run DPCIManager (III. Tools 3.)
    • Find Vendor-ID 14E4 (Broadcom) in DPCIManager/PCI
    • Note Device_ID and verify with supported Device_IDs above.
    • Example: Vendor/Device ID is 14E4/4357 > BCM943225
  2. Determine WiFi Card/Bluetooth ProductID/VendorID
    • System Information/Hardware/USB
    • Select ".. Bluetooth…"/BCM207020A
    • ProductID/Convert hex to decimal/Ex. 0x217d = decimal 8573
    • VendorID/Convert hex to decimal/Ex. 0x0a5c = decimal 2652 (Broadcom)
VIII. Deprecated Methods - No 10.14 Support
Clover Broadcom Patches/Download (View Raw)
config-bcm94352-130.plist.zip

I. Broadcom WiFi/BT Installation
WiFi Injection Methods
(select one method, remove before installing a different method)
  1. kext enabler, FakePCIID/RehabMan
    • All supported Broadcom WiFi cards/AirPortBrcm4360.kext
    • README: RehabMan/OS-X-Fake-PCI-ID
    • Download: RehabMan / OS-X-Fake-PCI-ID
    • Install with kext installer to ~/Library/Extension:
      • FakePCIID.kext
      • FakePCIID_Broadcom_WiFi.kext
      • Install latest versions as available
    • Download config-bcm94352-1x0.plist.zip (above)
      • use AirPort.Brcm4360 patches (10.12)
    • Paste patch to config.plist/KernelAndKextPatches/KextsToPatch
      • 10.12+-BCM94352-fvco-darkvoid
      • 10.13/10.12 only
      • 10.11/10.10/10.9 patches - see VII. Previous macOS Support
  2. ssdt, 94352, see wireless_broadcom/ssdt_arpt
    • 10.13/Handoff not working with AirPort.BrcmNIC-MFG.kext
    • BCM94352 supported/AirPortBrcmNIC-MFG.kext
    • Verify IOReg/RP0x (wifi device name)
    • Select ssdt_arpt-rp0x-bcm4352
    • Download: select View Raw
    • Install to EFI/CLOVER/ACPI/patched/
    • Download config-bcm94352-1x0.plist.zip (above)
    • Paste patch to config.plist/KernelAndKextPatches/KextsToPatch
      • 10.13-BCM94352-fvco-darkvoid-Sherlocks
      • 10.13 only
      • 10.12/10.11/10.10/10.9 patches - see VII. Previous macOS Support
  3. kext, AirportBrcmFixup.kext/acidanthera
II. Additional Capabilities - Handoff, "Airport Extreme," Country Code, Whitelist

Handoff (10.13/10.12/10.11 - all versions, 10.10 - see VII. Previous macOS Support)
  1. Requires AirPortBrcm4360, AirPortBrcmNIC or AirPortBrcmNIC-MFG/WiFiE
  2. Patches/Credit: lisai9093, #346 Airport - PCIe Half Mini
    • Binary patch: IOBluetoothFamily
      • Find: 48 85 FF 74 47 48 8B 07
      • Replace: 41 BE 0F 00 00 00 EB 44
  3. Installation
    • FakePCIID_Broadcom_WiFi.kext - working
      • Download config-bcm94352-1x0.plist.zip (above)
      • Paste patch to config.plist/KernelAndKextPatches/KextsToPatch
        • 10.11+-BT4LE-Handoff-Hotspot-lisai9093
    • Clover/kext patch - 10.13/not working
      • Download config-bcm94352-1x0.plist.zip (above)
      • Paste patch to config.plist/KernelAndKextPatches/KextsToPatch
        • 10.11+-BT4LE-Handoff-Hotspot-lisai9093
    • AirportBrcmFixup.kext/native - working
      • com.apple.driver.AirPort.BrcmNIC
"Airport Extreme" (10.13/10.12/10.11/10.10 - all versions)
  1. Requires AirPortBrcm4360, AirPortBrcmNIC or AirPortBrcmNIC-MFG/WiFi (non Apple branded, cosmetic)
  2. Patches/Credit: Credit: Skvo, Post #135, Airport - PCIe Half Mini
    • Binary patch: AirPortBrcm4360
      • Find: 6B 10 00 00 75 0D
      • Replace: 6B 10 00 00 90 90
  3. Installation (one method only)
    • FakePCIID_Broadcom_WiFi.kext/native
    • Clover/kext patch
      • Download config-bcm94352-1x0.plist.zip (above)
      • Paste patch to config.plist/KernelAndKextPatches/KextsToPatch
        • 10.10+-BCM94352-Airport-Extreme-skvo
    • AirportBrcmFixup.kext/native
ROW/WiFi Country Code (10.13/10.12/10.11/10.10 - all versions)
  1. Requires AirPortBrcm4360, AirPortBrcmNIC or AirPortBrcmNIC-MFG/WiFi (4 cases, only one applies)
  2. Patches/Credit: Sebinouse, Post #1159/[Guide] Airport - PCIe Half Mini v2
    • Binary patch: AirPortBrcm4360 (one patch only)
      • Find: 41 83 FC FF 74 2C 48
        • Replace: 66 C7 06 55 53 EB 2B (55 53 - US)
        • Replace: 66 C7 06 xx xx EB 2B (xx xx - your CC)
        • Replace: 66 C7 06 23 61 EB 2B (#a, special case)
      • Find: 58 54 00 2B 18 2C 21 00 20 (XT/ROW, special case)
        • Replace: 58 54 00 0A 36 1C 47 00 0A
    • Valid AirPortBrcm4360 CCs:
      • AE AF AR AT AU AZ BD BE BG BN BR BT BY CA CH CL CN CO CR CY CZ DE DK DO EC EE EG ES FI FR GB GR GT GU HK HN HR HU ID IE IL IN IS IT JM JO JP KH KR KZ LA LI LK LT LU LV MA MM MN MO MT MV MX MY NI NL NO NP NZ PA PE PH PK PL PR PT PY RO RS RU SA SE SG SI SK SV TH TR TT TW UA US UY VE VI VN ZA
      • Convert CC to Hexadecimal - ASCII to Hex (i.e., US > 55 53)
  3. Installation
    • FakePCIID_Broadcom_WiFi.kext
      • Download config-bcm94352-1x0.plist.zip (above)
        • use AirPort.Brcm4360 patches (10.12)
      • Paste patch to config.plist/KernelAndKextPatches/KextsToPatch
        • 10.10-10.11-BCM94352-5GHz-US-FCC-darkvoid
          • 10.12 US/FCC native, no patch required
        • edit BCM943xx/US-FCC for CC (above)
        • 10.11+-BCM94352-CC=#a-Ramalama
        • 10.11+-BCM94352-CC=XT-Skvo
    • Clover/kext patch (not tested)
      • Download config-bcm94352-1x0.plist.zip (above)
      • Paste patch to config.plist/KernelAndKextPatches/KextsToPatch
        • 10.13-BCM94352-CC-Sebinouse-(edit 55 53 to CC)-PMheart
          • 10.13 US/FCC native, no patch
        • edit BCM943xx/US-FCC for CC (above)
        • 10.13-BCM94352-CC=#a-Ramalama
        • 10.13-BCM94352-CC=XT-Skvo
    • AirportBrcmFixup.kext
      • config.plist/Boot/Arguments/Boot-arg "brcmfx-country=CC
WiFi Whitelist (10.13/10.12/10.11/10.10 - all versions)
  1. Requires AirPortBrcm4360, AirPortBrcmNIC or AirPortBrcmNIC-MFG/WiFi
  2. Patch/Disable Whitelist/Credit: RehabMan, Post #1722/[Guide] Airport - PCIe Half Mini v2
    • Binary patch: AirPortBrcm4360
      • Find: 31 DB 4C 3B 65 D8 75 12
      • Replace: 31 DB FF C3 90 90 90 90
  3. Installation
    • FakePCIID_Broadcom_WiFi.kext
      • Download config-bcm94352-1x0.plist.zip (above)
        • use AirPort.Brcm4360 patches (10.12)
      • Paste patch to config.plist/KernelAndKextPatches/KextsToPatch
        • 10.11+-Disable-Whitelist-check-RehabMan
    • Clover patch (not tested)
      • Download config-bcm94352-1x0.plist.zip (above)
      • Paste patch to config.plist/KernelAndKextPatches/KextsToPatch
        • 10.13-Disable-Whitelist-check-RehabMan
    • AirportBrcmFixup.kext/native
V. Requirements
  1. macOS
    1. 10.10+, see 4. SIP/2.
    2. 10.9+
    3. 10.8.5+
  2. SIP (required to install/edit kexts and rebuild cache with unsigned kexts)
    1. 10.10:
      • Clover/config.plist/Boot/Arguments/kext-dev-mode=1
VI. Broadcom
Details - macOS/Native

  • BCM943224 HMB, 2.4/5 GHz abgn, 2 Stream, 300 Mbs + BT3
Broadcom Device_IDs (Vendor_ID: 14e4)
  1. Supported Device_ID (native)
    • 0x4353 - BCM943224 HMS, 2.4/5 GHz abgn, 2 Stream, 300 Mbs
      • 10.10+/Whitelist
    • 0x4331 - BCM94331CD - 2.4/5 GHz, abgn, 3 stream, 450 Mbs + BT4LE
      • 10.10+/Whitelist
  2. Supported Device_IDs (injection required)
    • 0x4357 - BCM943225 HMB, 2.4 GHz, bgn, 2 stream, 100 Mbs + BT3
  3. Unsupported Device_ID
    • 0x4359 - BCM943228 HMB, 2.4/5 GHz, abgn, 2 stream, 300 Mbs + BT4
VII. Previous macOS Support
WiFi/94352
(10.12/10.11/10.10/10.9 - all version)
  1. 10.12 - fvco
    1. Credit: the-darkvoid #1, [FIX] macOS Sierra DP1 BCM94532Z WiFi
    2. Binary patch: AirPortBrcm4360
      • Find: 81 F9 52 AA 00 00 75 29
      • Replace: 81 F9 52 AA 00 00 66 90
    3. Installation
      • Clover/kext patchDownload (View Raw):
        • config-bcm94352-1x0.plist.zip (above)
      • Paste patch to config.plist/KernelAndKextPatches/KextsToPatch
        • 10.12-BCM94352-fvco-darkvoid
  2. 10.11/10.10 - 5 GHz
    1. Credit: the-darkvoid #973, [Guide] Airport - PCIe Half Mini v2
    2. Binary patch: AirPortBrcm4360
      • Find: 41 83 FC FF 74 2C 48
      • Replace: 66 C7 06 55 53 EB 2B
    3. Installation
      • Clover/kext patchDownload (View Raw):
        • config-bcm94352-1x0.plist.zip (above)
      • Paste patch to config.plist/KernelAndKextPatches/KextsToPatch
        • 10.10-10.11-BCM94352-5GHz-US-FCC-darkvoid
  3. 10.9 - 5 GHz
  • Credit: Skvo #246, [Guide] Airport - PCIe Half Mini v2
  • Binary patch: AirPortBrcm4360
    • Find: 01 58 54
    • Replace: 01 58 58
  • Installation
    • Clover/kext patchDownload (View Raw):
      • config-bcm94352-1x0.plist.zip (above)
    • Paste patch to config.plist/KernelAndKextPatches/KextsToPatch
      • 10.9-BCM94352-5 GHz - Skvo
BT (10.10/10.9 - all versions)
  1. kext enabler, BrcmPatchRAM/darkvoid
  2. Releases · robvanoostenrijk/BrcmPatchRAM · GitHub
    • BrcmPatchRAM.kext
  3. Installation (1 or 2, not both)
    • Clover/EFI/CLOVER/kexts/10.10 (or 10.9)
    • /System/Library/Extensions
BT Handoff (10.10 - all versions)
  1. Wi-Fi, Bluetooth, AirDrop, Handoff and Instant Hotspot
  2. Patch/Credit: Dotkterdok
    1. 10.10.2 and newer: Handoff (working)/Hotspot (not tested)
      1. Binary patch: IOBluetoothFamily
        • Find: 48 85 C0 74 5C 0F B7 48
        • Replace: 41 BE 0F 00 00 00 EB 59
    2. 10.10 and 10.10.1, Handoff (working)/Hotspot
      1. Binary patch: IOBluetoothFamily
        • Find: 8B 87 8C 01 00 00
        • Replace: B8 0F 00 00 00 90
  3. Installation
    1. Clover/kext patch
      1. Download (View Raw): config-bcm94352-1x0.plist.zip (above)
      2. Paste patch to config.plist/KernelAndKextPatches/KextsToPatch
        • 10.10-10.10.1-BT4LE-Handoff-Hotspot-Dokterdok
        • 10.10.2+-BT4LE-Handoff-Hotspot-Dokterdok

Credit
THe KiNG http://www.projectosx.com/forum/index.php?showtopic=1416
Andy Vandijck http://www.insanelymac.com/forum/index.php?showtopic=234570
Skvo Broadcom BCM94352HMB - the new flagship of kombomoduley supporting 802.11ac (41855) | AppleLife
Skvo, #758/[Guide] Airport - PCIe Half Mini v2
the-darkvoid [FIX] macOS Sierra DP1 BCM94532Z WiFi
lisai9093, #346 Airport - PCIe Half Mini
Sherlocks, #297, [pre-release] macOS High Sierra
RehabMan, #90[/size]
 
Last edited:
Thanks for always keeping this up to date. The requirements you wrote above say 10.9 or newer, but the "I" subheading says 10.13+. Is that a typo?

I used this successfully in 10.12.6 to get Wifi working with a BCM94352Z. But I'm curious, in Clover KextsToPatch, what is the difference between specifying com.apple.driver.AirPort.Brcm4360 instead of AirPortBrcm4360? In this case, the former works, and the latter does not.
 
My motherboard came with this card, but I am not confident that I am selecting the right Broadcom based replacement. Can somebody tell me which flavor of M.2 this is? Does it matter? If nothing else can you point me to the Broadcom card option that will fit the same socket?
https://ae01.alicdn.com/kf/HTB1sAyf...ss-AC-8265-NGFF-802-11ac-867Mbps-2x2-WIFI.jpg

I've also had similar Wi-Fi card with yours. (an Intel card)
I replaced it with this, which should probably fit yours as well (based on the notch).
 
The requirements you wrote above say 10.9 or newer, but the "I" subheading says 10.13+. Is that a typo?
No. 10.13 is current; for 10.9, see last bullet: 10.11/10.10/10.9 patches - see VII. Previous macOS Support
what is the difference between specifying com.apple.driver.AirPort.Brcm4360 instead of AirPortBrcm4360?
Clover changed, see Post #1/Requirements
As well, AirPortBrcm4360.kext is legacy in 10.13; 4360 device_id removed
AirPort.BrcmNIC-MFG.kext and AirPort.BrcmNIC.kext both support the 4360 device_id with the same code from AirPortBrcm4360.kext
 
Last edited:
I'm having an issue with my BCM94352HMB/AzureWave AW-CE123H. I have the card working and recognized in macOS 10.12.6, however, the speeds for download are very slow. Download speed will max out at about 10 Mbps with upload speeding maxing out at nearly 70 Mbps.

I tested this card / laptop combination with Ubuntu on the same Wi-Fi network, and received over 100 Mbps download speed. Any ideas? Is it due to the wireless AC network? I am US based, not sure if I should still use one of the country code patches...

Problem reporting files should be attached, let me know if they are incorrect.
 

Attachments

  • debug_25286.zip
    9.1 MB · Views: 1,225
Fixed with #a country code patch!
 
Hello,

With my Sierra 10.12.6 on dell 7669 with the BCM94352Z m.2 ngff card, My bluetooth often stop functioning after wakeup. Is this a know issue? And fix? Please help.
 
Back
Top