Fix Sleep
Xác định phần cần sửa
B1: Nhập code sau vào terminal
pmset -g log | grep -e "Sleep.*due to" -e "Wake.*due to"
B2: Xem bảng sau để biết cần phần cần fix
| Wake [CDNVA] due to GLAN: Using AC | Vào cài đặt firmware tắt mục Wake on LAN đi |
|---|---|
| Wake [CDNVA] due to HDEF: Using AC | Vào cài đặt firmware tắt mục Wake on LAN đi |
| Wake [CDNVA] due to XHC: Using AC | Vào cài đặt firmware tắt Wake on USB và patch GPRW, xem ở dưới |
| DarkWake from Normal Sleep [CDNPB] : due to RTC/Maintenance Using AC | Lỗi này thường gặp do power snaps |
| Wake reason: RTC (Alarm) | Lỗi này thường do 1 ứng dụng, hãy thoát nó trước khi bạn sleep |
Chỉnh mục Power Management
Mở Hackintool, vào tab Power
+ Nhấn vào dấu để sửa các mục trong Power Management thành
0, oặc dùng kext hypernation fixup
Fix GPRW/UPRW/LANC
Thêm SSDT:
B1: Dump DSDT theo hướng dẫn tại đây
B2: Mở file DSDT.dsl bằng Releases · acidanthera/MaciASL · GitHub
B3: Nhấn tổ hợp phím Command+F hoặc nhấn nút lệnh search trên menu bar và search các từ khóa sau
Method (GPRW, 2) và Method (UPRW, 2) hoặc Device (LANC)
B4: Nếu bạn tìm được từ khóa:
Method (GPRW, 2)thì hãy tải SSDT này về: OpenCore-Post-Install/SSDT-GPRW.aml at master · dortania/OpenCore-Post-Install · GitHubMethod (UPRW, 2)thì hãy tải SDTS này về: OpenCore-Post-Install/SSDT-UPRW.aml at master · dortania/OpenCore-Post-Install · GitHubDevice (LANC)thì hãy tải SSDT này về: OpenCore-Post-Install/SSDT-LANC.aml at master · dortania/OpenCore-Post-Install · GitHub
B5: Sau khi tải các SSDT về, bỏ vào EFI/OC/ACPI và snapshot config.
B6: Add các patch rename sau vào config/ACPI/Patch:
- OpenCore-Post-Install/GPRW-Patch.plist at master · dortania/OpenCore-Post-Install · GitHub add patch này nếu các bạn tìm được từ khóa
Method (GPRW, 2) - OpenCore-Post-Install/UPRW-Patch.plist at master · dortania/OpenCore-Post-Install · GitHub add patch này nếu các bạn tìm được từ khóa
Method (UPRW, 2) - OpenCore-Post-Install/LANC-Patch.plist at master · dortania/OpenCore-Post-Install · GitHub add patch này nếu các bạn tìm được từ khóa
Device (LANC)
B7: Save config và reboot thôi.
Cách Add patch
B1: Vào trang copy các dòng code
B2: Tải Sublime Text – Text Editing, Done Right ( thường thì sever down khá chậm nên các bạn hãy tải ở maclife tuy là links fshare nhưng ít nhất cũng đc 100-150kb còn hơn 56kb ở trang chủ nhé links đây nhé Sublime Text 4 – Code Editor mạnh mẽ trên mac – MacLife – Everything for Mac Lovers )
B3: Mở lên và tải các gói mà nó yêu cầu
B4: Dán code vào và lưu file dưới dạng file xml
B5: Tải app plist edit pro theo links sau PlistEdit Pro – Advanced Mac plist and JSON editor (fatcatsoftware.com), hoặc có thể mở bằng propertree sau khi mở lên các bạn sẽ được như hình:
B6: Các bạn add mục vào mục root ⇒ ACPI ⇒ Patch của file config.plist
Lưu ý đối với máy mình thì chỉ cần fix nhiêu đây thì đã có thể sleep/wake nếu các bạn vẫn chưa sleep/wake được thì có thể tham khảo links sau Fixing Sleep | OpenCore Post-Install (dortania.github.io)
Lưu ý 2 nếu như các bạn đã làm phần chuẩn bị nhưng vẫn bị lổi restart khi sleep thì các bạn có thể thử bỏ kext sau vào mục EFI ⇒ kext Releases · acidanthera/HibernationFixup · GitHub nhớ snaps lại config
Wake Keyboard
Đối với 1 số máy khi wake cần nhấn phím nguồn hoặc nhấn phím nhiều lần, ở đây mình sẽ hướng dẫn cách bạn chỉ cần nhấn phím 1 lần thôi là đã wake lên.
Cách 1
Chuẩn bị:
B1: Tải gfxutil
B2: Tải ProperTree
Tiến hành:
B1: Chạy gfxutil lên nếu các bạn nào bị trường hợp chạy lên và tắt thì các bạn vào setting terminal chỉnh lại theo ảnh
B2: Tìm đến dòng có tên là XHCI (XHC1/XHC)
B3: Thêm 1 dòng vào DeviceProperties với tên và đoạn code vừa xác định
B4: acpi-wake-type | Data | <01> thêm đoạn này vào config dưới dòng vừa thêm
sau khi làm xong sẽ được như hình
Lưu ý: Nếu không được hãy chuyển sang cách 2**
Cách 2:
B1: Tải Keyboard Wake Issues | OpenCore Post-Install (dortania.github.io) và SSDT-USBW.dsl
B2: Bỏ kext vừa tải vào folder kext và snapshot lại config
B3: mở SSDT vừa tải bằng MaciASL
B4: các bạn chuyển đoạn mã vừa lấy ở cách 1 thành /PC00@0/XHCX@14 -> \_SB.PC00.XHCX
thay hoặc bỏ X thành đoạn mã mà bạn thu được
B5: Save lại và bỏ vô EFI ⇒ OC ⇒ ACPI (hoặc EFI ==> Clover ==> ACPI ==> Patched)
B6: Snapshot config và reboot
Lưu ý : Nguồn: Keyboard Wake Issues | OpenCore Post-Install (dortania.github.io)
Lưu ý chung : nếu các bạn có card rời thì phải disable card rời đi
Nguồn tham khảo: Các vấn đề về đánh thức bàn phím | OpenCore Sau cài đặt (dortania.github.io)
DarkWake
Trước hết ta phải biết, darkwake là gì? Darkwake là khi bạn wake máy sau sleep máy chỉ thức dậy 1 phần còn phần còn lại vẫn còn đang ngủ
B1: Xác định những phần cần patch theo bảng sau
B2: Cộng tất cả value của các phần bạn cần patch như ở đây mình cần patch
1,3,512 thì mình sẽ làm như sau 1+3+512 = 516
B3: Thêm vào boot-arg đoạn code sau: darkwake=XXX (thay XXX bằng value mà bạn thu được)
B4: Save lại và reboot
Lưu ý: Source tham khảo Các vấn đề về đánh thức bàn phím | OpenCore Sau cài đặt (dortania.github.io)
Lưu ý 2: Nếu quá bối rối không biết nên chọn cái nào thì các bạn thêm đoạn code sau vào boot-arg darkwake=0 ( nó sẽ vô hiệu hoá darkwake )