diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d64478ca..a2316412c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - Increment Binaries: - PatcherSupportPkg 0.7.3 - release - KDKlessWorkaround 1.0.0 - rolling (4924276) + - FeatureUnlock 1.1.2 - rolling (eee2846) ## 0.5.3 - Integrate FixPCIeLinkrate.efi v0.1.0 diff --git a/payloads/Kexts/Acidanthera/FeatureUnlock-v1.1.2-DEBUG.zip b/payloads/Kexts/Acidanthera/FeatureUnlock-v1.1.2-DEBUG.zip index 8adda3fb2..dc2917011 100644 Binary files a/payloads/Kexts/Acidanthera/FeatureUnlock-v1.1.2-DEBUG.zip and b/payloads/Kexts/Acidanthera/FeatureUnlock-v1.1.2-DEBUG.zip differ diff --git a/payloads/Kexts/Acidanthera/FeatureUnlock-v1.1.2-RELEASE.zip b/payloads/Kexts/Acidanthera/FeatureUnlock-v1.1.2-RELEASE.zip index d50867b9c..63b9cb0dc 100644 Binary files a/payloads/Kexts/Acidanthera/FeatureUnlock-v1.1.2-RELEASE.zip and b/payloads/Kexts/Acidanthera/FeatureUnlock-v1.1.2-RELEASE.zip differ diff --git a/resources/defaults.py b/resources/defaults.py index db39d2bfb..1d96f8e7f 100644 --- a/resources/defaults.py +++ b/resources/defaults.py @@ -16,6 +16,8 @@ class generate_defaults: self.constants.secure_status = False self.constants.disable_cs_lv = False self.constants.disable_amfi = False + self.constants.fu_status = True + self.constants.fu_arguments = None self.constants.custom_serial_number = "" self.constants.custom_board_serial_number = "" @@ -119,17 +121,41 @@ class generate_defaults: def networking_probe(self): - if ( - isinstance(self.constants.computer.wifi, device_probe.Broadcom) and - self.constants.computer.wifi.chipset in [device_probe.Broadcom.Chipsets.AirPortBrcm4331, device_probe.Broadcom.Chipsets.AirPortBrcm43224] - ) or ( - isinstance(self.constants.computer.wifi, device_probe.Atheros) and - self.constants.computer.wifi.chipset == device_probe.Atheros.Chipsets.AirPortAtheros40 - ): - # 12.0: Legacy Wireless chipsets require root patching - self.constants.sip_status = False - self.constants.secure_status = False + if self.host_is_target: + if not ( + ( + isinstance(self.constants.computer.wifi, device_probe.Broadcom) and + self.constants.computer.wifi.chipset in [ + device_probe.Broadcom.Chipsets.AirPortBrcm4331, + device_probe.Broadcom.Chipsets.AirPortBrcm43224, + ] + ) or ( + isinstance(self.constants.computer.wifi, device_probe.Atheros) and + self.constants.computer.wifi.chipset == device_probe.Atheros.Chipsets.AirPortAtheros40 + ) + ): + return + else: + if not self.model in smbios_data.smbios_dictionary: + return + if ( + smbios_data.smbios_dictionary[self.model]["Wireless Model"] not in [ + device_probe.Broadcom.Chipsets.AirPortBrcm4331, + device_probe.Broadcom.Chipsets.AirPortBrcm43224, + device_probe.Atheros.Chipsets.AirPortAtheros40 + ] + ): + return + + # 12.0: Legacy Wireless chipsets require root patching + self.constants.sip_status = False + self.constants.secure_status = False + + # 13.0: Enabling AirPlay to Mac patches breaks Control Center on legacy chipsets + # AirPlay to Mac was unsupported regardless, so we can safely disable it + self.constants.fu_status = True + self.constants.fu_arguments = " -disable_sidecar_mac" def misc_hardwares_probe(self): if self.host_is_target: