diff --git a/CHANGELOG.md b/CHANGELOG.md index d4f25f01e..a73376f0f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,7 @@ - Lilu 1.6.2 - release - FeatureUnlock 1.0.9 release - PatcherSupportPkg 0.6.1 - release + - BrcmPatchRAM 2.6.3 - release ## 0.4.10 - Resolve Nvidia Kepler support in macOS 12.5 Beta 3 and newer diff --git a/payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.2-DEBUG.zip b/payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.2-DEBUG.zip deleted file mode 100644 index 309e7e37b..000000000 Binary files a/payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.2-DEBUG.zip and /dev/null differ diff --git a/payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.2-RELEASE.zip b/payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.2-RELEASE.zip deleted file mode 100644 index 1a3d6ec14..000000000 Binary files a/payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.2-RELEASE.zip and /dev/null differ diff --git a/payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.3-DEBUG.zip b/payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.3-DEBUG.zip new file mode 100644 index 000000000..19ec091b3 Binary files /dev/null and b/payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.3-DEBUG.zip differ diff --git a/payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.3-RELEASE.zip b/payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.3-RELEASE.zip new file mode 100644 index 000000000..958936a3e Binary files /dev/null and b/payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.3-RELEASE.zip differ diff --git a/payloads/Kexts/Acidanthera/BlueToolFixup.patch b/payloads/Kexts/Acidanthera/BlueToolFixup.patch deleted file mode 100644 index f2fd62c7e..000000000 --- a/payloads/Kexts/Acidanthera/BlueToolFixup.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/BrcmPatchRAM/BlueToolFixup.cpp b/BrcmPatchRAM/BlueToolFixup.cpp -index a6e3c69..5e8a424 100644 ---- a/BrcmPatchRAM/BlueToolFixup.cpp -+++ b/BrcmPatchRAM/BlueToolFixup.cpp -@@ -48,6 +48,27 @@ bool BlueToolFixup::start(IOService *provider) { - static const uint8_t kSkipUpdateFilePathOriginal[] = "/etc/bluetool/SkipBluetoothAutomaticFirmwareUpdate"; - static const uint8_t kSkipUpdateFilePathPatched[] = "/System/Library/CoreServices/boot.efi"; - -+ -+// Workaround 12.4 Beta 3+ bug where macOS may detect the Bluetooth chipset twice -+// Once as internal, and second as an external dongle: -+// 'ERROR -- Third Party Dongle has the same address as the internal module' -+// Applicable for BCM2046 and BCM2070 chipsets (BT2.1) -+static const uint8_t kSkipAddressCheckOriginal[] = -+{ -+ 0x48, 0x89, 0xF3, // mov rbx, rsi -+ 0xE8, 0xE3, 0xF3, 0xFE, 0xFF, // call sub_1000c5bc6 -+ 0x85, 0xC0, // test eax, eax -+ 0x74, 0x1D, // je loc_1000d6804 -+}; -+ -+static const uint8_t kSkipAddressCheckPatched[] = -+{ -+ 0x48, 0x89, 0xF3, // mov rbx, rsi -+ 0xE8, 0xE3, 0xF3, 0xFE, 0xFF, // call sub_1000c5bc6 -+ 0x85, 0xC0, // test eax, eax -+ 0x72, 0x1D, // jb short loc_1000d6804 -+}; -+ - static const uint8_t kVendorCheckOriginal[] = - { - 0x81, 0xFA, // cmp edx -@@ -131,6 +152,7 @@ static void patched_cs_validate_page(vnode_t vp, memory_object_t pager, memory_o - } - else if (strcmp(path + dirLength, "bluetoothd") == 0) { - searchAndPatch(data, PAGE_SIZE, path, kVendorCheckOriginal, kVendorCheckPatched); -+ searchAndPatch(data, PAGE_SIZE, path, kSkipAddressCheckOriginal, kSkipAddressCheckPatched); - searchAndPatch(data, PAGE_SIZE, path, kBadChipsetCheckOriginal, kBadChipsetCheckPatched); - if (shouldPatchBoardId) - searchAndPatch(data, PAGE_SIZE, path, boardIdsWithUSBBluetooth[0], kBoardIdSize, BaseDeviceInfo::get().boardIdentifier, kBoardIdSize);