旧版macOS系统内置无线驱动:IO80211Family.kext

概述

前几天转发了 macOS 10.13 High Sierra 的 IO80211Family.kext,发现有这个需求的同学还是挺多的,而且有需求的本人似乎都不太明白为什么需要这个。好吧,这里重开一文明确一下。

在旧版本的 macOS 系统中,内置了 IO80211Family.kext 驱动,主要用于驱动无线网卡。苹果公司总是因为这样那样的原因(其实还是市占率低没有历史包袱)几乎每几年就要放弃一大批硬件的向后兼容,因此重新注入驱动可在新版本 macOS 中找回老硬件的原生支持,对于 IO80211Family.kext 来说,那就是能提供老款无线网卡的支持啦。

 

安装

  • 文件包中提供了从 10.11 到 10.15 的 IO80211Family.kext,基本使用方法是放到 Clover 或 OpenCore 对应目录(OpenCore 还需要在 config 中启用),不要放到 S/L/E 目录
  • 「注意」当你在引导工具中注入了此类老款驱动时,如果要运行老版本系统时,一定要关闭注入,或在 config.plist → Kernel → add 添加 MinKernel 的限制,具体值如下。如不按此操作会因 kext 冲突导致系统功能不正常或无法引导;
Sierra 及以上 = 16.0.0
High Sierra 及以上 = 17.0.0
Mojave 及以上 = 18.0.0
Catalina 及以上 = 19.0.0
Big Sur 及以上 = 20.0.0

 

支持的设备 ID

  • IO80211ElCapitan.kext
    • 推荐持有老博通芯片的用户在 macOS 10.14 及以上使用
    • 设置 MinKernel 为 16.0.0
    • 支持的设备 ID
      • 博通 - AppleAirPortBrcm43224
      • pci106b,4 = 未公开的设备
      • pci14e4,4311 = BCM4311
      • pci14e4,4312 = BCM4311
      • pci14e4,4313 = BCM4311
      • pci14e4,4318 = BCM4318
      • pci14e4,4319 = BCM4318
      • pci14e4,431a = 未知设备
      • pci14e4,4320 = BCM4306
      • pci14e4,4324 = BCM4309
      • pci14e4,4325 = BCM4306
      • pci14e4,4328 = BCM4328
      • pci14e4,432c = BCM4322
      • pci14e4,432d = BCM4322

 

  • IO80211HighSierra.kext
    • 推荐持有老高通 Atheros 芯片的用户在 macOS 10.12 及以上使用
    • 设置 MinKernel 为 18.0.0
    • 支持的设备 ID
      • Atheros - AirPortAtheros40
      • pci168c,30 = AR93xx
      • pci168c,2a = AR928X
      • pci106b,86 = 未公开的设备
      • pci168c,1c = AR242x / AR542x
      • pci168c,23 = AR5416
      • pci168c,24 = AR5418

 

  • IO80211Mojave.kext
    • 推荐持有老博通 BCM4322 芯片的用户在 macOS 10.15 及以上使用
    • 设置 MinKernel 为 19.0.0
    • 支持的设备 ID
      • 博通 - AirPortBrcm4331
      • pci14e4,432b = BCM4322

 

  • IO80211Catalina.kext
    • 推荐持有老博通 BCM4331 和 BCM43224 芯片的用户在 macOS 11.0 及以上使用
    • 设置 MinKernel 为 20.0.0
    • 支持的设备 ID
      • 博通 - AirPortBrcm4360
      • pci14e4,4331 = BCM4331
      • pci14e4,4353 = BCM43224

 

其它信息

博通 BCM4331

使用 BCM4331 芯片组的用户需要注意,macOS Big Sur 其实仍然部分程度上支持这个无线网卡,但是需要使用仿冒设备 ID。与注入修改过的 IO80211.kext 相比,使用仿冒 ID 是一种更靠谱的解决方法,但是由于仿冒设备 ID 的效果会始终存在于 macOS 中,因此可能会破坏老版本的 macOS(由于 Windows 或 Linux 中不存在 DeviceProperties,无需担心)。

我们需要使用 gfxutil 来完成这个部分(点击下载,提取码:62ss),解压 gfxutil 到桌面,然后打开 终端.app,输入以下命令:

~/Desktop/gfxutil | grep -i "14e4:4331"

如果你的终端无法定位 gfxutil,可直接把 gfxutil 拖进终端自动补全路径,然后输入后续部分内容。

运行后,你将得到类似下面的结果:

00:1f.6 14e4:4331 [email protected][email protected],6 = PciRoot(0x0)/Pci(0x1F,0x6)

其中 PciRoot(0x0)/Pci(0x1F,0x6) 就是设备的具体位置,把 Pci 位置这个添加到:

  • OpenCore:config.plist → DeviceProperties → add
  • Clover:config.plist → Devices → Properties → add

然后,添加具体值,如下:

  • compatible
    • 类型 String
    • "pci14e4,43ba"
  • device-id
    • 类型 Data
    • BA430000

最后重启生效(Clover 未验证是否有效)。

 

不支持的高通 Atheros 芯片组

对于部分 AR9285/7 和 AR9280 芯片组,需要在无线网卡上仿冒设备 ID。这是由于 AirPortAtheros40.kext 具有内部 PCI ID 复检功能,手工修改扩展设备 ID 列表无法生效。

我们需要使用 gfxutil 来完成这个部分(点击下载,提取码:62ss),解压 gfxutil 到桌面,然后打开 终端.app,输入以下命令:

~/Desktop/gfxutil | grep -i "pci168c:002b|pci168c:002e"

如果你的终端无法定位 gfxutil,可直接把 gfxutil 拖进终端自动补全路径,然后输入后续部分内容。

运行后,你将得到类似下面的结果:

00:1f.6 pci168c:002e [email protected][email protected],6 = PciRoot(0x0)/Pci(0x1F,0x6)

其中 PciRoot(0x0)/Pci(0x1F,0x6) 就是设备的具体位置,把 Pci 位置这个添加到:

  • OpenCore:config.plist → DeviceProperties → add
  • Clover:config.plist → Devices → Properties → add

然后,添加具体值,如下:

  • compatible
    • 类型 String
    • ""pci168c,2a""
  • device-id
    • 类型 Data
    • 2A000000

最后重启生效(Clover 未验证是否有效)。

 

下载地址

    已赞助超级会员可下载 去升级
    • 解压密码heipg.cn
    0. 本站所有资源解压密码均为 heipg.cn
    1. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
    2. 如有无法下载的链接,联系:admin#heipg.cn,或到QQ群进行反馈,我们将及时进行处理。
    3. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:admin#heipg.cn,我们将第一时间配合处理!

    黑苹果星球 » 旧版macOS系统内置无线驱动:IO80211Family.kext

    发表评论