An open source kernel extension providing a set of patches required for non-native Airport Broadcom Wi-Fi cards.
This repository should be compiled with Lilu v1.2.4 or greater, otherwise the compilation will fail!
Note: Debug version of Lilu.kext should be put in the same folder as BrcmWLFixup! And they should be also used together!
- Supports AirPort_Brcm4360, AirPort_BrcmNIC and AirPort_BrcmNIC_MFG
- Implements patch for chip identificator checking (0xaa52), in <=10.12 it's required for successful driver starting
- Implements patch for "Failed PCIe configuration patch", required for some cards
- Implements patch for "Third Party Device" (returns vendor name "Apple")
- Implements patch for removing of white-list check
- Implements 5Ghz and country code patch (US by default)
- Implements WOWL (WoWLAN) disabler (turned on by default) - no low speed after wake
- Implements patch to disable LPO panic in AirPortBrcmNIC
- Clover Airport Fix + AirportBrcmFixup
- Clover Airport Fix + AddProperties(fake device-id) + AirportBrcmFixup (preferable)
- Clover Airport Fix + AirportBrcmFixup + FakePCIID + FakePCIID_Broadcom_WiFi.kext
- AirportBrcmFixup + FakePCIID + FakePCIID_Broadcom_WiFi.kext
brcmfx-country=XX
changes the country code to XX (US, CN, #a, ...), also can be injected via DSDT or Properties → DeviceProperties in bootloader-brcmfxdbg
turns on debugging output-brcmfxbeta
enables loading on unsupported osx-brcmfxoff
disables kext loading-brcmfxwowl
enables WOWL (WoWLAN) - it is disabled by defaultbrcmfx-driver=0|1|2|3
enables only one kext for loading, 0 - AirPortBrcmNIC-MFG, 1 - AirPortBrcm4360, 2 - AirPortBrcmNIC, 3 - AirPortBrcm4331, also can be injected via DSDT or Properties → DeviceProperties in bootloader
- Apple for macOS
- vit9696 for Lilu.kext and great help in implementing some features
- PMheart for the initial idea and implementation
- darkvoid & RehabMan for FakePCIID implementation (partly used in AirportBrcmFixup)
- al3xtjames for disabling LPO panic in AirPortBrcmNIC
- lvs1974 for writing the software and maintaining it
[10.8]
- AirPortBrcm4360: 43a0, IOProbeScore = 641
- AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 615
[10.9]
- AirPortBrcm4360: 43a0, IOProbeScore = 842
- AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 700
[10.10]
- AirPortBrcm4360: 43ba, 43a3, 43a0, 4331, 4353, IOProbeScore = 930
- AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 900
[10.11]
- AirPortBrcm4360: 43ba, 43a3, 43a0, 4331, 4353, IOProbeScore = 1040
- AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 800
[10.12]
- AirPortBrcm4360: 43ba, 43a3, 43a0, 4331, 4353, IOProbeScore = 1152
- AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 800
[10.13]
- AirPortBrcm4360: 4331, 4353, IOProbeScore = 1240
- AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 800
- AirPortBrcmNIC: 43ba, 43a3, 43a0, IOProbeScore = 1241
- AirPortBrcmNIC-MFG: 43ba, 43a3, 43a0, IOProbeScore = -1000
[10.14]
- AirPortBrcm4360: 4331, 4353, IOProbeScore = 1400
- AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 800
- AirPortBrcmNIC: 43ba, 43a3, 43a0, IOProbeScore = 1400
- AirPortBrcmNIC-MFG: 43ba, 43a3, 43a0, IOProbeScore = -1000
Explanation in russian language: (https://applelife.ru/threads/airportbrcmfixup-lilu-plagin-s-naborom-patchej-dlja-wi-fi-kart-broadcom.2355103/page-16#post-751173)
Until version [10.13] there were only two kexts and for the most cases FakeID = 43a0 was enough to get working Wi-Fi. In [10.13] (and later) one family was separated into AirPortBrcm4360 (probably will be removed in 10.15), AirPortBrcmNIC and AirPortBrcmNIC-MFG. A proper fake-id has to be considered to load appropriate kext. Some device-id have limitations in one kext (like 5 Ghz range), but do not have it another.