8 Replies Latest reply on Dec 2, 2013 11:34 AM by Ragav

    AHCI ICH7

    gabiz_ro

      Since my D945GCL doesn't support native SATA AHCI  and I want to add this feature I'm looking for some sort of PCI OPTION ROM or so called OROM with support for ICH7 AHCI.

      I search a lot and found ahci.rom raid.rom but only for ICH8 and upper and for some older ICH6 I think but for ICH7 only raid.rom I can found and I need ahci.rom not raid.

      Where I can find that? Or may somebody provide me that?

      Thanks.

        • 1. Re: AHCI ICH7
          PeterUK

          I have no clue what your saying so its a safe bet neither do you...

           

          D945GCL doesn't support AHCI end of that, if you really need AHCI get a add on PCI/PCI-e card or new Board.

          • 2. Re: AHCI ICH7
            gabiz_ro

            D945GCL is based on ICH7 southbridge chipset.

            ICH7 support native AHCI if configured by BIOS.

            Is that enough clear for you now?

            In bios,field for legacy or native only change value of offset 90 of ICH7 controller,but still not working in AHCI mode since there are few chipset registers who need to be configured.

            If you are not sure about you are talking then please keep quiet.

            I know what are my demands and what I ask!

            I have many clues and many positive results,and I can confirm for every one that under linux there is a patch that switch controller from legacy to native sata support,and changing hw id too from 8086:27c4 to 8086:27c5 and there are some improving overall. (for other board,not D945GCL)

            Is that clear for you now?

            • 3. Re: AHCI ICH7
              PeterUK

              Some light reading for you Page 42

              http://www.intel.com/design/chipsets/datashts/307013.htm

               

              “Integrated Serial ATA host controller with independent DMA operation on four ports (Desktop only) or two ports (Mobile Only) and AHCI (ICH7R, ICH7DH, ICH7-M and ICH7-M DH Only) support. (SATA not supported on Ultra Mobile)”

               

              The word Only means Only the ICH7 doesn't support AHCI regardless of what you do.

               

              Is that clear for you now?

              • 4. Re: AHCI ICH7
                gabiz_ro

                You may have right,

                I have to take a closer look on what is marked on chipset.

                But for ICH7-M (another board,a notebook) I still need some orom to enable AHCI since manufacturer doesn't provide this option in BIOS.

                Under linux using a patch is working fine.

                Using a trick to rewrite pci registers is working under linux fine too without a patch but can't boot from fixed disk anymore.

                • 5. Re: AHCI ICH7

                  Why my computer open opportunity slowly. But after BuKa again into the system.

                  • 6. Re: AHCI ICH7
                    Ragav

                    Hi Gabiz_ro

                     

                    http://www.embeddedcomputersource.com/Download/Datasheets/KEMX-2030_11202008.pdf

                     

                    Intel® 945GSE + ICH7-M chipset

                    OS : Debian 6

                    Where in BIOS i don't see a option a for enabling AHCI mode.

                    Can you please guide me how to cook a patch and make linux to boot with AHCI mode

                    • 7. Re: AHCI ICH7
                      allan_intel

                      Hi guys,

                      AHCI mode on this motherboard model is not an option, by checking the product datasheet; this is only supported on ICH7R, ICH7DH and the mobile version like the ICH7-M

                      https://www-ssl.intel.com/content/www/us/en/io/i-o-controller-hub-7-datasheet.html?

                       

                      Allan.

                      • 8. Re: AHCI ICH7
                        Ragav

                        Dear all

                         

                         

                            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 (http://www.quanmax.com/~quanmax/cmsAdmin/uploads/kemx-2030_2031_manual_20130711.pdf)

                         

                         

                        lspci Ouput

                         

                         

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

                         

                         

                          Link : http://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

                         

                         

                          http://darkfader.blogspot.in/2010/04/windows-on-intel-mac-and-ahci-mode.html

                          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)

                          {

                          PINI()

                          // .... 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

                         

                          http://pastebin.com/9s8jFFcB

                         

                        Request guidence