Dump dsdt
Hệ điều hành Windowns ( khuyến khích )
B1: Down ssdt-time từ nguồn sau https://github.com/corpnewt/SSDTTime
B2: Bấm phím 8 sau đó enter
B3: Lấy dsdt từ thư mục của ssdt-time
Lưu ý : Nếu các bạn dual boot với win qua opencore thì dsdt sau khi dump sẽ mất đi sự thuần khiết (sinh ra nhiều lỗi hơn)
winpe
- rw everything
B1: Tải rw-evrything
B2: Các bạn tiến hành cài đặt và mở app
B3: Sau đó các bạn chọn vào menu Access ⇒ ACPI Tables ⇒ dsdt
B4: Sau đó các bạn bấm save và chọn nơi lưu
B5: Tiếp các bạn đổi tên file từ đuôi .bin ⇒ .aml
B6: Sau đó boot về mac và tận hưởng thôi
- acpidump.exe ( khuyến khích ) :
B1: Tải acpidump.exe
B2 : Mở cmd ra
B3: [ kéo acpidump.exe vào ] -b -n DSDT -z
B4: Đổi extension của dsdt từ .dat ⇒ .aml
Hệ điều hành macos
With opencore
- Cách 1 : Dump bằng acpidump.efi
B1: Tải acpidum.efi từ nguồn https://github.com/dortania/OpenCore-Install-Guide/blob/master/extra-files/acpidump.efi.zip sau đó bỏ nó vào mục EFI-tool rồi snapshot config
B2: Tại giao diện boot chọn acpidum.efi
B3: Dùng opensell.efi dán đoạn sau vào openshell.efi ( viết từng dòng không dán toàn bộ)
fs0: // replace with proper drive
dir // to verify this is the right directory
Directory of fs0:\
01/01/01 3:30p EFI
cd EFI\OC\Tools
EFI\OC\Tools> acpidump.efi -b -n DSDT -z
Khi dán toàn bộ vào nó sẽ có dạng là
shell> fs0: // replace with proper drive
fs0:\> dir // to verify this is the right directory
Directory of fs0:\
01/01/01 3:30p EFI
fs0:\> cd EFI\OC\Tools
fs0:\EFI\OC\Tools> acpidump.efi -b -n DSDT -z
Lưu ý : Sau khi dump xong nó sẽ nằm ở mục EFI ⇒ OC ⇒ tool dưới dạng file .dat hay rename nó lại thành file .aml
- Cách 2 : SysReport Quirk ( khuyến khích )
B1: Các bạn cần tạo 1 bộ efi debug như sau :
- Tải bộ opencore pkg debug
- Thay thế các mục sau vào efi đang sử dụng
- bootX64.efi
- drivers
- opencore.efi
B2: Mở config lên snaps lại và tìm như hình
B3: Boot lại vào ổ cứng
B4: Các bạn sẽ thấy xuất hiện mục SysReport ⇒ ACPI
Sau khi làm xong các bạn sẽ được như hình
with hackintool
B1: Các bạn mở hackintool mục utilities
B2: Các bạn ấn
B3: Chọn nơi lưu ( sau khi chọn xong sẽ được như hình )
B4: Mở folder chọn lưu ở bước 2 ra và copy file dsdt.aml ra nơi mà bạn muốn như của mình nó sẽ là ở desktop
with patchmatic
B1: Tải patchmatic
B2: Nhập lệnh sau vào terminal
cd + [ kéo folder muốn lưu ssdt vào ][kéo patchmatic vào ] -extract
Sau khi làm xong các bạn sẽ được như hình
B3: Mở folder vừa chọn ở bước 2 sẽ được như hình
with clover ( khuyến khích )
B1: Tải efi clover ở đây
B2: Cho efi vừa tải vào usb hoặc 1 phân vùng trên ổ cứng ( được format với chuẩn fat32 )
B3: Boot vào efi vừa tải
B4: Ngay giao diện boot các bạn ấn f4 ( hoặc fn +f4 )
B5: Boot lại vào macos các bạn vào efi clover mục ACPI ⇒ origin
B6: Các bạn sẽ được như hình
Lưu ý: Ở macos mình đưa ra khá nhiều cách dump nhưng theo cảm nhận của mình thì cách dump bằng clover là chuẩn và trực quan nhất
Hệ điều hành linux
Cách 1 : with terminal
B1: Mở terminal ( nhấn alt + T )
B2: Gõ lệnh
Cd + [ tên nơi các bạn muốn lưu file ]
sudo apt update
sudo apt install acpidump
sudo acpidump > acpidump.out
sudo acpixtract -a acpidump.out
B3: Sau khi nhập các lệnh trên thì terminal sẽ dump tất cả các file acpi ra ngoài nơi mà các bạn chỉ định ở đây các bạn sẽ tìm file dsdt và đổi tên file từ đuôi .dat ⇒ .aml
with ssdt-time
B1: Tải ssdt-time
B2: Chọn phím 4
B3: ssdt sẽ được dump tự động vào mục Results
Lưu ý: Do ở đây mình mod giao diện giống mac
Lưu ý 2: Mình khuyến khích các bạn dùng sysreport và tính năng dump của clover ( vậy khi nào thì dùng patchmatic ? Dùng patchmatic sẽ apply tất cả các hotpatch vào dsdt vì vậy sẽ mất đi bản chất gốc của dsdt nó sẽ sinh ra 1 số lỗi còn nếu các máy dùng patchmatic để dump dsdt mà không có error thì cứ dùng patchmatic để dump )
Biên dịch dsdt
B1: Tải maciasl
B2: Chọn show package contents ⇒ contents ⇒ macos ( như hình )
B3: Copy file iasl62 vào thư mục lưu dsdt ( như của mình là extract )
B4: Copy đoạn code sau vào bộ nhớ tạm ( command +c )
External(MDBG, MethodObj, 1)
External(_GPE.MMTB, MethodObj, 0)
External(_SB.PCI0.LPCB.H_EC.ECWT, MethodObj, 2)
External(_SB.PCI0.LPCB.H_EC.ECRD, MethodObj, 1)
External(_SB.PCI0.LPCB.H_EC.ECMD, MethodObj, 1)
External(_SB.PCI0.PEG0.PEGP.SGPO, MethodObj, 2)
External(_SB.PCI0.GFX0.DD02._BCM, MethodObj, 1)
External(_SB.PCI0.SAT0.SDSM, MethodObj, 4)
External(_GPE.VHOV, MethodObj, 3)
External(_SB.PCI0.XHC.RHUB.TPLD, MethodObj, 2)
B5: Gõ lệnh sau và terminal ( sau khi làm xong sẽ được như hình )
cd + [ kéo folder lưu dsdt vào ]
pbpaste>refs.txt
B6: Gõ lệnh sau vào terminal
cd + [ kéo file chứ dsdt vào ][ kéo file iasl62 vào ] -da -dl -fe refs.txt DSDT.aml SSDT*.aml
Lưu ý: Ở đây mình hướng dẫn biên dịch file dsdt với refs.txt sẽ giúp giảm các lỗi phổ biến . nếu bạn nào cảm thấy không thích refs.txt thì các bạn nhập code sau vào terminal
[ kéo file iasl62 vào ] -da -dl *.aml
Lưu ý 2: Nếu các bạn cần biên dịch 1 file ssdt nào đó hoặc dsdt mà muốn dùng refs.txt thì dùng code trên sẽ ta sẽ bị lỗi vì code trên áp dụng khi bạn có 2 file dsdt và ssdt cần biên dịch nếu chỉ biên dịch 1 file ta nhập code sau ( ơ đây đang nói là dùng phương pháp refs.txt )
- Ssdt : [ kéo file iasl62 vào ] -da -dl -fe refs.txt SSDT*.aml
- Dsdt : [ kéo file iasl62 vào ] -da -dl -fe refs.txt DSDT.aml
Pingback: Fix System Clocks on HEDT - Heavietnam January 2022
Pingback: Hotplug thunderbolt 3 - Heavietnam February 2022
Pingback: XXXV. Fix RTC – Heavietnam
Pingback: IV. Patch pin – Heavietnam
Pingback: X. Fix Hotkeys – Heavietnam
Pingback: Fix rtc manual - Heavietnam April 2022
Pingback: Patch DSDT phần 4 - Heavietnam May 2022