sys_patch.py: Add reference patch set for Broadcom

This commit is contained in:
Mykola Grymalyuk
2023-06-06 13:03:28 -06:00
parent 31a29e0b3e
commit ca8e1a7bf0
3 changed files with 64 additions and 1 deletions

View File

@@ -1140,7 +1140,52 @@ class SystemPatchDictionary():
"IO80211.framework": "12.6.2",
},
},
}
},
# May lord have mercy on our souls
# Applicable for BCM943324, BCM94331, BCM94360, BCM943602
"Modern Wireless": {
"Display Name": "Networking: Modern Wireless",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.sonoma,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install Reference": {
"/System/Library/Extensions": {
"IO80211FamilyLegacy.kext": "13.5 Beta 2",
"IONetworkFamily.kext": "13.5 Beta 2",
"IOSkywalkFamily.kext": "13.5 Beta 2",
},
"/usr/libexec": {
"airportd": "13.5 Beta 2",
"wifianalyticsd": "13.5 Beta 2",
},
"/System/Library/Frameworks": {
"CoreWLAN.framework": "13.5 Beta 2",
},
"/System/Library/PrivateFrameworks": {
"CoreAnalytics.framework": "13.5 Beta 2",
"CoreWiFi.framework": "13.5 Beta 2",
"IO80211.framework": "13.5 Beta 2",
"WiFiAnalytics.framework": "13.5 Beta 2",
"WiFiPolicy.framework": "13.5 Beta 2",
},
},
"Remove Reference": {
"/System/Library/Extensions": [
"AppleBCMWLANBusInterfacePCIe.kext",
"AppleBCMWLANBusInterfacePCIeMac.kext",
"AppleBCMWLANCore.kext",
"AppleBCMWLANCoreMac.kext",
"IO80211Family.kext",
],
},
},
},
"Brightness": {
"Legacy Backlight Control": {

View File

@@ -57,6 +57,7 @@ class DetectRootPatch:
self.brightness_legacy = False
self.legacy_audio = False
self.legacy_wifi = False
self.modern_wifi = False
self.legacy_gmux = False
self.legacy_keyboard_backlight = False
self.legacy_uhci_ohci = False
@@ -226,6 +227,11 @@ class DetectRootPatch:
self.skylake_gpu = True
self.amfi_must_disable = True
self.supports_metal = True
if self.constants.detected_os >= os_data.os_data.sonoma:
# Currently all graphics patches require a KDK
self.requires_root_kc = True
if self.supports_metal is True:
# Avoid patching Metal and non-Metal GPUs if both present, prioritize Metal GPU
# Main concerns are for iMac12,x with Sandy iGPU and Kepler dGPU
@@ -537,6 +543,14 @@ class DetectRootPatch:
# Due to extracted frameworks for IO80211.framework and co, check library validation
self.amfi_must_disable = True
if (
isinstance(self.constants.computer.wifi, device_probe.Broadcom)
and self.constants.computer.wifi.chipset in [device_probe.Broadcom.Chipsets.AirPortBrcm4360, device_probe.Broadcom.Chipsets.AirportBrcmNIC]):
if self.constants.detected_os > os_data.os_data.ventura:
self.modern_wifi = True
self.amfi_must_disable = True
self.requires_root_kc = True
# if self.model in ["MacBookPro5,1", "MacBookPro5,2", "MacBookPro5,3", "MacBookPro8,2", "MacBookPro8,3"]:
if self.model in ["MacBookPro8,2", "MacBookPro8,3"]:
# Sierra uses a legacy GMUX control method needed for dGPU switching on MacBookPro5,x
@@ -571,6 +585,7 @@ class DetectRootPatch:
"Brightness: Legacy Backlight Control": self.brightness_legacy,
"Audio: Legacy Realtek": self.legacy_audio,
"Networking: Legacy Wireless": self.legacy_wifi,
"Networking: Modern Wireless": self.modern_wifi,
"Miscellaneous: Legacy GMUX": self.legacy_gmux,
"Miscellaneous: Legacy Keyboard Backlight": self.legacy_keyboard_backlight,
"Miscellaneous: Legacy USB 1.1": self.legacy_uhci_ohci,

View File

@@ -166,6 +166,9 @@ class GenerateRootPatchSets:
required_patches.update({"Legacy Wireless": all_hardware_patchset["Networking"]["Legacy Wireless"]})
required_patches.update({"Legacy Wireless Extended": all_hardware_patchset["Networking"]["Legacy Wireless Extended"]})
if self.hardware_details["Networking: Modern Wireless"] is True:
required_patches.update({"Legacy Wireless": all_hardware_patchset["Networking"]["Modern Wireless"]})
if self.hardware_details["Miscellaneous: Legacy GMUX"] is True:
required_patches.update({"Legacy GMUX": all_hardware_patchset["Miscellaneous"]["Legacy GMUX"]})