- Added constants for macOS 15 support
- Added constants for macOS 14 support for use with OCLP
- Override methods AirPort_BrcmNIC::setTX_NSS, AirPort_BrcmNIC::getTX_NSS and AirPort_BrcmNIC::getNSS to investigate NSS issues. Original method is called, and debug version of kext (with boot-arg -brcmfxdbg) prints info into log
- Added constants for macOS 13 support
- Fix compilation issues in Xcode 13.3.1
- Fix patching of AirPortBrcmNIC for Monterey (kext located in IO80211FamilyLegacy.kext/PlugIns)
- boot-arg and property
brcmfx-delay
(Number) delays start of native broadcom driver for specified amount of milliseconds. Can be required for successful start in macOS Monterey 12.1 and newer versions.
- Added constants for macOS 12 support
- Do not patch airport drivers missing in the system (set of available drivers depends on the system version).
For systems with manually added airport drivers this behaviour can be overridden by boot-arg or property
brcmfx-alldrv
- Fix an issue with posponed matching (method IOTimerEventSource::timerEventSource could fail)
- Add pci14e4,4331, pci14e4,4353 and pci14e4,4357 into AirPortBrcmNIC_Injector.kext (in 11.0 only AirPortBrcmNIC can support these devices)
- Added MacKernelSDK with Xcode 12 compatibility
- Fixed macOS 10.8 compatibility (without ASPM support)
- boot-arg and property
brcmfx-aspm
supports special value255
in order to skip logic disabling APSM for 0x14e4:0x43a3 (DW1820A). It can be used if you have masked pin 53 (CLKREQ#) and APSM L0|L1 is working. - Improve service matching (the old implementation could cause hangs on boot)
- Added constants for 11.0 support
- Property
pci-aspm-default
with value 0 is not required for Broadcom BCM4350 chipset (with non-applesubsystem-vendor-id
), since now it is injected/corrected and method IOPCIFamily::setASPMState called for provider to disable ASPM immediately. - Add required dependencies into OSBundleLibraries section
- Remove injectors for AirPortBrcm4360 and AirPortBrcmNIC from main Info.plist and move them into separate plugins AirPortBrcm4360_Injector and AirPortBrcmNIC_Injector (kexts with plist only). Under 11.0 (Big Sur) plugin AirPortBrcm4360_Injector.kext must be blocked by MaxKernel 19.9.9 or just removed, otherwise it will block loading of AirPortBrcmNIC since class AirPortBrcm4360 is unsupported.
- Check whether brcmfx-driver value is incorrect (if specified value is unsupported in current osx system)
- Support boot-arg and property
brcmfx-aspm
to override value used for pci-aspm-default
- Fix for kernel panic when FakeBrcm is detached from provider (provider->close(service))
- Add previous implementation of wowl disabler (both methods wlc_wowl_enable and wowCapablePlatform must be overridden)
- Add support for DW1820A CN-096JNT & Fix freezing issues (thanks to Sniki)
- Read property brcmfx-driver from provider's IOReg entry (can be injected by bootloader as well as brcmfx-country property)
- Re-implement wowl disabler (fix bug #615)
- Minor improvement in method findService (based on panic report analysis)
- Do not use removeObject, use getNextObject
- Unified binary archive names
- Fixed compatibility with 10.15
- Allow loading on 10.15 without
-lilubetaall
- checkBoardId patch has been improved: returns false for boardId in cpmChanSwitchWhitelist
- Service provider name is changed to ARPT automatically
- Fix issue with IOProbeScore for Airport_BrcmNIC
- Support AirPort_Brcm4331
- Use separate variables and methods wlc_set_countrycode_rev & siPmuFvcoPllreg for every driver
- Introduce a new boot-arg brcmfx-driver=[0|1|2], 0 - AirPort.BrcmNIC-MFG, 1 - AirPort.Brcm4360, 2 - AirPort.BrcmNIC
- Remove redundancy boot-args wl_msg_level and wl_msg_level2 (they are supported by Apple)
- pci14e4,43b1 & pci14e4,43b2 matched also to AirPort_BrcmNIC
- Try to resolve linker issue with __ZN13Configuration18bootargBrcmCountryE (with older Xcode versions)
- Mojave compatible
- Add patch to disable LPO panic in AirPortBrcmNIC: on some cards (DW1820A/BCM4350), the external LPO clock is sometimes not set upon initialization. While harmless in AirPortBrcm4360, AirPortBrcmNIC panics if this occurs. As it wasn't present previously, _osl_panic for string "32KHz LPO Clock not running" does not produce panic in AirPortBrcmNIC. Idea by al3xtjames.
- Allow to load all matched drivers for broadcom wi-fi (in case if there is a concurrency), except AirPortBrcmNIC-MFG.kext
- AirPortBrcmNIC-MFG probe & start are hooked to prevent using of this driver
- Fix a name conflict for config variable
- FakeBrcm is destroyed & removed from ioreg, there is no need to start original ariport driver, gIOCatalogue->removeDrivers called for FakeBrcm does this.
- Cosmetic change
- XCode 9 & Lilu 1.2.0 compatibility fixes (Lilu 1.2.0 is required)
- Fix co-existing with FakePCIID_Broadcom_WiFi.kext & FakePCIID
- WOWL (WoWLAN) is disabled by default. Use boot-arg -brcmfxwowl to enable it.
- Parameter brcmfx-country can be located in ioreg (in provider, ARPT for example)
- 5 Ghz/country code patch fixed (low speed after wake up)
- New boot-args: wl_msg_level=XXXXX and wl_msg_level2=XXXXX pass specified values to respective fields in driver, allows to get a full log
- FakePCIID functionality is built-in
- Pass property table to the newly created instance of a driver. Disable FakeBrcm if processKext was called earlier.
- Fix for High Sierra Developer Beta 7 (loading order)
- Bug in release version has been fixed (EXPORT added).
- Debugging output was improved.
- Don't use FakeBrcm under 10.13 and higher.
- 5 Ghz/country code patch reimplemented. Boot arg brcmfx-country=XX is supported.
- Refactoring, patch for "Failed PCIe configuration" added"
- Patch for 5Ghz / Country code added
- A new pseudo device FakeBrcm is introduced. It is started instead of original broadcom driver. Original driver is started in processKext.
- Initial release