sys_patch: Add OHCI/UHCI downgrade

This commit is contained in:
Mykola Grymalyuk
2023-10-14 20:35:17 -06:00
parent 51954d3b6a
commit af57596559
6 changed files with 36 additions and 6 deletions

View File

@@ -7,8 +7,9 @@
- Resolve unresponsive Weather app
- Resolve full screen menubar covering the app toolbar
- Resolve unfocused password windows
- Resolve USB 1.1 kernel panics on macOS 14.1
- Increment Binaries:
- PatcherSupportPkg 1.3.5 - release
- PatcherSupportPkg 1.3.6 - release
- AirportBrcmFixup 2.1.8 - release
- BlueToolFixup 2.6.8 - release
- RestrictEvents 1.1.3 - release

View File

@@ -1265,6 +1265,28 @@ class SystemPatchDictionary():
},
},
},
# Injection of UHCI/OHCI causes a panic on 14.1+
"Legacy USB 1.1 Extended": {
"Display Name": "",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.sonoma,
"OS Minor": 1 # macOS 14.1 (XNU 23.1)
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/System/Library/Extensions/IOUSBHostFamily.kext/Contents/PlugIns": {
"AppleUSBOHCI.kext": "12.6.2-USB",
"AppleUSBOHCIPCI.kext": "12.6.2-USB",
"AppleUSBUHCI.kext": "12.6.2-USB",
"AppleUSBUHCIPCI.kext": "12.6.2-USB",
},
},
},
"PCIe FaceTime Camera": {
"Display Name": "Miscellaneous: PCIe FaceTime Camera",
"OS Support": {

View File

@@ -1377,7 +1377,7 @@
<key>ExecutablePath</key>
<string>Contents/MacOS/AppleUSBOHCI</string>
<key>MaxKernel</key>
<string></string>
<string>23.0.0</string>
<key>MinKernel</key>
<string>22.0.0</string>
<key>PlistPath</key>
@@ -1395,7 +1395,7 @@
<key>ExecutablePath</key>
<string>Contents/MacOS/AppleUSBOHCIPCI</string>
<key>MaxKernel</key>
<string></string>
<string>23.0.0</string>
<key>MinKernel</key>
<string>22.0.0</string>
<key>PlistPath</key>
@@ -1413,7 +1413,7 @@
<key>ExecutablePath</key>
<string>Contents/MacOS/AppleUSBUHCI</string>
<key>MaxKernel</key>
<string></string>
<string>23.0.0</string>
<key>MinKernel</key>
<string>22.0.0</string>
<key>PlistPath</key>
@@ -1431,7 +1431,7 @@
<key>ExecutablePath</key>
<string>Contents/MacOS/AppleUSBUHCIPCI</string>
<key>MaxKernel</key>
<string></string>
<string>23.0.0</string>
<key>MinKernel</key>
<string>22.0.0</string>
<key>PlistPath</key>

View File

@@ -280,6 +280,12 @@ class BuildMiscellaneous:
# - Ref: https://techcommunity.microsoft.com/t5/microsoft-usb-blog/reasons-to-avoid-companion-controllers/ba-p/270710
#
# To be paired for sys_patch_dict.py's 'Legacy USB 1.1' patchset
#
# Note: With macOS 14.1, injection of these kexts causes a panic.
# To avoid this, a MaxKernel is configured with XNU 23.0.0 (macOS 14.0).
# Additionally sys_patch.py stack will now patches the bins onto disk for 14.1+.
# Reason for keeping the dual logic is due to potential conflicts of in-cache vs injection if we start
# patching pre-14.1 hosts.
if (
smbios_data.smbios_dictionary[self.model]["CPU Generation"] <= cpu_data.CPUGen.penryn.value or \
self.model in ["MacPro4,1", "MacPro5,1", "Xserve3,1"]

View File

@@ -14,7 +14,7 @@ class Constants:
def __init__(self) -> None:
# Patcher Versioning
self.patcher_version: str = "1.1.0" # OpenCore-Legacy-Patcher
self.patcher_support_pkg_version: str = "1.3.5" # PatcherSupportPkg
self.patcher_support_pkg_version: str = "1.3.6" # PatcherSupportPkg
self.copyright_date: str = "Copyright © 2020-2023 Dortania"
self.patcher_name: str = "OpenCore Legacy Patcher"

View File

@@ -176,6 +176,7 @@ class GenerateRootPatchSets:
if self.hardware_details["Miscellaneous: Legacy USB 1.1"] is True:
required_patches.update({"Legacy USB 1.1": all_hardware_patchset["Miscellaneous"]["Legacy USB 1.1"]})
required_patches.update({"Legacy USB 1.1 Extended": all_hardware_patchset["Miscellaneous"]["Legacy USB 1.1 Extended"]})
if self.hardware_details["Miscellaneous: PCIe FaceTime Camera"] is True:
required_patches.update({"PCIe FaceTime Camera": all_hardware_patchset["Miscellaneous"]["PCIe FaceTime Camera"]})