Add support for additional SATA controllers

This commit is contained in:
Hoang Hong Quan
2025-03-21 16:30:00 +07:00
parent d7b345b32a
commit 9daa272e44
3 changed files with 41 additions and 25 deletions

View File

@@ -571,9 +571,22 @@ kexts = [
name = "CtlnaAHCIPort",
description = "Improves support for certain SATA controllers",
category = "Storage",
min_darwin_version = "20.0.0",
conflict_group_id = "SATA",
download_info = {
"id": 10460478,
"url": "https://github.com/lzhoang2801/lzhoang2801.github.io/raw/main/public/extra-files/CtlnaAHCIPort-v3.4.1.zip"
"id": 934285327,
"url": "https://raw.githubusercontent.com/lzhoang2801/lzhoang2801.github.io/refs/heads/main/public/extra-files/CtlnaAHCIPort-v3.4.1.zip"
}
),
KextInfo(
name = "SATA-unsupported",
description = "Improves support for certain SATA controllers",
category = "Storage",
max_darwin_version = "19.99.99",
conflict_group_id = "SATA",
download_info = {
"id": 214351953,
"url": "https://raw.githubusercontent.com/lzhoang2801/lzhoang2801.github.io/refs/heads/main/public/extra-files/SATA-unsupported-v0.9.2.zip"
}
),
KextInfo(

View File

@@ -1250,35 +1250,34 @@ UnsupportedUSBControllerIDs = [
]
UnsupportedSATAControllerIDs = [
# CtlnaAHCIPort.kext
"1022-7901",
"8086-06D6",
"8086-1C02",
"8086-1C03",
"8086-1E02",
"8086-A352",
"8086-A182",
"8086-A102",
"8086-9C83",
"8086-9C03",
"8086-8C83",
"8086-8C03",
"8086-8C02",
"8086-3B2F",
"8086-3B29",
"8086-3B22",
"8086-1E03",
"8086-1E02",
"8086-1C03",
"8086-1C02",
"1022-7801",
"1022-7804",
"1022-7901",
"1022-7904",
"8086-2822",
"8086-282A",
"8086-3B22",
"8086-3B29",
"8086-3B2F",
"8086-43D2",
"8086-7AE2",
"8086-8C02",
"8086-8C03",
"8086-8C83",
"8086-9C03",
"8086-9C83",
"8086-9D03",
"8086-9DD3",
"8086-A102",
"8086-A103",
"8086-A182",
"8086-A282",
"8086-A352",
"8086-A353"
]
IntelVMDIDs = [
"8086-09AB"
]

View File

@@ -255,9 +255,13 @@ class KextMaestro:
for controller_name, controller_props in hardware_report.get("Storage Controllers", {}).items():
if "NVMe" in controller_name or "NVM Express" in controller_name:
selected_kexts.append("NVMeFix")
else:
if controller_props.get("Device ID") in pci_data.UnsupportedSATAControllerIDs and not "AHCI" in controller_name:
selected_kexts.append("CtlnaAHCIPort")
elif not "AHCI" in controller_name:
if self.utils.parse_darwin_version(macos_version) >= self.utils.parse_darwin_version("20.0.0"):
if controller_props.get("Device ID") in pci_data.UnsupportedSATAControllerIDs:
selected_kexts.append("CtlnaAHCIPort")
else:
if controller_props.get("Device ID") in pci_data.UnsupportedSATAControllerIDs[15:]:
selected_kexts.append("SATA-unsupported")
for controller_name, controller_props in hardware_report.get("USB Controllers").items():
device_id = controller_props.get("Device ID")