Fix RTC Manual

Đối với lỗi thiếu RTC thì có 3 cách để sửa do macOS cần RTC mà ko cần AWAC do đó ta nên disable AWAC và Enable RTC.

Static Patch

B1: Dump DSDT theo hướng dẫn tại đây.

B2: Mở DSDT ra và search ACPI000E ta sẽ thấy như sau:

B3: search PNP0B00 ta sẽ thấy như sau

B4: Bạn chú ý phần khoanh đỏ ta sẽ có thể hiểu như sau:

  • Method(_STA thể hiện status của device đó ở đây là device RTCAWAC

  • Tiếp đó sẽ là câu lệnh if ta sẽ thấy ở AWACIf (LEqual (STAS, zero))RTCIf (LEqual (STAS, One))

  • Và trả về 2 giá trị là 0x0f0x00

    • 0x0f: enable

    • 0x00: disable

  • Từ đó ta có thể thấy như sau khi STAS=zero tức là điều kiện của AWAC đúng sẽ trả về giá trị là 0x0f. Ngược lại điều kiện ở RTC sai tức là trả về giá trị là 0x00

  • Ngược lại khi STAS=one tức là điều kiện của AWAC sai và trả về là 0x00. Khi này điều kiện ở RTC đúng và trả về là 0x0f

  • Như vậy có thể hiểu rằng khi STAS=one thì enable RTC và disable AWAC và ngược lại

  • Nhưng STAS thì được các os set

B5: Như vậy ta đã hiểu được nguyên lý hoạt động của method _STA. Vì vậy để fix nó ta có 3 cách đi ở phần này mình sẽ hướng dẫn cách đi đầu tiên là static patch.

  • Ta nhận thấy rằng giá trị method _sta phụ thuộc vào if ((STAS vậy nếu như ta xóa if đi và chỉnh cho giá trị method _STA của rtc luôn hoạt động thì RTC được enable

  • Sao khi xóa ta được:

B6: Như vậy là xong vì macOS chỉ cần RTC không cần AWAC.

Hotpatch

Sửa giá trị STAS cho nó luôn bằng one.

B1: Ta cần xác định biến được dùng để so sánh trong method _sta

  • Search PNP0B00 nhìn vào method STA ta sẽ thấy biến được dùng để so sánh như ở trên là STAS có 1 số máy là STSl vân vân

B2: Tạo SSDT-AWAC với nội dung như sau:

B3: Thay STAS bằng biến mà method _STA dùng để so sánh.

B4: Save lại.

B5: Bỏ file vào EFI –> OC –> ACPI hoặc EFI –> clover –> ACPI –> patched

Snaps nếu ở OpenCore.

Sử dụng SSDT-RTC0

B1: Tải SSDT-RTC0 tại đây.

B2: Xác định đường dẫn:

  • Search PNP0B00 ta sẽ thấy được đường dẫn

  • Ở đây ta có đường dẫn là _SB.PCI0.LPCB.RTC

B3: Tiến hành chỉnh sửa vào SSDT-RTC0

B4: Bỏ nó vào EFI –> OC –> ACPI hoặc EFI –> Clover –> ACPI –> Patched

Snaps nếu là OC

Source tham khảo: (7) Văn Hùng Nguyễn | Facebook | Fixing System Clocks: Manual | Getting Started With ACPI (dortania.github.io) | Howtohackintosh.top

Last updated