From 48c838d92bcc4c2e5681d494cd51418f2a7ed7b4 Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk <48863253+khronokernel@users.noreply.github.com> Date: Sat, 18 Sep 2021 15:41:00 -0600 Subject: [PATCH] Use stock BlueToolFixup --- Resources/Build.py | 20 +++------ Resources/Constants.py | 7 ++- payloads/Config/config.plist | 18 ++++++++ .../Acidanthera/BlueToolFixup-v2.6.0.zip | Bin 0 -> 11976 bytes .../Acidanthera/BlueToolFixup-v2.6.1.zip | Bin 10722 -> 0 bytes .../Kexts/Acidanthera/BlueToolFixup.patch | 42 ------------------ .../Kexts/Misc/Bluetooth-Spoof-v1.0.0.zip | Bin 0 -> 1621 bytes 7 files changed, 30 insertions(+), 57 deletions(-) create mode 100644 payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.0.zip delete mode 100644 payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.1.zip delete mode 100644 payloads/Kexts/Acidanthera/BlueToolFixup.patch create mode 100644 payloads/Kexts/Misc/Bluetooth-Spoof-v1.0.0.zip diff --git a/Resources/Build.py b/Resources/Build.py index 06446da71..d1628dd74 100644 --- a/Resources/Build.py +++ b/Resources/Build.py @@ -588,22 +588,14 @@ class BuildOpenCore: # Bluetooth Detection if not self.constants.custom_model and self.computer.bluetooth_chipset: - if self.computer.bluetooth_chipset == "BRCM2070 Hub": - print("- Enabling Bluetooth BRCM2070 for macOS Monterey") - self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] += " -brcm2070_patch" + if self.computer.bluetooth_chipset in ["BRCM2070 Hub", "BRCM2046 Hub"]: + print("- Fixing Legacy Bluetooth for macOS Monterey") self.enable_kext("BlueToolFixup.kext", self.constants.bluetool_version, self.constants.bluetool_path) - elif self.computer.bluetooth_chipset == "BRCM2046 Hub": - print("- Enabling Bluetooth BRCM2046 for macOS Monterey") - self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] += " -brcm2046_patch" - self.enable_kext("BlueToolFixup.kext", self.constants.bluetool_version, self.constants.bluetool_path) - elif self.model in ModelArray.Bluetooth_BRCM2070: - print("- Enabling Bluetooth BRCM2070 for macOS Monterey") - self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] += " -brcm2070_patch" - self.enable_kext("BlueToolFixup.kext", self.constants.bluetool_version, self.constants.bluetool_path) - elif self.model in ModelArray.Bluetooth_BRCM2046: - print("- Enabling Bluetooth BRCM2046 for macOS Monterey") - self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] += " -brcm2046_patch" + self.enable_kext("Bluetooth-Spoof.kext", self.constants.btspoof_version, self.constants.btspoof_path) + elif self.model in ModelArray.Bluetooth_BRCM2070 or self.model in ModelArray.Bluetooth_BRCM2046: + print("- Fixing Legacy Bluetooth for macOS Monterey") self.enable_kext("BlueToolFixup.kext", self.constants.bluetool_version, self.constants.bluetool_path) + self.enable_kext("Bluetooth-Spoof.kext", self.constants.btspoof_version, self.constants.btspoof_path) # Add XhciDxe if firmware doesn't have XHCI controller support and XCHI controller detected # TODO: Fix XhciDxe to work on pre UEFI 2.0 Macs diff --git a/Resources/Constants.py b/Resources/Constants.py index 77616b9bd..0bb8c00e4 100644 --- a/Resources/Constants.py +++ b/Resources/Constants.py @@ -34,7 +34,7 @@ class Constants: self.featureunlock_version = "1.0.3" # FeatureUnlock self.debugenhancer_version = "1.0.4" # DebugEnhancer self.cpufriend_version = "1.2.4" # CPUFriend - self.bluetool_version = "2.6.1" # BlueToolFixup + self.bluetool_version = "2.6.0" # BlueToolFixup ## Apple ## https://www.apple.com @@ -56,6 +56,7 @@ class Constants: self.backlight_injector_version = "1.0.0" # BacklightInjector self.smcspoof_version = "1.0.0" # SMC-Spoof self.mce_version = "1.0.0" # AppleMCEReporterDisabler + self.btspoof_version = "1.0.0" # Bluetooth-Spoof ## Syncretic ## https://forums.macrumors.com/members/syncretic.1173816/ @@ -314,6 +315,10 @@ class Constants: def smcspoof_path(self): return self.payload_kexts_path / Path(f"Misc/SMC-Spoof-v{self.smcspoof_version}.zip") + @property + def btspoof_path(self): + return self.payload_kexts_path / Path(f"Misc/Bluetooth-Spoof-v{self.btspoof_version}.zip") + @property def nvmefix_path(self): return self.payload_kexts_path / Path(f"Acidanthera/NVMeFix-v{self.nvmefix_version}.zip") diff --git a/payloads/Config/config.plist b/payloads/Config/config.plist index d4b92bec8..403430e35 100644 --- a/payloads/Config/config.plist +++ b/payloads/Config/config.plist @@ -610,6 +610,24 @@ PlistPath Contents/Info.plist + + Arch + x86_64 + Comment + Bluetooth Patch for BRCM2046 and BRCM2070 + Enabled + + MaxKernel + + MinKernel + 21.0.0 + BundlePath + Bluetooth-Spoof.kext + ExecutablePath + + PlistPath + Contents/Info.plist + Arch x86_64 diff --git a/payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.0.zip b/payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..d56c4bf3009170c4f022102af3d4ca357361dda8 GIT binary patch literal 11976 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 Jx%tk1{U7tA%TE9R literal 0 HcmV?d00001 diff --git a/payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.1.zip b/payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.1.zip deleted file mode 100644 index efd4f8842109432041edc7bd0976b5c8b6b01efd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10722 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
  • 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 diff --git a/payloads/Kexts/Acidanthera/BlueToolFixup.patch b/payloads/Kexts/Acidanthera/BlueToolFixup.patch deleted file mode 100644 index 28c807cad..000000000 --- a/payloads/Kexts/Acidanthera/BlueToolFixup.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/BrcmPatchRAM/BlueToolFixup.cpp b/BrcmPatchRAM/BlueToolFixup.cpp -index 0fa891a..819eb3f 100644 ---- a/BrcmPatchRAM/BlueToolFixup.cpp -+++ b/BrcmPatchRAM/BlueToolFixup.cpp -@@ -50,7 +50,15 @@ bool BlueToolFixup::start(IOService *provider) { - static const uint8_t kSkipUpdateFilePathOriginal[] = "/etc/bluetool/SkipBluetoothAutomaticFirmwareUpdate"; - static const uint8_t kSkipUpdateFilePathPatched[] = "/System/Library/CoreServices/boot.efi"; - -+static const uint8_t kBluetoothUSBNameOriginal[] = "Bluetooth USB Host Controller"; -+static const uint8_t kBluetoothUSBNamePatched2070[] = "BRCM2070 Hub Host Controller"; -+static const uint8_t kBluetoothUSBNamePatched2046[] = "BRCM2046 Hub Host Controller"; -+ - static const char *blueToolPath = "/usr/sbin/BlueTool"; -+static const char *bluetoothdPath = "/usr/sbin/bluetoothd"; -+ -+static const char brcm2046_patch = checkKernelArgument("-brcm2046_patch"); -+static const char brcm2070_patch = checkKernelArgument("-brcm2070_patch"); - - static mach_vm_address_t orig_cs_validate {}; - -@@ -71,8 +79,19 @@ static void patched_cs_validate_page(vnode_t vp, memory_object_t pager, memory_o - char path[PATH_MAX]; - int pathlen = PATH_MAX; - FunctionCast(patched_cs_validate_page, orig_cs_validate)(vp, pager, page_offset, data, validated_p, tainted_p, nx_p); -- if (vn_getpath(vp, path, &pathlen) == 0 && UNLIKELY(strcmp(path, blueToolPath) == 0)) { -- searchAndPatch(data, PAGE_SIZE, path, kSkipUpdateFilePathOriginal, kSkipUpdateFilePathPatched); -+ if (vn_getpath(vp, path, &pathlen) == 0) { -+ if (UNLIKELY(strcmp(path, blueToolPath) == 0)) { -+ searchAndPatch(data, PAGE_SIZE, path, kSkipUpdateFilePathOriginal, kSkipUpdateFilePathPatched); -+ } -+ if (UNLIKELY(strcmp(path, bluetoothdPath) == 0)) { -+ if (brcm2046_patch) { -+ DBGLOG(MODULE_SHORT, "Patching BRCM2046 Hub into bluetoothd"); -+ searchAndPatch(data, PAGE_SIZE, path, kBluetoothUSBNameOriginal, kBluetoothUSBNamePatched2046); -+ } else if (brcm2070_patch) { -+ DBGLOG(MODULE_SHORT, "Patching BRCM2070 Hub into bluetoothd"); -+ searchAndPatch(data, PAGE_SIZE, path, kBluetoothUSBNameOriginal, kBluetoothUSBNamePatched2070); -+ } -+ } - } - } - diff --git a/payloads/Kexts/Misc/Bluetooth-Spoof-v1.0.0.zip b/payloads/Kexts/Misc/Bluetooth-Spoof-v1.0.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..539c52e55fd1b9090bba1f9ccd418f13d2a8531d GIT binary patch literal 1621 zcmWIWW@Zs#0D%uhM!{ePln`Z5U~tMQO)bgKFUimiF38VM)5}h+DA5lM;bmYy>gARQ z!VNKQiKP|X42&#a85tPBMg_o){8oc%q#Q0Io%8cbQu9iRA!aWCnhC>L&E{a>U_drI znU#S-gP_@-d1?821v#0;C14+bY*+-f3C)(JAs6#*ISAD7#TR}}R;}p_S-7Ie;iwuH z7bExV6}4UK_ObdImcRSS^KkMn>A#!SZ8S_c?X~LH$xr9bojLdRrsSU7q)n`Ixm4e; zk^X&4NkRE&Ys}rq?hpH_vw45XKA&t}d|3Wphss6|-jCvkPu@@sn|>+ZQ;2zK+zY{a zBR;1lnJInC#5P_#rV_7t_idTk>A?f6pHr?W zzvgN`7yVZIy>5o5+~FC`CP|tO)+Yb^o?gi)x$7=CTRV4#$Qij~k`hbL?2=aT(v^*B zdX-bO(k8?)blLawt#xyEq{nan>VK2%)dzmB-#S&P+8p0Kn;#Z_vCYZmKH_CG`K8-s zhWXo;O*@!3tGPG5|IiPP;|@uQEKBtBx9^>PZ~Ch3HdC15&Q|HnfAwDW_SK^YMXL{O zJs`V*fAv<5HhwKr{{`Uz>v(rrey%Ppd2>w1clMV5Cz`IVeXt<<#<9(lPBpLXSkU@# z!yW%KF0YN-v?elj*sv_L>E^M#Ki_zxR@kKG;?PH0nOnLZ+Z-s)teW{fv+vl6{}0m@ zFY9=I$YWGj&zIk#QgQMg&(~sOw}bN?ADPy%$8^q#EBa$nal*{!Tw~!kW43VBYTdBx z;QN18IsE&h7Web=iuJn#SUkF`^|OF^#i=wIV$e9w*LmE zW>B(%BxdvkmkyLQ1}3=pcwa|n|KJFHtQiHKs`cV=q`lRcxhFY6G&wyXDdB^!PuK_k zu#SKRrU??v>H^Y+1_ra3G8N_<&TZ6qAR#2glGs>caEd|lUWQl1f=5g|JV7Ua?yTx$ zWwl&cW!ZUDb?MQSnwp)eD^D>V3@|QfXwmH2)%E1hl#sm*bIv@PG~rZJ$ckMq3I|Ue zP+$+5K6^&Yl=<8y%OciWn5vuZR57;K*D%zVU1rAXVqkD$!AjlJI_G>&d44_P?YTA~ zA)~jDdFIIt{cml>JKV}07*8-(9aVK*dQx?%>&ji4D>G+S&Qw_a#pv^;Po)Pxskwz6 zTgC