Làm quen với MaciASL

B1: Thiết lập MaciASL về 5.0 hoặc cao hơn. 

B2: Thêm các Source hữu ích: 

  • Vào Setting của MaciASL (Command + “,”).
  • Bấm dấu “+” để thêm Source. 
  • Các Source hữu ích 
  • Rehabman DSDT Patches:
    http://raw.github.com/RehabMan/Laptop-DSDT-Patch/master
  • HP Probook patch:
    http://raw.github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch/master
  • PCbeta dxxs dsdt Patches:
    http://raw.github.com/Yuki-Judai/dxxs-DSDT-Patch/master
  • MacMan Gigabyte:
    http://www.tonymac86.com/DSDT/
  • Toleda Audio HDMI HD4600/Haswell/8 Series:
    http://raw.github.com/toleda/audio_hdmi_8series/master
  • Toleda Airport PCle Half Mini:
    http://raw.github.com/toleda/audio_ALCInjection/master
  • Toleda Audio Realtek ALC injection
    http://raw.github.com/toleda/audio_ALCInjection/master
  • Toleda Audio HDMI UEFI Audio dsdt edits – Desktop/Laptop/Intel NUC
    http://raw.github.com/toleda/audio_hdmi_uefi/master
  • Toleda Audio HDMI HD4000/Ivy Bridge/7 Series
    http://raw.github.com/toleda/audio_hdmi_hd4000/master
  • Toleda Audio HDMI HD3000/Sandy Bridge/6 Series
    http://raw.github.com/toleda/audio_hdmi_hd3000/master 
  • Toleda Audio HDMI 5 Series
    http://raw.github.com/toleda/audio_hdmi_5series/master
  • ASUS: All-in-one patches for ASUS motherboards
    http://maciasl.sourceforge.net/pjalm/asus/
  • MSI: All-in-one patches for MSI motherboards
    http://maciasl.sourceforge.net/pjalm/msi/
  • Zotac: All-in-one patches for Zotac motherboards
    http://maciasl.sourceforge.net/pjalm/zotac/
  • Gigabyte: All-in-one patches for Gigabyte motherboards
    http://maciasl.sourceforge.net/pjalm/gigabyte/
  • ASRock: All-in-one patches for ASRock motherboards
    http://maciasl.sourceforge.net/pjalm/asrock/
  • Graphics: Patches for Intel HD and AMD/nVidia graphic cards
    http://maciasl.sourceforge.net/pjalm/graphics/
  • Intel Series 6: Intel Series 6 Patches for SATA, USB, SMBUS, IGPU, GbE and general fixes
    http://maciasl.sourceforge.net/pjalm/intel6/
  • Intel Series 7: Intel Series 7 Patches for SATA, USB, SMBUS, IGPU, GbE and general fixes
    http://maciasl.sourceforge.net/pjalm/intel7/
  • Intel Series 8: Intel Series 8 Patches for SATA, USB and general fixes
    http://maciasl.sourceforge.net/pjalm/intel8/
  • Intel Series 9: Intel Series 9 Patches for SATA, USB and general fixes
    http://maciasl.sourceforge.net/pjalm/intel9/
  • General: General patches for Shutdown, HDEF, USB3, SATA and LAN
    http://maciasl.sourceforge.net/pjalm/general/

B3: Apply các Patch Online như hình:

Các bạn chọn các Patch ở mục 1 rồi Apply vào nút ở mục 2

B4: Apply các patch offline: 

  • Vào trang offline của các patch muốn apply ( vd mình muốn apply patch battery  )
  • Vào patch muốn down chọn như hình 
  • Nhấn tổ hợp phím Command + A và Command + C 
  • Tải sublime text 
  • Nhấn tổ hợp phím Command + V 
  • Và Command + S và save các bạn đặt tên tùy ý ở cuối tên các bạn để là .txt 
  • Các bạn chọn như hình:

Lưu ý : Thông thường khi dùng DSDT 90% các bạn sẽ bị treo táo do DSDT chưa Rename EC thì các bạn hãy làm theo sau:

B1: Mở DSDT với MaciASL bấm tổ hợp phím Command + F và tìm từ khóa sau PNP0C09.

B2: Nhìn đến mục Device để xác định Device cần đổi tên thường sẽ là các tên sau EC0, H_EC, ECDV,…..

B3: Vào nút  

B4: Nhận vào dòng replace “EC” và nhấn “ALL” 

 XXVII.4 : Fix Error

Đa số các DSDT Native và được biên dịch đúng thường sẽ không có Error nhưng vẫn có 1 số trường hợp ngoại lệ là vẫn có từ 1-3 Error thì các bạn sẽ fix như sau:

B1: Bấm vào nút để hiển thị lỗi và fix lỗi như hình: 

1: Số dòng lỗi.

2: Thứ tự code bị lỗi. 

3: Nội dung lỗi. 

B2: Add source của Rehabman vào http://raw.github.com/RehabMan/Laptop-DSDT-Patch/master hoặc add các patch offline theo hướng dẫn ở trên từ link sau đây: 

https://github.com/RehabMan/Laptop-DSDT-Patch

B3: Apply các patch vá lỗi của Rehabman (thường sẽ có các ký tự đầu là “syn”).

Lưu ý : Các bạn nên Remove các _DSM methods của dsdt trước khi Apply các bản vá lỗi của Rehabman các Remove như sau các bạn làm như hình:

1 số lỗi phổ biến

Lỗi bm6h khi gặp lỗi như hình:

Khi gặp lỗi này các bạn thay đoạn code sau vào chỗ bị lỗi:

                If (LEqual (PM6H, One))

                {

                    CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW)  // _RW_: Read-Write Status

                    Store (Zero, ECRW)

                }

If (PM0H)

                            {

                                CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN)  // _LEN: Length

                                Store (Zero, F0LN)

                            }

Lưu ý 2 : Luôn phải Fix Error trước khi Apply các bản vá vào.

Lưu ý 3: Các nguồn tham khảo Getting a copy of your DSDT | Getting Started With ACPI (dortania.github.io) | [Guide] Patching LAPTOP DSDT/SSDTs | tonymacx86.com | [Guide] Patch DSDT cho máy Hackintosh (Phần 5) – UEFI & OS (niemtin007.blogspot.com) | DSDT, SSDT: Những kiến thức cơ bản | Lập Trình TV (laptrinhtv.blogspot.com)

Lưu ý 4: Đối với những máy dùng Patchmatic để Dump DSDT mà gặp Error thì xui cho các bạn rồi các bạn bắt buộc phải dùng DSDT gốc máy nếu dùng DSDT gốc máy thì trong ACPI các bạn phải xoá hết (bao gồm các patch rename) đi chỉ để mỗi DSDT thôi rồi add các patch vào từ từ. 

Lưu ý 5: Đối với Clover các bạn cần phải bật Drop OEM lên nếu muốn Load được DSDT

2 thoughts on “XXVII. Patch DSDT Phần 2

  1. Pingback: Fix System Clocks on HEDT - Heavietnam January 2022

  2. Pingback: Hotplug thunderbolt 3 - Heavietnam February 2022

Leave a Reply