AirportBrcmFixup 黑苹果WiFi无线网卡驱动
AirportBrcmFixup
一个开源内核扩展,分享了非本机Airport Broadcom Wi-Fi卡所需的一组补丁,可以驱动DW1560,DW1830,DW1820A等等非苹果原装网卡。
Notes
该存储库应使用Lilu v1.2.4或更高版本进行编译,否则编译将失败!当前需要macOS 10.10或更高版本。
注意:Lilu.kext的调试版本应与BrcmWLFixup放在同一文件夹中!并且知识兔它们也应该一起使用!
Features
- 支持AirPort_Brcm4360,AirPort_BrcmNIC和AirPort_BrcmNIC_MFG
- 实现修补程序以进行芯片标识符检查(0xaa52),在<= 10.12中,这是成功启动驱动程序所必需的
- 实现某些卡所需的“ PCIe配置失败的修补程序”的修补程序
- 实现“第三方设备”的补丁(返回供应商名称“ Apple”)
- 实施补丁以删除白名单检查
- 实现5Ghz和国家/地区代码补丁(默认情况下为美国)
- 实现WOWL(WoWLAN)禁用器(默认情况下处于启用状态)-唤醒后不会出现低速
- 实施补丁以禁用AirPortBrcmNIC中的LPO紧急情况
安装类型
- 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
引导参数
-brcmfxdbg
打开调试输出-brcmfxbeta
启用在不受支持的osx上加载-brcmfxoff
禁用kext加载-brcmfxwowl
启用WOWL(WoWLAN)-默认情况下处于禁用状态-brcmfx-alldrv
允许修补所有受支持的驱动程序,而无需考虑当前的系统版本(请参阅参考资料Matching device-id and kext name in different macOS versions
)
特定的引导参数和ioreg属性
brcmfx-country=XX
将国家/地区代码更改为XX(美国,CN,#a,…),知识兔也可以通过DSDT或“属性”→“设备属性”在引导加载程序中注入brcmfx-aspm
覆盖用于pci-aspm-default的值brcmfx-wowl
启用/禁用WoWLAN补丁brcmfx-alldrv
允许修补所有受支持的驱动程序,而无需考虑当前的系统版本(请参阅参考资料Matching device-id and kext name in different macOS versions
)brcmfx-driver=0|1|2|3
仅启用一个kext进行加载,0-AirPortBrcmNIC-MFG,1-AirPortBrcm4360、2-AirPortBrcmNIC,3-AirPortBrcm4331,知识兔也可以通过DSDT或“属性”注入→Bootloader中的DeviceProperties
Possible values for brcmfx-aspm (and pci-aspm-default):
kIOPCIExpressASPML0s
= 0x00000001,kIOPCIExpressASPML1
= 0x00000002,kIOPCIExpressCommonClk
= 0x00000040,kIOPCIExpressClkReq
= 0x00000100
Credits
- 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
在不同的macOS版本中匹配设备ID和KEXT名称
[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
[10.15]
- AirPortBrcm4360: 4331, 4353, IOProbeScore = 1400
- AirPortBrcm4331: removed
- AirPortBrcmNIC: 43ba, 43a3, 43a0, IOProbeScore = 1400
- AirPortBrcmNIC-MFG: removed
[11]
- AirPortBrcm4360: removed
- AirPortBrcm4331: removed
- AirPortBrcmNIC: 43ba, 43a3, 43a0, IOProbeScore = 1400
- AirPortBrcmNIC-MFG: removed
Explanation in russian language: (https://applelife.ru/threads/airportbrcmfixup-lilu-plagin-s-naborom-patchej-dlja-wi-fi-kart-broadcom.2355103/page-16#post-751173)
在版本[10.13]之前,只有两个kext,大多数情况下,FakeID = 43a0足以使Wi-Fi正常工作。在[10.13](及更高版本)中,一个家庭被分为AirPortBrcm4360(可能在10.15中删除),AirPortBrcmNIC和AirPortBrcmNIC-MFG。必须考虑使用适当的假ID来加载适当的kext。某些device-id在一个kext中有限制(例如5 Ghz范围),但没有另一个。
请注意
在11(Big Sur)类中,AirPortBrcm4360已被完全删除。使用具有此类名称的喷油嘴kext并匹配vendor-id:device-id
原始机场kext的装载。为了解决此问题并保持与旧系统的兼容性,知识兔从主Info.plist文件中删除了AirPortBrcm4360和AirPortBrcmNIC的注射器。而是在PlugIns文件夹中部署了两个新的kext注入器:AirPortBrcm4360_Injector.kext和AirPortBrcmNIC_Injector.kext。 您必须在BigSur中阻止(或删除)AirPortBrcm4360_Injector.kext。在OpenCore中,您可以为AirPortBrcm4360_Injector.kext指定MaxKernel 19.9.9。在Clover中,知识兔可以有两个不同的AirportBrcmFixup.kext,但是在版本名称为11 Airport的kext文件夹中,不能包含AirPortBrcm4360_Injector.kext。如果知识兔vendor-id:device-id
AirPortBrcmNIC或AirPortBrcm4360本身支持您,则根本不需要这些注入器(您的设备ID包含在这些kexts中的Info.plist中)。
v2.1.7
- 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
v2.1.3
- Added constants for macOS 12 support
v2.1.4
- 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.
下载仅供下载体验和测试学习,不得商用和正当使用。