From 0e02d45fce0ada00e337a86048011b0afe6ea33f Mon Sep 17 00:00:00 2001
From: Mykola Grymalyuk <48863253+khronokernel@users.noreply.github.com>
Date: Tue, 1 Dec 2020 15:44:19 -0700
Subject: [PATCH] Revamp Airport patches
---
Resources/BuildOpenCore.py | 94 ++++++++++++++++++++++----------------
Resources/ModelArray.py | 53 +++++++++++++++------
2 files changed, 93 insertions(+), 54 deletions(-)
diff --git a/Resources/BuildOpenCore.py b/Resources/BuildOpenCore.py
index 75e550130..c204aa7e9 100644
--- a/Resources/BuildOpenCore.py
+++ b/Resources/BuildOpenCore.py
@@ -115,31 +115,30 @@ def BuildEFI():
"",
""
)
- if current_model in ModelArray.WifiBCM94328:
- print("- Wifi patches currently unsupported")
- # TO-DO: Add El Capitan's IO80211
- if current_model in ModelArray.WifiBCM94322:
- print("- Adding IO80211Mojave %s" % Versions.io80211mojave_version)
- copy(Versions.io80211mojave_path, Versions.kext_path_build)
- Versions.plist_data = Versions.plist_data.replace(
- "",
- ""
- )
- Versions.plist_data = Versions.plist_data.replace(
- "",
- ""
- )
- if current_model in ModelArray.WifiBCM943224:
- print("- Adding IO80211Mojave %s" % Versions.io80211mojave_version)
- copy(Versions.io80211mojave_path, Versions.kext_path_build)
- Versions.plist_data = Versions.plist_data.replace(
- "",
- ""
- )
- Versions.plist_data = Versions.plist_data.replace(
- "",
- ""
- )
+ #if current_model in ModelArray.WifiBCM94328:
+ # print("- Wifi patches currently unsupported")
+ #if current_model in ModelArray.WifiBCM94322:
+ # print("- Adding IO80211Mojave %s" % Versions.io80211mojave_version)
+ # copy(Versions.io80211mojave_path, Versions.kext_path_build)
+ # Versions.plist_data = Versions.plist_data.replace(
+ # "",
+ # ""
+ # )
+ # Versions.plist_data = Versions.plist_data.replace(
+ # "",
+ # ""
+ # )
+ #if current_model in ModelArray.WifiBCM943224:
+ # print("- Adding IO80211Mojave %s" % Versions.io80211mojave_version)
+ # copy(Versions.io80211mojave_path, Versions.kext_path_build)
+ # Versions.plist_data = Versions.plist_data.replace(
+ # "",
+ # ""
+ # )
+ # Versions.plist_data = Versions.plist_data.replace(
+ # "",
+ # ""
+ # )
if current_model in ModelArray.WifiBCM94331:
print("- Adding AirportBrcmFixup and appling fake ID")
copy(Versions.airportbcrmfixup_path, Versions.kext_path_build)
@@ -151,12 +150,34 @@ def BuildEFI():
"",
""
)
- if current_model in ("iMac13,1", "iMac13,2"):
+ if current_model in ModelArray.EthernetNvidia
+ # Nvidia chipsets all have the same path to ARPT
+ Versions.plist_data = Versions.plist_data.replace(
+ "#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)",
+ "PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0)"
+ )
+ if current_model in ("MacBookAir2,1", "MacBookAir3,1", "MacBookAir3,2" )
+ Versions.plist_data = Versions.plist_data.replace(
+ "#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)",
+ "PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0)"
+ )
+ elif current_model in ("iMac7,1", "iMac8,1" ):
+ Versions.plist_data = Versions.plist_data.replace(
+ "#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)",
+ "PciRoot(0x0)/Pci(0x1C,0x4)Pci(0x0,0x0)"
+ )
+ elif current_model in ("iMac13,1", "iMac13,2"):
Versions.plist_data = Versions.plist_data.replace(
"#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x1C,0x3)Pci(0x0,0x0)"
)
+ elif current_model in ("MacPro5,1"):
+ Versions.plist_data = Versions.plist_data.replace(
+ "#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)",
+ "PciRoot(0x0)/Pci(0x1C,0x5)Pci(0x0,0x0)"
+ )
else:
+ # Assumes we have a laptop with Intel chipset
Versions.plist_data = Versions.plist_data.replace(
"#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)"
@@ -192,32 +213,25 @@ def BuildSMBIOS():
if current_model in ModelArray.MacBookAir61:
print("- Spoofing to MacBookAir6,1")
new_model = "MacBookAir6,1"
-
- if current_model in ModelArray.MacBookAir62:
+ elif current_model in ModelArray.MacBookAir62:
print("- Spoofing to MacBookAir6,2")
new_model = "MacBookAir6,2"
-
- if current_model in ModelArray.MacBookPro111:
+ elif current_model in ModelArray.MacBookPro111:
print("- Spoofing to MacBookPro11,1")
new_model = "MacBookPro11,1"
-
- if current_model in ModelArray.MacBookPro112:
+ elif current_model in ModelArray.MacBookPro112:
print("- Spoofing to MacBookPro11,2")
new_model = "MacBookPro11,2"
-
- if current_model in ModelArray.Macmini71:
+ elif current_model in ModelArray.Macmini71:
print("- Spoofing to Macmini7,1")
new_model = "Macmini7,1"
-
- if current_model in ModelArray.iMac151:
+ elif current_model in ModelArray.iMac151:
print("- Spoofing to iMac15,1")
new_model = "iMac15,1"
-
- if current_model in ModelArray.iMac144:
+ elif current_model in ModelArray.iMac144:
print("- Spoofing to iMac14,4")
new_model = "iMac14,4"
-
- if current_model in ModelArray.MacPro71:
+ elif current_model in ModelArray.MacPro71:
print("- Spoofing to MacPro7,1")
new_model = "MacPro7,1"
diff --git a/Resources/ModelArray.py b/Resources/ModelArray.py
index fff0c7653..b0d822554 100644
--- a/Resources/ModelArray.py
+++ b/Resources/ModelArray.py
@@ -198,20 +198,45 @@ WifiBCM943224 = [
]
WifiBCM94331 = [
- "MacBookPro8,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
- "MacBookPro8,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
- "MacBookPro8,3", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
- "MacBookPro9,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
- "MacBookPro9,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
- "MacBookPro10,1",# PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
- "MacBookPro10,2",# PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
- "Macmini5,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
- "Macmini5,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
- "Macmini5,3", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
- "Macmini6,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
- "Macmini6,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
- "iMac13,1", # PciRoot(0x0)/Pci(0x1C,0x3)Pci(0x0,0x0)
- "iMac13,2" # PciRoot(0x0)/Pci(0x1C,0x3)Pci(0x0,0x0)
+ "MacBook5,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
+ "MacBook5,2", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
+ "MacBook6,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
+ "MacBook7,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
+ "MacBookAir2,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
+ "MacBookAir3,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
+ "MacBookAir3,2", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
+ "MacBookAir4,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
+ "MacBookAir4,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
+ "MacBookAir5,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
+ "MacBookAir5,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
+ "MacBookPro5,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
+ "MacBookPro5,2", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
+ "MacBookPro5,3", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
+ "MacBookPro5,4", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
+ "MacBookPro5,5", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
+ "MacBookPro6,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
+ "MacBookPro6,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
+ "MacBookPro7,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
+ "MacBookPro8,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
+ "MacBookPro8,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
+ "MacBookPro8,3", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
+ "MacBookPro9,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
+ "MacBookPro9,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
+ "MacBookPro10,1",# PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
+ "MacBookPro10,2",# PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
+ "Macmini3,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
+ "Macmini4,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
+ "Macmini5,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
+ "Macmini5,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
+ "Macmini5,3", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
+ "Macmini6,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
+ "Macmini6,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0) 1c-01
+ "iMac7,1", # PciRoot(0x0)/Pci(0x1C,0x4)Pci(0x0,0x0) 1c-04
+ "iMac8,1", # PciRoot(0x0)/Pci(0x1C,0x4)Pci(0x0,0x0) 1c-04
+ "iMac9,1", # PciRoot(0x0)/Pci(0x15,0x0)Pci(0x0,0x0) 15-00
+ "iMac13,1", # PciRoot(0x0)/Pci(0x1C,0x3)Pci(0x0,0x0) 1c-03
+ "iMac13,2", # PciRoot(0x0)/Pci(0x1C,0x3)Pci(0x0,0x0) 1c-03
+ "MacPro5,1" # PciRoot(0x0)/Pci(0x1C,0x5)Pci(0x0,0x0) 1c-05
]
## Audio