Patch DSDT Phần 2

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 injectionhttp://raw.github.com/toleda/audio_ALCInjection/master

    • Toleda Audio HDMI UEFI Audio dsdt edits – Desktop/Laptop/Intel NUChttp://raw.github.com/toleda/audio_hdmi_uefi/master

    • Toleda Audio HDMI HD4000/Ivy Bridge/7 Serieshttp://raw.github.com/toleda/audio_hdmi_hd4000/master

    • Toleda Audio HDMI HD3000/Sandy Bridge/6 Serieshttp://raw.github.com/toleda/audio_hdmi_hd3000/master

    • Toleda Audio HDMI 5 Serieshttp://raw.github.com/toleda/audio_hdmi_5series/master

    • ASUS: All-in-one patches for ASUS motherboardshttp://maciasl.sourceforge.net/pjalm/asus/

    • MSI: All-in-one patches for MSI motherboardshttp://maciasl.sourceforge.net/pjalm/msi/

    • Zotac: All-in-one patches for Zotac motherboardshttp://maciasl.sourceforge.net/pjalm/zotac/

    • Gigabyte: All-in-one patches for Gigabyte motherboardshttp://maciasl.sourceforge.net/pjalm/gigabyte/

    • ASRock: All-in-one patches for ASRock motherboardshttp://maciasl.sourceforge.net/pjalm/asrock/

    • Graphics: Patches for Intel HD and AMD/nVidia graphic cardshttp://maciasl.sourceforge.net/pjalm/graphics/

    • Intel Series 6: Intel Series 6 Patches for SATA, USB, SMBUS, IGPU, GbE and general fixeshttp://maciasl.sourceforge.net/pjalm/intel6/

    • Intel Series 7: Intel Series 7 Patches for SATA, USB, SMBUS, IGPU, GbE and general fixeshttp://maciasl.sourceforge.net/pjalm/intel7/

    • Intel Series 8: Intel Series 8 Patches for SATA, USB and general fixeshttp://maciasl.sourceforge.net/pjalm/intel8/

    • Intel Series 9: Intel Series 9 Patches for SATA, USB and general fixeshttp://maciasl.sourceforge.net/pjalm/intel9/

    • General: General patches for Shutdown, HDEF, USB3, SATA and LANhttp://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 + ACommand + C

  • Nhấn tổ hợp phím Command + 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:

Rename EC

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 Find

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

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:

  • 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:

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

Last updated