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-idAirPortBrcmNIC或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.

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看下载!

如何免费获取密码?

点击下载

评论