Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.
First line Summary :: Help in compiling / pathching DSDT file

Overall Picture of Issue:

For last few days i have been trying to resolve a issue which face in our workplace(http://www.spinics.net/lists/linux-ide/msg47001.html)

Switching controller board to AHCI is the till date suggestion which i have got as an work around for this issue.

But my mother board doesn't have the option in bios


lspci Ouput

00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02) (prog-if 80 [Master])

Link : pastebin. com/gahWeSaU

Since it is an Intel 82801GBM/GHM (ICH7 Family) model : i'm pretty sure that SATA controller is capable of working in AHCI mode

Intel Wiki : Intel's "Active Management Technology" were added. Only the ICH7DH, ICH7R, ICH7-M, ICH7-M DH chip have AHCI support. The ICH7 (Base) and ICH7-U (Ultra-mobile) chip do not support AHCI.

82801GB (ICH7) Base
82801GR (ICH7R) RAID
82801GDH (ICH7DH) Digital Home
82801GBM (ICH7M) Mobile
82801GHM (ICH7M DH) Mobile Digital Home
PC82801GU (ICH7-U) Ultra-mobile

TO verify i AHCI mode avaialablity in the controller ;

setpci -s 00:1f.2 90.b=2(DEFAULT):: LS VALUE : Intel  82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02) (prog-if 80 [Master])
setpci -s 00:1f.2 90.b=40        :: LS VALUE : Intel 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02) (prog-if 01 [PriO])

This makes sure that the controller is switching modes.

Now to linux to switch driver on boot automaticlly i found 2 methods from various blogs:

One is by Enabling mode via GRUB2

By Enabling :: setpci -s 00:1f.2 90.b=40

    By performing this /boot/grub/grub.conf :: I found that my LINUX did not boot itself.

Second Method : I am very much noob to this methos still trying to understand

On search found that fixing DSDT can make linux to switch for AHCI driver http://www.projectosx.com/forum/lofiversion/index.php/t1150.html

    i am so stuck in applying the kings patch. I tried all the fix he pointed but still not able to compile the file to AML

    Hers is the suggested patch:

    Device (SATA) // or whatever name has in your DSDT
        Name (_ADR, 0x001F0002)
        OperationRegion (SAHC, PCI_Config, 0x90, 0x08)
        Field (SAHC, ByteAcc, NoLock, Preserve)
            AHCI,   8
    // .... Rest of your stuff from original DSDT

    // Find (Method _PTS, 1, NotSerialized) and add this method before:

    Method (PINI, 0, NotSerialized) // For PCI0/Wake INI
        Store (0x40, \_SB.PCI0.SATA.AHCI) // Force SATA in AHCI mode

    // Add a call for it on _WAK method:

    Method (_WAK, 1, NotSerialized)
    // .... Rest of your stuff from original _WAK method

    // Find Device (PCI0), check if it have a _INI method, if yes add a call for PINI() like on _WAK one,
    // if there isn't create one like this:

    Device (PCI0)
        Method (_INI, 0, NotSerialized)
            PINI ()
    // .... Rest of your stuff from original DSDT

This is DSL dile

  pastebin. com/9s8jFFcB (lower reputation could paster morthan 2 links)

Request guidence

share|improve this question

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.