diff --git a/CHANGELOG.md b/CHANGELOG.md
index bfd8d8823..49a91ef4e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,7 @@
- Add Ventura Software Catalog parsing
- Add Kernel Debug Kit checks to Ventura root patching
- Add USB map injection for dropped models
+ - Resolve Ethernet support on MacPro3,1-5,1
## 0.4.6
- Fix Bluetooth support in 12.4 Release
diff --git a/payloads/Config/config.plist b/payloads/Config/config.plist
index 29438cf65..6cb6bf471 100644
--- a/payloads/Config/config.plist
+++ b/payloads/Config/config.plist
@@ -663,6 +663,42 @@
PlistPath
Contents/Info.plist
+
+ Arch
+ x86_64
+ Comment
+ Intel 80003ES2LAN Ethernet Patch
+ Enabled
+
+ MaxKernel
+
+ MinKernel
+ 22.0.0
+ BundlePath
+ Intel82574L.kext
+ ExecutablePath
+ Contents/MacOS/Intel82574L
+ PlistPath
+ Contents/Info.plist
+
+
+ Arch
+ x86_64
+ Comment
+ Intel 82574L Ethernet Patch
+ Enabled
+
+ MaxKernel
+
+ MinKernel
+ 22.0.0
+ BundlePath
+ AppleIntel8254XEthernet.kext
+ ExecutablePath
+ Contents/MacOS/AppleIntel8254XEthernet
+ PlistPath
+ Contents/Info.plist
+
Arch
x86_64
diff --git a/payloads/Kexts/Ethernet/AppleIntel8254XEthernet-v1.0.0.zip b/payloads/Kexts/Ethernet/AppleIntel8254XEthernet-v1.0.0.zip
new file mode 100644
index 000000000..06011fc2b
Binary files /dev/null and b/payloads/Kexts/Ethernet/AppleIntel8254XEthernet-v1.0.0.zip differ
diff --git a/payloads/Kexts/Ethernet/Intel82574L-v1.0.0.zip b/payloads/Kexts/Ethernet/Intel82574L-v1.0.0.zip
new file mode 100644
index 000000000..8db9c74c5
Binary files /dev/null and b/payloads/Kexts/Ethernet/Intel82574L-v1.0.0.zip differ
diff --git a/resources/build.py b/resources/build.py
index cc95fe536..3ffe04745 100644
--- a/resources/build.py
+++ b/resources/build.py
@@ -219,6 +219,10 @@ class BuildOpenCore:
self.enable_kext("nForceEthernet.kext", self.constants.nforce_version, self.constants.nforce_path)
elif smbios_data.smbios_dictionary[self.model]["Ethernet Chipset"] == "Marvell":
self.enable_kext("MarvelYukonEthernet.kext", self.constants.marvel_version, self.constants.marvel_path)
+ elif smbios_data.smbios_dictionary[self.model]["Ethernet Chipset"] == "Intel 80003ES2LAN":
+ self.enable_kext("Intel82574L", self.constants.intel_82574l_version, self.constants.intel_82574l_path)
+ elif smbios_data.smbios_dictionary[self.model]["Ethernet Chipset"] == "Intel 82574L":
+ self.enable_kext("AppleIntel8254XEthernet.kext", self.constants.intel_8254x_version, self.constants.intel_8254x_path)
# i3 Ivy Bridge iMacs don't support RDRAND
# However for prebuilt, assume they do
diff --git a/resources/constants.py b/resources/constants.py
index bf2d7f136..bdf685a8b 100644
--- a/resources/constants.py
+++ b/resources/constants.py
@@ -58,6 +58,8 @@ class Constants:
self.apfs_zlib_version = "12.3.1" # NoAVXFSCompressionTypeZlib
self.multitouch_version = "1.0.0" # AppleUSBMultitouch
self.topcase_version = "1.0.0" # AppleUSBTopCase
+ self.intel_82574l_version = "1.0.0" # Intel82574L
+ self.intel_8254x_version = "1.0.0" # AppleIntel8254XEthernet
## Apple - Dortania Modified
self.bcm570_version = "1.0.2" # CatalinaBCM5701Ethernet
@@ -303,6 +305,14 @@ class Constants:
def nforce_path(self):
return self.payload_kexts_path / Path(f"Ethernet/nForceEthernet-v{self.nforce_version}.zip")
+ @property
+ def intel_82574l_path(self):
+ return self.payload_kexts_path / Path(f"Ethernet/Intel82574L-v{self.intel_82574l_version}.zip")
+
+ @property
+ def intel_8254x_path(self):
+ return self.payload_kexts_path / Path(f"Ethernet/AppleIntel8254XEthernet-v{self.intel_8254x_version}.zip")
+
@property
def mce_path(self):
return self.payload_kexts_path / Path(f"Misc/AppleMCEReporterDisabler-v{self.mce_version}.zip")