Merge pull request #1082 from Jazzzny/aquantia-fixup

Enhancement - Restore Aquantia Aqtion 10GBe Ethernet cards on Pre-VT-d systems running 12.3 and newer
This commit is contained in:
Mykola Grymalyuk
2023-07-14 10:22:42 -06:00
committed by GitHub
7 changed files with 60 additions and 0 deletions

View File

@@ -13,6 +13,9 @@
- Applicable to 3802-based GPUs (ie. Intel Ivy Bridge and Haswell iGPUs, Nvidia Kepler dGPUs)
- Remove MacBook4,1 references
- Machine was never properly supported by OCLP
- Restore support for Aquantia Aqtion 10GBe Ethernet for Pre-VT-d systems on 12.3 and newer
- i.e. MacPro5,1 with AQC107 expansion card running macOS Ventura/Monterey 12.6.x
- Thanks [@jazzzny](https://github.com/jazzzny)
- Backend Changes:
- device_probe.py:
- Add USB device parsing via `IOUSBDevice` class

View File

@@ -93,6 +93,7 @@ To run the project from source, see here: [Build and run from source](./SOURCE.m
* [FixPCIeLinkrate](https://github.com/joevt/joevtApps)
* [Jazzzny](https://github.com/Jazzzny)
* Research and various contributions to the project
* Aquantia Ethernet Patch
* Amazing users who've graciously donate hardware:
* [JohnD](https://forums.macrumors.com/members/johnd.53633/) - 2013 Mac Pro
* [SpiGAndromeda](https://github.com/SpiGAndromeda) - AMD Vega 64

View File

@@ -1581,6 +1581,42 @@
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>Comment</key>
<string>Aquantia Ethernet Patch - Core</string>
<key>Enabled</key>
<false/>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>21.4.0</string>
<key>BundlePath</key>
<string>AppleEthernetAbuantiaAqtion.kext</string>
<key>ExecutablePath</key>
<string>Contents/MacOS/AppleEthernetAbuantiaAqtion</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>Comment</key>
<string>Aquantia Ethernet Patch - Firmware</string>
<key>Enabled</key>
<false/>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>21.4.0</string>
<key>BundlePath</key>
<string>AppleEthernetAbuantiaAqtionFirmware.kext</string>
<key>ExecutablePath</key>
<string>Contents/MacOS/AppleEthernetAbuantiaAqtionFirmware</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
</array>
<key>Block</key>
<array/>

View File

@@ -63,6 +63,14 @@ class BuildWiredNetworking:
support.BuildSupport(self.model, self.constants, self.config).enable_kext("nForceEthernet.kext", self.constants.nforce_version, self.constants.nforce_path)
elif isinstance(controller, device_probe.Marvell) or isinstance(controller, device_probe.SysKonnect):
support.BuildSupport(self.model, self.constants, self.config).enable_kext("MarvelYukonEthernet.kext", self.constants.marvel_version, self.constants.marvel_path)
# Pre-Ivy Bridge Aquantia Ethernet Patch
if isinstance(controller, device_probe.Aquantia) and controller.chipset == device_probe.Aquantia.Chipsets.AppleEthernetAquantiaAqtion:
if not self.model in smbios_data.smbios_dictionary:
continue
if smbios_data.smbios_dictionary[self.model]["CPU Generation"] < cpu_data.CPUGen.ivy_bridge.value:
support.BuildSupport(self.model, self.constants, self.config).enable_kext("AppleEthernetAbuantiaAqtion.kext", self.constants.aquantia_version, self.constants.aquantia_path)
support.BuildSupport(self.model, self.constants, self.config).enable_kext("AppleEthernetAbuantiaAqtionFirmware.kext", self.constants.aquantiafirmware_version, self.constants.aquantiafirmware_path)
def _prebuilt_assumption(self) -> None:

View File

@@ -73,6 +73,10 @@ class Constants:
self.bigsursdxc_version: str = "1.0.0" # BigSurSDXC
self.monterey_ahci_version: str = "1.0.0" # CatalinaAHCI
## Apple - Jazzzny Modified
self.aquantia_version: str = "1.0.0" # AppleEthernetAbuantiaAqtion
self.aquantiafirmware_version: str = "1.0.0" # AppleEthernetAbuantiaAqtionFirmware
## Dortania
## https://github.com/dortania
self.backlight_injector_version: str = "1.1.0" # BacklightInjector
@@ -341,6 +345,14 @@ class Constants:
@property
def bcm570_path(self):
return self.payload_kexts_path / Path(f"Ethernet/CatalinaBCM5701Ethernet-v{self.bcm570_version}.zip")
@property
def aquantia_path(self):
return self.payload_kexts_path / Path(f"Ethernet/AppleEthernetAbuantiaAqtion-v{self.aquantia_version}.zip")
@property
def aquantiafirmware_path(self):
return self.payload_kexts_path / Path(f"Ethernet/AppleEthernetAbuantiaAqtionFirmware-v{self.aquantiafirmware_version}.zip")
@property
def i210_path(self):