• Become a Premium Member for $25/year with no ads to improve your community experience. Upgrade to Pro Account for faster response and no wait times!

GUIDE How to Enable Ethernet on macOS [Broadcom, Realtek, Atheros, Intel, Aquantia, Mellanox, Chelsio, Myricom and Solarflare]

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
8,463
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
13.x
Bootloader
  1. OpenCore (UEFI)
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to Enable Ethernet on macOS [Clover/OpenCore]

This guide covers the implementation of Ethernet on macOS using Clover and OpenCore. By following this guide, you'll be able to enable Ethernet on macOS using Clover or OpenCore Bootloader. The guide supports numerous Ethernet vendors such as Broadcom, Realtek, Atheros, Intel, Aquantia, Mellanox, Chelsio, Myricom and Solarfare.

Overview


Unlike other hardware on Non-Apple computers, Ethernet also does not work natively unless you're lucky enough to have a compatible Ethernet chip that is natively supported by macOS. Most of these are from Broadcom, Intel, and Aquantia. However, even when you have such compatible Ethernet hardware, you still need to tweak the configuration to make the drivers load. But with the help of third-party kexts (drivers) available from the community members, it is possible to enable the Ethernet function effortlessly. The particular Ethernet device can be enabled using the third-party kext.

However, there are certain Ethernet Chipsets (such as AQ107, and AQC113) have some extra requirements other than injecting the third-party kext. We'll cover all such requirements in this guide.

Broadcom

Realtek

Atheros

Intel I225-V Ethernet


Since the release of 400 series Motherboards (Comet Lake), the manufacturers have been shipping the Motherboards with Intel I225-V chip. This chip is usually found on High-End Motherboards. This chip is also being used by some AMD Ryzen Motherboards. The chip is capable of 2.5Gb/s, however, it does not work as expected. To fix this, you need to spoof the Device ID and use Apple's I225LM driver. This can be easily achieved by utilizing FakePCIID and FakePCIID_Intel_I225-V and spoofing the device-id to F2150000. But with this approach, the speed was limited to 1Gb/s only or the Ethernet would not work. Since Big Sur 11.6.6, Apple introduced some new device id in its AppleIntelI210Ethernet driver. With this implementation of Apple, 15F2 and 15F3 was available as device-id. But then Apple also introduced Driver Kit extensions which included com.apple.DriverKit-AppleEthernetE1000 and this implementation prevented the Ethernet from working and still required the FakePCIID method. However, by disabling Apple's DEXT driver which enables the loading of AppleIntelI210Ethernet driver instead of com.apple.DriverKit-AppleEthernetE1000. However, on some of the Motherboards, this doesn't work as expected.

Starting from macOS Ventura 13.x, Apple introduced native support for this particular chipset and since then, it works natively, without any additional configuration, provided that you have the VT-d function enabled. However, this becomes an issue for the AMD systems as the VT-d is not supported and cannot be enabled under macOS. To fix this,

Aquantia Ethernet


Apple has been using Aquantia for a long time. With the release of High Sierra, 10.13.2, there is an included driver for Aquantia AQtion AQC-107s based 10GbE network cards. Others like AQC-107, AQN-107, etc require a kext patch. However, the kext patch is depreciated now and with the release of OpenCore v0.8.0, you can use the Quirk ForceAquantiaEthernet for the same purpose. Note that this Quirk requires the VT-d function to work. Some systems may require memory mapping as well.


1. Mount the ESP
2. Open the config.plist using OCAT
3. Enable ForceAquantiaEthernet Quirk under the Kernel>Quirks section of your config.plist
4. Disable DisableIoMapper Quirk under the Kernel>Quirks section of your config.plist
5. Save config.plist
6. Restart macOS

AMD and Virtual Machines

Due to the unavailability of VT-d on AMD systems under macOS and on Virtual Machines (as it is being used by the host system), you cannot drive NICs which require a VT-d function. For NICs like AQC107, luckily there is a Kernel Patch which can be injected via OpenCore and the NIC can be driven normally as you would on a bare metal machine.

1. Mount the ESP
2. Open the config.plist using OCAT
3. Add the following patch under the Kernel>Patch section of your config.plist. In addition, you'll need to specify the MinKernel to 23.0.0 to ensure that the kext is only loaded on macOS Monterey and above.

ArchIdentifier*CommentFindReplaceMaskReplaceMaskMinKernelCountEnabled
Anycom.apple.driver.AppleEthernetAquantiaAqtionCaseySJ - Fix alloc_dma_buffer (including Sonoma)4889C741 B8030000 004889C741 B8130000 00F8FFC7FF FFFFFFFF FF00000000 00100000 0021.0.03YES
Anycom.apple.driver.AppleEthernetAquantiaAqtionCaseySJ - Fix IOBufferMemoryDescriptor::withOptionsBA000000 00BF0000 0000BA000200 00BF1300 0000FFFF00FF FFFFF0FF FFFF00000000 00001000 000021.0.03YES

4. Save config.plist
5. Restart macOS


ArchIdentifier*CommentFindReplaceMaskReplaceMaskMinKernelCountEnabled
Anycom.apple.driver.AppleEthernetAquantiaAqtionMarvell AQC107 10GBE Patch41C70424 00000000 E941C70424 01000000 E9F8FFC7FF FFFFFFFF FF00000000 00100000 0021.0.03YES
Anycom.apple.driver.AppleEthernetAquantiaAqtionCaseySJ - Fix IOBufferMemoryDescriptor::withOptionsBA000000 00BF0000 0000BA000200 00BF1300 0000FFFF00FF FFFFF0FF FFFF00000000 00001000 000021.0.03


AQC-107 with Device-id 0x00B1.

AQC113
1. Mount the ESP
2. Open the config.plist using OCAT
3. Enable ForceAquantiaEthernet Quirk under the Kernel>Quirks section of your config.plist
4. Disable DisableIoMapper Quirk under the Kernel>Quirks section of your config.plist
5. Save config.plist
6. Restart macOS

Mellanox



Mellanox (now NVIDIA), is one of the biggest networking product manufacturers. Mellanox manufactures NICs, Switches, and Optical Transceivers, and ranges up to 400GbE NICs and much more in the networking solution. Mellanox has been in the industry for quite a long, however, there was no support on the macOS side until macOS Ventura (either third-party or from Mellanox or Apple itself). Since the macOS Ventura 13.x, Apple introduced native support for the Mellanox products on the macOS side and since then, it works natively, without any additional configuration, provided that you have the VT-d function enabled. However, this becomes an issue for the AMD systems as the VT-d is not supported and cannot be enabled under macOS. To fix this,

Currently, the Mellanox Connect-X3, X4, X5 and X6 are supported. To see the compatibility list, please see the compatibility list.


Chelsio



Known for the lowest latency and highest throughput, Chelsio is one of the fastest networking product manufacturers in the industry whose NICs range up to 100GbE. The good part is that Chelsio does provide the official drivers for macOS and that too since OS X Mountain Lion (10.8). Currently, the latest driver available is for Catalina but we're hoping to see a new driver for the newer macOS versions very soon.

1. Visit the Chelsio Download Center.
2. Select your Ethernet Adapter from the list and then select macOS as Platform.
3. Then select Network Driver (NIC) from the Software and you'll find the available downloads.
4. Select the appropriate version of macOS and click on Download.
5. To proceed with the download, click on Accept to accept the License Agreement
6. Once downloaded, double-click the DMG file to open.
7. Double-click the installer package and continue with the installation. When prompted, enter your password.
8. Restart your System


macOS Big Sur and Later

Starting with macOS Big Sur and Later, there is no signed driver available from Chelsio and as a result, the driver fails to load on these newer macOS versions. In order to fix them, you'll have to either wait for Chelsio to release a new driver or use a community based kext which can be easily loaded via OpenCore or Clover bootloader.

1. Download Chelsio Kext.
2. Mount your ESP.
3. Copy cxgb.kext to the EFI/OC/Kexts directory.
4. Open your config.plist and add cxgb.kext entry in the Kernel>Add section of your config.plist.
5. Disable DisableIoMapper Quirk under the Kernel>Quirks section of your config.plist
6. Save config.plist.
7. Restart macOS.

Myricom


Myricom (now ARIA Cybersecurity) is also one of the manufacturers that specializes in networking products and has NICs ranging up to 10GbE and there has not been any new NIC since a long time. However, unlike Chelsio, Myricom also provides the official drivers for macOS.

1. Visit Aria Support Center.
2. Click on Myri10Ge-1.3.6 driver for MacOS and it will start to download the drivers.
3. Once downloaded, double-click the DMG file to open.
4. Double-click the installer package and continue with the installation. When prompted, enter your password.
5. Restart your System

SolarFlare​


Unlike Chelsio, SolarFlare (now acquired by AMD), is also one of the manufacturers who specializes in networking products and has NICs ranging up to . However, due to the acquisition, SolarFlare has removed the drivers as the website is no longer available. Due to this, there are no new drivers released for the newer NICs and only older NICs are supported. As a result, there might be bugs on certain macOS versions.



macOS Ventura


Since the release of macOS Ventura, a few of the Ethernet devices completely stopped working including built-in and PCIe based such as AQuantia. Upon investigating we came to find that, you'll need to enable the VT-d function on your System. Note that some systems may require memory mapping.

Compatibility


Refer to the thread linked below for more information on Ethernet compatibility.

Requirements


Supported VendorsRealtek, Intel, Atheros, Broadcom, Marvell
KextsOriginal Ethernet kexts in S/L/E
macOS VersionOS X 10.7 Lion and Later

STEP 1: Obtain Ethernet Information
The very first step is to determine your Ethernet vendor and obtain the model and Device ID which will be required further to match the available driver and then use it to enable Ethernet. To obtain the model and Device ID, follow the steps below.

There are numerous ways to obtain the model and Device ID of your Ethernet device. All the possible methods have been described below.

Method #1: Using the Manufacturer's website
You can use your manufacturer's website to find out the Ethernet model based on your Motherboard. However, a disadvantage of this method is if you're unaware of your Motherboard model, this can be difficult. Moreover, some of the manufacturers may not provide the model information and you can have absolutely very little information when it comes to OEM Systems.

Method #2: Using Device Manager
You can use this method and is useful if you're in the process of preparing EFI to boot into OS X/macOS. However, this method requires a copy of Windows installed along with the Ethernet Driver.

Method #3: Using AIDAx64

Method #4: Using Hackintool
If you have already installed OS X/macOS, this is the best method to obtain the hardware information followed by AIDA. However, you need to make sure there's no spoofing or the Devive ID will be reported differently than the original one.

Under the Subclass name, look for "Ethernet Controller" to find the network type. Under Vendor Name you can find the Vendor name and under Device Name, you can find your Ethernet model. Under the Vendor and Device column, you can find the Vendor ID and Device ID respectively.

Once you have obtained the Ethernet Device ID, note it down or take a picture for further use.

STEP 2: Find Compatible Kext
Once you have obtained the Ethernet information, the next step is to find a compatible kext and depending on your Bootloader, inject the kext using Clover or OpenCore. To find the compatible Kext, follow the steps below.

1. Visit the Ethernet Compatibility List and look for the Vendor ID and Device ID of your Ethernet device.
2. Once you have determined the corresponding kext, note down the kext name for further use.

STEP 3: Add Required Kext
The next step is to add the required kext to enable the Ethernet.

1. Download the kext as per STEP 2 from the downloads section of this forum.
2. Mount your ESP.

For Clover:
If you're using Clover, copy the kext to EFI/Clover/Kext/Others

For OpenCore:
If you're using OpenCore, copy the kext to EFI/OC/Kexts. You'll also need to add the kext entry in the Kernel section of your config.plist.

NOTES:
  • Download the latest version for better support.
  • Download only the RELEASE.zip file.
  • If the kext is already present in the directory, replace them with a new version
  • Do not use .dSYM file

STEP 4: Restart your System
After performing all the above steps, restart your system for the applied changes to take effect.
 
Last edited:

Forum statistics

Threads
1,936
Messages
18,095
Members
27,840
Latest member
natsukiro