I noticed that some users have issues with getting both 3rd party WiFi and Ethernet cards to work if they dropped the DMAR
table and replaced it with a modified one without reserved memory regions. The DMAR table of the Z490 Vision G contains 2 reserved memory regions – one of theme is for the XHCI Controller which handles USB.
I've read in a support thread for the Aquantia 10 Gigabit Ethernet Card that it worked when the memory region for the XHCI controller (PCI Path: 14,00) remained in the DMAR table. OpenCore 0.8.0 even introduced an extra Quirk called ForceAquantiaEthernet
to enable it in macOS.
So I conducted some tests with 3 variants of the DMAR table: one without memory regions and two more with either one or the other memory region removed. It turns out that:
- If you've flashed the custom firmware for the Intel I225-V Controller, it doesn't matter if you keep or and replace the stock
DMAR
table – it will work, as long asVt-d
is enabled andDisableIoMapper
is set tofalse
. 3rd Party Wifi/Ethernet cards may still require aforementioned memory regions, so it's best to not drop/replace the DMAR table! - If the stock firmware is used, it's a different story.
Below you find the results of my tests and recommended settings for different scenarios.
Important
Please use the [Latest Release](https://github.com/5T33Z0/Gigabyte-Z490-Vision-G-Hackintosh-OpenCore/releases) of my EFI folder before reporting any issues.
-
Revert previous Fixes:
- Disable/Delete
SSDT-I225-V.aml
(if present) - Disable/Delete
FakePCIID.kext
(if present) - Disable/Delete
FakePCIID_Intel_I225-V.kext
(if present) - Disable/Delete
AppleIntelI210Ethernet.kext
(if preent) - Disable Kernel/Patch
__Z18e1000_set_mac_typeP8e1000_hw
(if present)
- Disable/Delete
-
Add
AppleIGC.kext
- Add
AppleIGC.kext
toEFI/OC/Kexts
and config.plist. - Optional: add
e1000=0
toboot-args
(macOS Monterey+). For Big Sur, usedk.e1000=0
. I don't need it on my system. - In
Kernel/Quirks
, turn onDisableIoMapper
(might work without it. I need it on my I225-V with custom firmware). - Save your config and reboot
- Run IORegistryExplorer and verify that the kext is servicing the Intel I225-V:
- Add
Previous instructions (Obsolete. Click to reveal.)
macOS | Procedure |
---|---|
12 and 13 | Apply the Controller Fix and then adjust the following settings in the config.plist:
|
11.4+ |
|
10.15 to 11.3 |
|
10.14 and older | Not compatible. You need a 3rd party WiFi/Ethernet Card! |
macOS | Vt-D | DisableIoMapper | DMAR (OEM) | DMAR (dropped/replaced) | I225-V / 3rd party LAN/WiFi |
---|---|---|---|---|---|
11.4 to 13.0 | ON | OFF | YES | NO / NO | YES / YES |
11.4 to 12.5 | ON | OFF | NO | YES / YES | YES/ NO |
11.4 to 12.5 | OFF/ON | ON | NO | YES / YES | NO / YES |
10.15 to 11.3 | OFF/ON | ON | YES | NO / NO | YES / YES |
NOTES:
- In macOS 12, dropping DMAR table and replacing it by a modified one without Reserved Memory Regions may be required for Intel WiFi cards to work.
- macOS 13.3+: OpenCore 0.9.2 introduced a new Quirk called
DisableIoMapperMapping
(works independently ofDisableIoMapper
). It address compatibility issues with Wi-Fi, Ethernet and Thunderbolt devices whenAppleVTD
is enabled inroduced by macOS 13.3. So if you had no connectivity issues prior to updating to macOS 13.3 or nwer, you can try this quirk and see if it fixes the issue. If your configuration required dropping and replacinig the DMAR table before it's still required now.
macOS | Vt-D | DisableIoMapper | DMAR (OEM) | DMAR (dropped/replaced) | I225-V / 3rd Party party LAN/WiFi |
---|---|---|---|---|---|
12.5+ (Fix Opt. 1) | ON | OFF | YES | NO / NO | YES / YES |
12.5+ (stock fw) | ON | OFF | YES | NO / NO | NO / YES |
11.4 to 11.6.7 | ON | ON 1 | NO | YES / YES | YES / YES |
10.15 to 11.3 | OFF/ON | OFF/ON | YES | NO / NO | YES / NO |
If you can't access the Internet after applying the settings, remove the following files via Terminal and reboot:
sudo rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist
sudo rm /Library/Preferences/SystemConfiguration/preferences.plist
In macOS Ventura, AppleIntelI210Ethernet.kext
was removed from the IONetworkingFamily.kext
located under /S/L/E/ because there are no Apple devices which have a 2.5 Gigabit port. Therefore, boot-args dk.e1000=0
(Big Sur) and e1000=0
(Monterey) which ensured that the I225 Controller could connect to the AppleIntelI210Ethernet.kext
will no longer work. But there's a workaround.
Follow these Instructions to enable the I225-V Controller in macOS Ventura.
- Luckily for us, the .dext version of the
AppleIntelI210Ethernet
driver is still present under /S/L/DriverExtensions - Therefore you need to disable boot-args
dk.e1000=0
ande1000=0
so that the I225 can connect to the .dext driver.
This way, Internet is working for macOS Catalina up to Ventura.
- You can leave the Kernel Patch for macOS Catalina enabled since it will only be applied up to Kernel 20.4 so it won't affect Big Sur and newer. But you have to disable the device property
PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
since the included Device-ID will spoof the I225-V as I219 which will result in Internet not working on Big Sur 11.4 and newer. So put#
in front of the mentioned PCI path to disable it. See this issue report for further details. - The provided info about WiFi is based on issue reports discussed here and in the I225-V thread for macOS Monterey since I don't use WiFi. There's also a support thread for I225-V on macOS Ventura
- Guide for dropping/replacing the DMAR table
- If you've changed something in the
DeviceProperties
for testing and revert the settings later, Internet may not work. In this case reset the kernel cache by enteringsudo kextcache -i /
in Terminal.
Footnotes
-
Combining
Vt-D
andDisableIOMapper
makes no sense to me in regards to getting the I225-V working in macOS but that's what the user reported as working. ↩