macOS Monterey12、Ventura 13、Sonoma 14、Sequoia 15及更高系统 I225-V/I226-V网卡驱动教程

前言

本教程适用I225-V/I226-V网卡,已经在macOS Ventura 13、Sonoma 14、Sequoia 15系统中测试可行。对于I225-V/I226-V网卡,有些伙伴会使用AppleIGC.kext 的驱动,但是有部分的电脑加载了该驱动后,会出现禁止图标。无法进入系统。本文就介绍另外的一种方式驱动。

在macOS 13beta1上,驱动I225-V网卡,主板为Rog Z690-A DDR4吹雪,在macOS12.4下面:直接用device-id:F3158680 可以驱动,系统显示加载为Appleintell210Ethernet,需要手动设置全双工。使用Disk Speed Test测试NAS网盘的时候写入可以达到100MB/s,读取速度会从100MB/s迅速掉到50MB/s。

但是在macOS13beta1下面:
发现下面4种方法驱动会出现不同现象:

  1. 直接加载编译好的DSDT.aml DSDT.aml.zip (73.38 KB, 下载次数: 23, 售价: 1 PB币) (这个文件我这块主板的),系统会自动安装AppleEthernetE1000 的驱动,网卡只能自动分配为100Mbps的速度,不会死机和自动重启。
  2. 使用device-id:F3158680 ,无法加载AppleEthernetE1000 的驱动,也无法识别到网卡,不会出现频繁死机重启的现象。
  3. 加入参数e1000=0,无法加载AppleEthernetE1000 的驱动,无法识别到网卡,不会出现频繁死机重启的现象。
  4. 如果不仿冒ID,不加任何参数,不加入DSDT.aml,系统会自动安装AppleEthernetE1000 的驱动,会出现频繁死机重启的现象。

如果出现频繁死机重启的现象的,可以通过 删除:网络-以太网服务后解决这种死机重启情况,缺点就是有线网卡就没法使用了。

如果想成功加载E1000驱动并且能正常稳定使用的话,核心就是DMAR的修改。

这个方法我今天测试过了,macOS Monterey12、Ventura 13、Sonoma 14、Sequoia 15都能成功的自动驱动为AppleEthernetE1000,使用Disk Speed Test测试NAS网盘的时候写入可以稳定达到100MB/s,读取速度也是稳定100MB/s。macOS13beta1 也不再出现死机或者自动重启的显现了。可以说是基本完美了。

解决方法

操作步骤如下:
1. 首先确认BIOS 的VT-d 有打开,OpenCore config 设定的 Kernel > Quirks > DisableIoMapper 为True 。(也就是BIOS 内VT-d 有启用,但是 OpenCore 遮蔽 VT-d 机制的状态)
2.系统设置-网络-以太网:TCP/IP:使用DHCP,硬件-配置:自动

3.使用DMAR.aml(DMAR.aml获取方法看文章的后面“DMAR.aml获取”)
4.OpenCore 的config.plist 设定如下:

  • ACPI > Add > [n] >
    Comment: DMAR Table
    Enabled <bool> : True
    Path <String> : DMAR.aml (即上个步骤产生的档案)
  • DeviceProperties > PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0) : 拿掉或加上# 做为备注
  • NVRAM > Add > 7C436110-AB2A-4BBB-A880-FE41995C9F82 > boot-args : 删除引导参数dk.e1000=0 e1000=0(如果有的话)
  • Kernel > Quirks > DisableIoMapper调整为 False
  • ACPI > Delete >[n] 加入:
    Comment : Drop OEM DMAR Table
    Enabled <boolean>:True
    OemTableId <data>:45444B3220202020
    TableLength <integer>:0
    TableSignature <data>:444D4152(注意:使用OCC添加的话直接将TableSignature <data>成DMAR就行了,最后用Proper Tree检查TableSignature <data>是否为444D4152)
    将config.plist 存挡

原理:config.plist 的设定会依照ACPI > Delete 的描述,删除主机板载的OEM DMAR Table 资料,并载入自订修正后的DMAR.aml 资料。
修改项目的config.plist 如下:

最后重启开机。若Intel VT-d 启用且I225-V / I226-V有线网卡新版驱动成功载入的话,网卡的部分一样亮绿灯,且以太网卡驱动也是新版。网卡驱动成功。

内容拓展:

开启VT-d、修改DMAR,费了那么多功夫载入新版驱动,到底有什么好处?
若将来哪天新版 macOS 把旧版驱动拿掉,到时候还是得面对,所以趁现在学起来也好。

从macOS 11.4 开始,系统预设载入新的网卡驱动(com.apple.DriverKit-AppleEthernetE1000.dext),这导致本来的板载I225-V网卡用户使用11.3 以前的OpenCode config.plist 设定且不更改的话,会发生当机重启的现象,所以需在boot-args 加入参数 dk.e1000=0 (masOS 12.3 以后改为 e1000=0 )强迫载入旧版 AppleIntelI210Ethernet.kext 驱动来避免系统崩溃,后来也就一直这么使用旧驱动。直到近日得知并解决Intel I225-V 网卡于Monterey 系统的问题后,才大概知道新版驱动造成系统崩溃的原因:

新版网卡驱动依赖 Intel VT-d 功能(IO 虚拟化直接存取技术),而Intel VT-d 却是长期以来黑苹果的死穴。以往黑苹果解决VT-d 冲突的方式不外乎两种:
(1) 到BIOS 设定关闭VT-d 功能
(2) 若设备未提供VT-d 关闭选项且功能预设为开启,或是BIOS 将Intel VT-d 设定启用时,则必需在OpenCore config 设定的Kernel > Quirks 底下,将DisableIoMapper 设定 True 来绕过VT-d 机制。这两种方法都会让macOS 停用VT-d ,算是逃避问题的手段。

所以了,如果黑苹果要使用新版驱动,就意味着无法规避VT-d 机制,得面对处理这个死穴。而 VT-d 使用 DMA Remapping 的技术,必需有一组DMA Rempping Table 数据(名称为DMAR)储存在BIOS 的 ACPI 表内。因此有人研究出解决方案,只需适当修正DMAR 的内容,就能解除这个死穴,看来这又是Apple 一贯「软硬体深度绑定」的套路。

DMAR.aml获取

以Rog Strix Z690-A DDR4吹雪 来说,操作的方法如下:
(一)取得修正后的DMAR 数据表
DMAR 数据表跟USB Port Map 一样,不同主板就会有不同的内容。Rog Strix Z690-A DDR4吹雪可以直接拿来用,或者是自行从自己的主板提取,操作方式如下(参考来源https://www.hackintosh-forum.de/forum/thread/47303-probleme-mit-virtualbox-auf-dem-hackintosh/?postID=710720#post710720):
1. 首先确认BIOS 的VT-d 有打开,OpenCore config 设定的 Kernel > Quirks > DisableIoMapper 为True 。(也就是BIOS 内VT-d 有启用,但是 OpenCore 遮蔽 VT-d 机制的状态)
2. 打开 MaciASL 工具,文件 > 从ACPI 获取> DMAR

则会开启系统内的DMAR 表。

在上半部先注意到黄框内两个值:

  • Signature : "DMAR"
  • Oem Table ID : "EDK2 " (注意右边有四个空格)

下半部是重点:

  • 反白部分(即将两个[Reserved Memory Region] 区段)删除(我的吹雪这块板子就一个[Reserved Memory Region] 区段,有的主板是两个,有的主板可能一个也没有,没有[Reserved Memory Region] 区段的就不用做删除动作,直接另存.aml。)
  • 最下方Raw Table Data 的部分,跟右边绿色的部分对照得到:
    "DMAR" 的HEX 值为44 4D 41 52
    "EDK2 " 的HEX 值为45 44 4B 32 20 20 20 20

也就是说,针对DMAR 的部分,要做两件事:

删除两个 [Reserved Memory Region] 区段
记下以下资讯:

  • Signature : "DMAR",HEX 值为44 4D 41 52
  • Oem Table ID : "EDK2 " HEX 值为45 44 4B 32 20 20 20 20

删除完两个区段后如下图,依照下图黄色标示空两行。

3. 修改后的DMAR 存挡到EFI/OC/ACPI/ 底下,档名不限,可取名为DMAR.aml。

其实说穿了,修正的DMAR 也只是删掉[Reserved Memory Region] 内容罢了。这个部分的介绍就是DMAR的获取方法。

原文链接:https://imacos.top/2025/02/15/i225-v-i226-v/,转载请注明出处。
0
1. 本站所有资源解压密码均为imacos.top
2. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
3. 如有无法下载的链接,联系:邮箱271638927@qq.com,或直接联系QQ271638927进行反馈,我们将及时进行处理。
4. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:邮箱271638927@qq.com,我们将第一时间配合处理!

评论0

请先
终身会员限时上线 ☞ 限时永久会员折扣活动开始啦 > 查看优惠
没有账号?注册  忘记密码?

社交账号快速登录

微信扫一扫关注
如已关注,请回复“登录”二字获取验证码