diff --git a/Scripts/datasets/kext_data.py b/Scripts/datasets/kext_data.py index d7cae6e..b902308 100644 --- a/Scripts/datasets/kext_data.py +++ b/Scripts/datasets/kext_data.py @@ -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( diff --git a/Scripts/datasets/pci_data.py b/Scripts/datasets/pci_data.py index 1582c85..609c991 100644 --- a/Scripts/datasets/pci_data.py +++ b/Scripts/datasets/pci_data.py @@ -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" ] diff --git a/Scripts/kext_maestro.py b/Scripts/kext_maestro.py index 1cb6b0e..ee57b0a 100644 --- a/Scripts/kext_maestro.py +++ b/Scripts/kext_maestro.py @@ -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")