lovest.fhd Posted February 24, 2020 Share Posted February 24, 2020 On 2/11/2020 at 2:15 AM, yapan4 said: Wow, @metacollin! With this knowledge, you can help yourself and anyone on this forum I hope you are on the right direction. Maybe you can help us too For comparison: old SkyLake and new CascadeLake ACPI from ASUS WS C422Pro/SE (dumped by Clover). I'm sure the non-bootable macOS on CascadeLike BIOS v.3003 is somehow related to ACPIs tables. Locked MSR is important but not critical and is temporarily ignored. WS C422Pro:SE OEM ACPI Tables.zip old Device (RTC) { Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0074, // Range Minimum 0x0074, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {8} }) } new bios Device (RTC) { Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0074, // Range Minimum 0x0074, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {8} }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((STAS == 0x01)) { Return (0x0F) } Else { Return (0x00) } } } fix(hotpatch) DefinitionBlock ("", "SSDT", 1, "AS", "C422", 0x00000000) { External (_SB_.PC00.LPC0.RTC_._STA, IntObj) Device (SH01) { Name (_HID, "SDH10000") // _HID: Hardware ID Method (_INI, 0, NotSerialized) // _INI: Initialize { \_SB.PC00.LPC0.RTC._STA = 0x0F } Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (Zero) } } } } 2 Link to comment Share on other sites More sharing options...
yapan4 Posted February 24, 2020 Share Posted February 24, 2020 @lovest.fhd Welcome and thanks for your desire to help. I will only be able to test on Wednesday... Link to comment Share on other sites More sharing options...
yapan4 Posted February 26, 2020 Share Posted February 26, 2020 (edited) On 2/24/2020 at 9:17 PM, lovest.fhd said: old Device (RTC) { Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0074, // Range Minimum 0x0074, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {8} }) } new bios Device (RTC) { Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0074, // Range Minimum 0x0074, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {8} }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((STAS == 0x01)) { Return (0x0F) } Else { Return (0x00) } } } fix(hotpatch) DefinitionBlock ("", "SSDT", 1, "AS", "C422", 0x00000000) { External (_SB_.PC00.LPC0.RTC_._STA, IntObj) Device (SH01) { Name (_HID, "SDH10000") // _HID: Hardware ID Method (_INI, 0, NotSerialized) // _INI: Initialize { \_SB.PC00.LPC0.RTC._STA = 0x0F } Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (Zero) } } } } Tested and successfully boot Catalina on BIOS v.3003. Thank you very much AppleIntelInfo.rtf Preboot_log.rtf SSDT-RTC.aml Edited February 26, 2020 by yapan4 1 1 Link to comment Share on other sites More sharing options...
obus Posted February 26, 2020 Author Share Posted February 26, 2020 50 minutes ago, yapan4 said: Tested and successfully boot Catalina on BIOS v.3003. Thank you very much AppleIntelInfo.rtf Preboot_log.rtf SSDT-RTC.aml What about XCPM? Link to comment Share on other sites More sharing options...
obus Posted February 26, 2020 Author Share Posted February 26, 2020 (edited) On 2/24/2020 at 8:17 PM, lovest.fhd said: fix(hotpatch) DefinitionBlock ("", "SSDT", 1, "AS", "C422", 0x00000000) { External (_SB_.PC00.LPC0.RTC_._STA, IntObj) Device (SH01) { Name (_HID, "SDH10000") // _HID: Hardware ID Method (_INI, 0, NotSerialized) // _INI: Initialize { \_SB.PC00.LPC0.RTC._STA = 0x0F } Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (Zero) } } } } Cheers @lovest.fhd!!!!! Works like a charm on my rig running on OC 0.5.5. This fix together with AppleXcpmCfgLock --> YES (which I didn't need with the old 1202 bios because of the unlocked MSR0xE2 register) fixed my boot problems with the new 3003 bios on my rig. Thank's again man. Edited February 26, 2020 by obus 1 Link to comment Share on other sites More sharing options...
yapan4 Posted February 26, 2020 Share Posted February 26, 2020 On this BIOS i can boot only with bootstrap_patch and if you remember we was dont able run CPUPM in this case. Don't work... Link to comment Share on other sites More sharing options...
obus Posted February 26, 2020 Author Share Posted February 26, 2020 (edited) 9 minutes ago, yapan4 said: On this BIOS i can boot only with bootstrap_patch and if you remember we was dont able run CPUPM in this case. Don't work... I can run it on OC without bootstrap_patch. Se above Edited February 26, 2020 by obus Link to comment Share on other sites More sharing options...
metacollin Posted February 26, 2020 Share Posted February 26, 2020 On 2/24/2020 at 11:50 AM, aprilnine said: Hi metacollin, can you help me with my hackintosh setup? I have a quite similar board as you (X11DPH-T) and run it with two Xeon 6142 Gold processors. It seems you solved the very same problems I'm having with the setup. I've tried my best to patch up the aml:s, but nothing seems to work. Looks like I can't get the EC running since I get no USB (observed from keyboard lights). Attached are my EFI folders and DSDT dump. Any help would be greatly appreciated DSDT.dsl EFI.zip What BIOS version are you running? Link to comment Share on other sites More sharing options...
yapan4 Posted February 26, 2020 Share Posted February 26, 2020 (edited) 16 minutes ago, obus said: I can run it on OC without bootsrap_patch. Se above He, and How to apply it in Clover? Ok, I'll try the other kernel patches... Edited February 26, 2020 by yapan4 Link to comment Share on other sites More sharing options...
metacollin Posted February 26, 2020 Share Posted February 26, 2020 (edited) OK, I have 10.15.3 running quite well on the most recent Supermicro BIOS for my motherboard, v3.2. I have good news and bad news though. The bad news: I still haven't actually figured out what is causing the hang during PCI Device Configuration, but I have conclusively determined it is due to something the DSDT (and not any of the SSDTs) that changed from slightly older BIOSes in comparison to the most recent versions. The good news: While this is an extremely ugly and temporary workaround, if you have a DSDT dump from an earlier BIOS and drop the builtin DSDT and use the old table instead, it works. Thanks to @yapan4 for the idea. However, if you use an old DSDT, the memory addresses will be wrong so you might have problems such as non-working video or macOS failing to find the boot device. Fortunately, the fix for this is easy: In Clover, turn on the 'FixRegions' ACPI fix. Or, in OpenCore, turn on the 'RebaseRegions' quirk in the ACPI section (and don't forget to block the built-in DSDT!). Both of those fixes/quirks do the same thing, which is recalculate various physical MMIO addresses that can (and in my case, did) change from one BIOS version to the next. Edited February 26, 2020 by metacollin 3 1 Link to comment Share on other sites More sharing options...
obus Posted February 26, 2020 Author Share Posted February 26, 2020 Nice!! 24 minutes ago, yapan4 said: He, and How to apply it in Clover? Ok, I'll try the other kernel patches... Hey @yapan4 you need to swap your boot loader from Clover to OC. After that you have like 50% less problems. 2 Link to comment Share on other sites More sharing options...
yapan4 Posted February 26, 2020 Share Posted February 26, 2020 14 minutes ago, obus said: Hey @yapan4 you need to swap your boot loader from Clover to OC. I think about it more and more Link to comment Share on other sites More sharing options...
metacollin Posted February 26, 2020 Share Posted February 26, 2020 Oh, one final thing: VirtualSMC and SMCProcessor.kext seem to have mostly non-working support for LGA2066 and LGA3647 CPU sensors. iStat, HWMonitor3/HWMonitorSMC likewise cannot find any sensors. However, the "latest" (its over 2 years old now) release of Rehabman's fork of FakeSMC, along with FakeSMC_CPUSensors, can be substituted for VirtualSMC without issue. It may be old, but it works: 2 Link to comment Share on other sites More sharing options...
lovest.fhd Posted February 26, 2020 Share Posted February 26, 2020 1 hour ago, obus said: Cheers @lovest.fhd!!!!! Works like a charm on my rig running on OC 0.5.5. This fix together with AppleXcpmCfgLock --> YES (which I didn't need with the old 1202 bios because of the unlocked MSR0xE2 register) fixed my boot problems with the new 3003 bios on my rig. Thank's again man. STAS参数在两个设备上都有调用,严格来说,写成这样也许会更加好一点 External (_SB_.AWAC._STA, IntObj) External (_SB_.PC00.LPC0.RTC_._STA, IntObj) Device (SH01) { Name (_HID, "SDH10000") // _HID: Hardware ID Method (_INI, 0, NotSerialized) // _INI: Initialize { \_SB.PC00.LPC0.RTC._STA = 0x0F \_SB.AWAC._STA = Zero } Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (Zero) } } } 问题出在这里:macOS不兼容AWAC,旧的bios默认启用的是RTC(所以是没有问题),这在Z390主板上面是常见的问题,其实OpenCore的DOCS里面有 通过赋予STAS参数一个特定值,屏蔽了AWAC,启用了RTC。如下: DefinitionBlock ("", "SSDT", 2, "ACDT", "AWAC", 0x00000000) { External (STAS, IntObj) Scope (_SB) { Method (_INI, 0, NotSerialized) // _INI: Initialize { If (_OSI ("Darwin")) { STAS = One } } } } 只是在我主机上面不适合用,无效,也许是与我其它热修复冲突,所以我换了个函数写法,目的是一样 I'm sorry, I don't know English~~~~~~~ 1 hour ago, obus said: Cheers @lovest.fhd!!!!! Works like a charm on my rig running on OC 0.5.5. This fix together with AppleXcpmCfgLock --> YES (which I didn't need with the old 1202 bios because of the unlocked MSR0xE2 register) fixed my boot problems with the new 3003 bios on my rig. Thank's again man. STAS参数在两个设备上都有调用,严格来说,写成这样也许会更加好一点 External (_SB_.AWAC._STA, IntObj) External (_SB_.PC00.LPC0.RTC_._STA, IntObj) Device (SH01) { Name (_HID, "SDH10000") // _HID: Hardware ID Method (_INI, 0, NotSerialized) // _INI: Initialize { \_SB.PC00.LPC0.RTC._STA = 0x0F \_SB.AWAC._STA = Zero } Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (Zero) } } } 问题出在这里:macOS不兼容AWAC,旧的bios默认启用的是RTC(所以是没有问题),这在Z390主板上面是常见的问题,其实OpenCore的DOCS里面有 通过赋予STAS参数一个特定值,屏蔽了AWAC,启用了RTC。如下: DefinitionBlock ("", "SSDT", 2, "ACDT", "AWAC", 0x00000000) { External (STAS, IntObj) Scope (_SB) { Method (_INI, 0, NotSerialized) // _INI: Initialize { If (_OSI ("Darwin")) { STAS = One } } } } 只是在我主机上面不适合用,无效,也许是与我其它热修复冲突,所以我换了个函数写法,目的是一样 I'm sorry, I don't know English~~~~~~~ 1 Link to comment Share on other sites More sharing options...
lovest.fhd Posted February 26, 2020 Share Posted February 26, 2020 1 hour ago, yapan4 said: On this BIOS i can boot only with bootstrap_patch and if you remember we was dont able run CPUPM in this case. Don't work... 对CLOVER来说,在x11sra-f主板上面,同样是这样的问题,而且CPU固定3.2Ghz(只有解锁才会正常) 在OC引导上面,运行很好,即使没有解锁msr 0xe2,我的主板,新BIOS已经无法解MSR 0XE2 I'm sorry, I don't know English~~~~~~ 1 Link to comment Share on other sites More sharing options...
obus Posted February 26, 2020 Author Share Posted February 26, 2020 (edited) 1 hour ago, metacollin said: Oh, one final thing: VirtualSMC and SMCProcessor.kext seem to have mostly non-working support for LGA2066 and LGA3647 CPU sensors. iStat, HWMonitor3/HWMonitorSMC likewise cannot find any sensors. However, the "latest" (its over 2 years old now) release of Rehabman's fork of FakeSMC, along with FakeSMC_CPUSensors, can be substituted for VirtualSMC without issue. It may be old, but it works: I'm on iStat and FakeSMC and it works flawlessly on my rig (Rehabman's fork of FakeSMC) Edited February 26, 2020 by obus Link to comment Share on other sites More sharing options...
obus Posted February 26, 2020 Author Share Posted February 26, 2020 (edited) 51 minutes ago, lovest.fhd said: 对CLOVER来说,在x11sra-f主板上面,同样是这样的问题,而且CPU固定3.2Ghz(只有解锁才会正常) 在OC引导上面,运行很好,即使没有解锁msr 0xe2,我的主板,新BIOS已经无法解MSR 0XE2 I'm sorry, I don't know English~~~~~~ Same for us with the new 3003 bios on clover. Clover can't handle locked MSR 0xE2 register without bootstrap_patch and if you boot with this patch you losing XCPM. I presume you are booting with AppleXcpmCfgLock --> YES as me? Edited February 26, 2020 by obus Link to comment Share on other sites More sharing options...
obus Posted February 26, 2020 Author Share Posted February 26, 2020 (edited) 1 hour ago, lovest.fhd said: STAS参数在两个设备上都有调用,严格来说,写成这样也许会更加好一点 External (_SB_.AWAC._STA, IntObj) External (_SB_.PC00.LPC0.RTC_._STA, IntObj) Device (SH01) { Name (_HID, "SDH10000") // _HID: Hardware ID Method (_INI, 0, NotSerialized) // _INI: Initialize { \_SB.PC00.LPC0.RTC._STA = 0x0F \_SB.AWAC._STA = Zero } Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (Zero) } } } 问题出在这里:macOS不兼容AWAC,旧的bios默认启用的是RTC(所以是没有问题),这在Z390主板上面是常见的问题,其实OpenCore的DOCS里面有 通过赋予STAS参数一个特定值,屏蔽了AWAC,启用了RTC。如下: DefinitionBlock ("", "SSDT", 2, "ACDT", "AWAC", 0x00000000) { External (STAS, IntObj) Scope (_SB) { Method (_INI, 0, NotSerialized) // _INI: Initialize { If (_OSI ("Darwin")) { STAS = One } } } } 只是在我主机上面不适合用,无效,也许是与我其它热修复冲突,所以我换了个函数写法,目的是一样 I'm sorry, I don't know English~~~~~~~ STAS参数在两个设备上都有调用,严格来说,写成这样也许会更加好一点 External (_SB_.AWAC._STA, IntObj) External (_SB_.PC00.LPC0.RTC_._STA, IntObj) Device (SH01) { Name (_HID, "SDH10000") // _HID: Hardware ID Method (_INI, 0, NotSerialized) // _INI: Initialize { \_SB.PC00.LPC0.RTC._STA = 0x0F \_SB.AWAC._STA = Zero } Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (Zero) } } } 问题出在这里:macOS不兼容AWAC,旧的bios默认启用的是RTC(所以是没有问题),这在Z390主板上面是常见的问题,其实OpenCore的DOCS里面有 通过赋予STAS参数一个特定值,屏蔽了AWAC,启用了RTC。如下: DefinitionBlock ("", "SSDT", 2, "ACDT", "AWAC", 0x00000000) { External (STAS, IntObj) Scope (_SB) { Method (_INI, 0, NotSerialized) // _INI: Initialize { If (_OSI ("Darwin")) { STAS = One } } } } 只是在我主机上面不适合用,无效,也许是与我其它热修复冲突,所以我换了个函数写法,目的是一样 I'm sorry, I don't know English~~~~~~~ So you suggest I should use those two new SSDT:s instead of the first one you posted? Edited February 26, 2020 by obus Link to comment Share on other sites More sharing options...
lovest.fhd Posted February 27, 2020 Share Posted February 27, 2020 4 hours ago, obus said: So you suggest I should use those two new SSDT:s instead of the first one you posted? Yes, I enable AppleXcpmCfgLock。This is the patch I use now DefinitionBlock ("", "SSDT", 1, "SPMR", "C422", 0x00000000) { External (_SB_.AWAC._STA, IntObj) External (_SB_.PC00.LPC0.RTC_._STA, IntObj) Device (SH01) { Name (_HID, "SDH10000") Method (_INI, 0, NotSerialized) { \_SB.PC00.LPC0.RTC._STA = 0x0F \_SB.AWAC._STA = Zero } Method (_STA, 0, NotSerialized) { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (Zero) } } } } and you can use IORegistryExplorer search awac,If AWAC is not found, it is effective 1 Link to comment Share on other sites More sharing options...
aprilnine Posted February 27, 2020 Share Posted February 27, 2020 9 hours ago, metacollin said: What BIOS version are you running? I’m running 2.1. Can’t really upgrade, since newer versions drop support for ES steppings... Link to comment Share on other sites More sharing options...
obus Posted February 27, 2020 Author Share Posted February 27, 2020 (edited) 11 hours ago, lovest.fhd said: Yes, I enable AppleXcpmCfgLock。This is the patch I use now DefinitionBlock ("", "SSDT", 1, "SPMR", "C422", 0x00000000) { External (_SB_.AWAC._STA, IntObj) External (_SB_.PC00.LPC0.RTC_._STA, IntObj) Device (SH01) { Name (_HID, "SDH10000") Method (_INI, 0, NotSerialized) { \_SB.PC00.LPC0.RTC._STA = 0x0F \_SB.AWAC._STA = Zero } Method (_STA, 0, NotSerialized) { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (Zero) } } } } and you can use IORegistryExplorer search awac,If AWAC is not found, it is effective Thank's man I will test this new SSDT. AWAC is already initialised so I don't need that patch. Tested this new SSDT and it works like a treat. The only thing I have problem with now is Bluetooth. With bios 1202 my Mac keyboard worked during boot (UEFI) and in bios but with bios 3003 I need to connect by USB to get it to work. Any ideas? Edited February 27, 2020 by obus Link to comment Share on other sites More sharing options...
yapan4 Posted February 27, 2020 Share Posted February 27, 2020 (edited) 21 hours ago, lovest.fhd said: I'm sorry, I don't know English~~~~~~~ Don't worry, me too AWAC not found when i use .aml created from you last message and named by me SSDT-RTC-AWAC.aml SSDT-RTC-AWAC.aml yapan4.ioreg.zip Edited February 27, 2020 by yapan4 Link to comment Share on other sites More sharing options...
obus Posted February 27, 2020 Author Share Posted February 27, 2020 (edited) 22 hours ago, lovest.fhd said: >> STAS arg is invoked on both devices. Technically, it is better to write the code in this way: External (_SB_.AWAC._STA, IntObj) External (_SB_.PC00.LPC0.RTC_._STA, IntObj) Device (SH01) { Name (_HID, "SDH10000") // _HID: Hardware ID Method (_INI, 0, NotSerialized) // _INI: Initialize { \_SB.PC00.LPC0.RTC._STA = 0x0F \_SB.AWAC._STA = Zero } Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (Zero) } } } >> The problem is that macOS is not compatible with AWAC, and RTC was used by default on the older version of BIOS (which is fine). On Z390 this is common. In fact, OpenCore Docs has demonstrated a possible approach that specifies a value which enables RTC, as follows: DefinitionBlock ("", "SSDT", 2, "ACDT", "AWAC", 0x00000000) { External (STAS, IntObj) Scope (_SB) { Method (_INI, 0, NotSerialized) // _INI: Initialize { If (_OSI ("Darwin")) { STAS = One } } } } >> But it's not compatible with my case, presumably due to some conflicts with other hot-patches. As a result, I slightly modified the code, for the sake of the same purpose: External (_SB_.AWAC._STA, IntObj) External (_SB_.PC00.LPC0.RTC_._STA, IntObj) Device (SH01) { Name (_HID, "SDH10000") // _HID: Hardware ID Method (_INI, 0, NotSerialized) // _INI: Initialize { \_SB.PC00.LPC0.RTC._STA = 0x0F \_SB.AWAC._STA = Zero } Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (Zero) } } } >> On x11sra-f motherboard the problem remains the same with Clover. And the CPU frequency is locked to 3.2 GHz, which can only be circumvented by unlocking. On the other hand, it's just fine with OC even without unlocking MSR 0xE2. Unfortunately, it's impossible to unlock it on the latest BIOS. Translation of @lovest.fhd :s post made by my friend @PMheart Edited February 27, 2020 by obus 1 Link to comment Share on other sites More sharing options...
obus Posted February 27, 2020 Author Share Posted February 27, 2020 (edited) 2 hours ago, yapan4 said: Don't worry, me too CommentFind* [HEX] Replace [HEX] BIOS RTC Patch. A00A9353 54415301 A00A910A FF0BFFFF This patch could work instead of the RTC SSDT in clover. Test it if you want. I'm back on 1202 because of my loss of Bluetooth keyboard in UEFI. Edited February 27, 2020 by obus 1 Link to comment Share on other sites More sharing options...
yapan4 Posted February 27, 2020 Share Posted February 27, 2020 (edited) 24 minutes ago, obus said: CommentFind* [HEX] Replace [HEX] BIOS RTC Patch. A00A9353 54415301 A00A910A FF0BFFFF This patch could work instead of the RTC SSDT in clover. Test it if you want. I'm back on 1202 because of my loss of Bluetooth keyboard in UEFI. Thank you @obus I will be test and this path. The results - tomorrow... What type of Bluetooth you using? Another one bug in v.3003? Edited February 27, 2020 by yapan4 Link to comment Share on other sites More sharing options...
Recommended Posts