July 3, 2008

AMD 780G vs. AHCI

I really like ASUS boards, but recently, ASUS boards for AMD CPU's become pretty hard to find locally, so on our most recently mainboard purchase we ended up getting some Gigabyte GA-MA78GM-S2H (rev. 1.0) boards. Gigabyte isn't too bad, but who can remember a name like GA-MA78GM-S2H (rev. 1.0)? That's one of the reasons I've always liked ASUS boards. We also got some relatively cheap Phenom X3 8450 to go with the boards.

I've never used AMD chipsets with SATA/AHCI before, and I thought it would be easy like on Intel chipsets, where you just set the drive controller type in the BIOS to IDE mode, then install Windows XP, then install the SATA/AHCI drivers after first boot, and then set the BIOS to AHCI mode.Obviously that's what I tried first, but since the SATA device didn't exist, the driver can't get installed, and there's no special install program like for Intel chipsets, and if I set the BIOS to AHCI, it either blue screened as expected, or rebooted immediately without any warning.

Fine, I'll just create a boot floppy, and press F6 during setup to install the driver... but that didn't work either, there's an error copying ahcix86.inf and ahcix86.sys, and then the install fails.

The next thing I tried was creating my own Windows XP with the AHCI drivers slipstreamed. Didn't work either, can't even find the hard drive eventhough the driver is loaded. Tried slipstreaming again, with different drivers, still didn't work. Tried a few more times. More coasters. Nothing worked.

So I tried googling for a solution, and it seems that others were having the exact problem I was having, and the people offering solutions apparently don't actually have the board, and only suggested stuff like using F6 floppy or creating a slipstream installation disc. All of which I've already tried without success. It seems others just gave up on using AHCI mode, or argued that there's no difference between AHCI and IDE mode.

Anyway, after much headbanging and trying random things, I figured out a way to do it. This may not work on other AMD 780G boards and may not even be very smart, but it worked for me. The Gigabyte board has a BIOS setting that can separate the 6 onboard SATA ports into independent 4 SATA plus 2 IDE ports. (The setting is in the Integrated Peripherals page: OnChip SATA Type=AHCI and OnChip SATA Port4/5 Type=IDE.) First plug the SATA drive into port 4, which is mapped as IDE, then install Windows. This lets the installation use the drive as an IDE drive, but since the SATA device exists, the SATA/AHCI driver can be installed successfully. After Windows installation is done, either move the drive back to one of the SATA ports, or disable IDE mode entirely.

Oh, just to prove that this method works even if Windows is already installed, I tried installing Windows XP again with all the SATA ports set to IDE mode, then move the drive to port 4 after installation, set the BIOS to the SATA+IDE mode, then boot into Windows again to install the SATA/AHCI drivers. It all works as expected.

24 comments:

mcemij said...

I literally searched online for 4hours. You have the same board as me. I am so going to try it when I get home. If it doesn't work. I will personally call you and figure it out! BTW I only have 1 SATA300 Drive..

Anonymous said...

you are a god, worked like a charm
thank you for sharing this

Irha said...

I came across your blog trying to understand the bios options and thanks a lot for making it clear. I am actually trying to change from ide mode to ahci for an existing installation, so hopefully a repair will fix it. If not, I will try what you are suggesing.

One comment regarding the number of sata parts, I have this same board (ver 1.1) and have only 5 onboard sata ports (numbered from 0 to 4 as per the manual). However I do see that the feature list has 6 ports mentioned, so where is the 6th port?

Irha said...

I actually couldn't get it working using repair option. I had the AHCI mode turned on and Port4/5 set to IDE with the drive connected to port 4 when I did the repair. Windows booted up fine but didn't detect any new device. If I move it back to the port 0 I get the dreaded bsod.

What device am I expected to find when booting off the port 4?

FRiC said...

You shouldn't have to repair Windows, because Windows is already installed with IDE mode, you only need to move the drive, and then install the SATA drivers.

There are five internal SATA ports, and the external eSATA port.

Irha said...

If I move it into port 0, windows doesn't boot, so how would I install the sata drivers?

FRiC said...

Hi, if you set OnChip to SATA and 4/5 to IDE, you should be able to install the AHCI drivers.

Irha said...

Ok, I had to do "Scan for hardware changes" to find a new device and pointing it to the motherboard driver cd got me 3 versions (one was for vista, and another from bootdrv, so I chose the 3rd).

This finally installed two new devices "AMD AHCI Compatible RAID Controller" and "AMD RAID Console" under the category "SCSI and RAID controllers". Thanks a lot for putting up this guide.

I am still not able to use my external drive in e-sata mode :(

Irha said...

Never mind... the cable on the pc side was not pressed all the way down. I can now use the e-sata port. Thanks again.

Anonymous said...

It worked like a charm, I was about to give up on this, thankyou.

Anonymous said...

Very nice article, thank you, worked for me too for that motherboard.
I got twisted by Gigabyte cause the supplied driver disk's Other files directory contains drivers for jmicron sata device....

John said...

As soon as I set OnChip SATA Type to AHCI, Windows boots only as far as its Boot screen (not its Welcome screen). Then the system crashes, or at least recycles down into a restart. If I change nothing else but that single setting back to Native IDE, Windows starts and runs fine. My XP HDD is on Port 4.

Anonymous said...

I searched and tried for DAYS, before i read this. I tried it and within 5 minutes it worked. You're a genius, a hero, a god!

Thank you for sharing this!

Anonymous said...

I tried your method on my Gigabyte GA-MA770-DS3 Rev 2.0 with SB700 southbridge and everything works now.However i had to reinstall SB700 southbridge drivers for windows to properly detect SATA2 Ahci controller. Then i reconnected disk to SATAII0 port rebooted my pc and everything works fine. Really BIG thanks for this!!!!

Anonymous said...

INTEGRATING DRIVERS WORKS with nLite for an Asus V3-M3A3200 AMD 780G barebone, perhaps also with other 780G products. Enabled SATA AHCI mode in BIOS, integrated the drivers for Windows XP 32bit from the folders on the CD "Drivers\Chipset\MakeDisk\x86_x64_XP\WinXP\x86" and "Drivers\Chipset\XP\XP32\SBDrv\RAID7xx\x86" (the second should be for the RAID) and build an ISO. The problem is that I couldn't find the newest drivers on the AMD website, even on the ASUS download page. I had to disable the card reader temporary (unplug cable or disable the USB function in BIOS) and change the SATA ports of the CD drive(5) and the hard drive(1) to (1) and (2) respectively, otherwise i get the system partition labeled (G:)
. Have fun!

Anonymous said...

thx, last method (without reinstalling windows) works on ga-ma78-ds3h

Lleida said...

...hmmmm
i had the same problem


but with RAID 0 ... what can i do??

thanks ;)

Anonymous said...

Hi, for any one that needs help i do this:
1-Install Windows in IDE Mode
2-Download and install RAID driver from AMD (Soudbridge driver).
3-Copy the ahcix86.sys to windows\system32 folder.
4- Create and execute a reg file with:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_1002&DEV_4391]
"Service"="ahcix86"
"ClassGUID"="{4D36E97B-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ahcix86]
"Type"=dword:00000001
"Start"=dword:00000000
"Group"="SCSI miniport"
"ErrorControl"=dword:00000001
"ImagePath"="system32\\drivers\\ahcix86.sys"
"tag"=dword:00000019
"DisplayName"="ATI AHCI Compatible RAID Controller"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ahcix86\Parameters\PnpInterface]
"5"=dword:0x00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ahcix86\Settings\CAM]
"EnableALPEDisableHotplug"=dword:0
"EnableCCC"=dword:1
"CCCTimeoutValue"=dword:10
"CCCCompletionValue"=dword:32
"NCQEnableDiskIDBits"=dword:0
"EnableHIPM"=dword:0
"EnableDIPM"=dword:0

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ahcix86\Enum]
"0"="PCI\\VEN_1002&DEV_4391&SUBSYS_B0021458&REV_00\\3&61aaa01&0&88"
"Count"=dword:00000001
"NextInstance"=dword:00000001

5-Restart windows and change to ACHI MODE.

Jorgusson said...

YOU ARE SUPERHUMAN. It worked perfectly on GA-M770-UD3 rev 2.0. But it is sad that gigabyte didn't invent better way to install sata controller in Windows XP ;-]

Anonymous said...

Hi to all.
I had the same problem - Install XP on my new motherboard ASROCK A785GMH/128M on AHCI mode, but failed many times, with errors, so searching a lot and reading, i tryed something and finaly was funkcional. I have read all comments, and your disapointment about this problem, so I would like to halp you fellows. Here my instructiones with slipsream with nLite:
1. Find Windows XP (SP2 or SP3) original ISO, not ever modyfied.

2. Download ATI_SB700_IDE_Floppy 3.1.1540.127 - but take care for this version, coz the other i didn't tested, and i don't know if it will work. I will post here a link of alredy edited drivers by myself - http://www.megaupload.com/?d=UI2MXP95

3. Now you have only to create new ISO image of WinXP with nLite, slipstream this drivers, and make some happy face.

Greatings from sunny and beatiful MACEDONIA

Anonymous said...

One more question. Why does AHCI controller install himself in SCSI and RAID category not in IDE category. Isn't it some kind of error, because intel AHCI controller was installed id IDE category. And diagnosis programs do not detect disks attached to SATA ports in AHCI mode using AHCI controller in SCSI category...

slomka111 said...

Thank you, thank you thank you!!!
1. Set ahci in bios and 4/5 port ide
2. put hdd in 4th sata port
3. start windows, it will auto install ahci drivers or do it manually.
4. restart few times
5. Switch your hdd to 0 sata port and enjoy ncq!!!

My experience is 10mb burst more in hdtune test. THXXXX ! ! ! :D

Anonymous said...

Ha...after reading all the crazy "reinstall windows" etc all over the place I relized this exact thing. (4 Ports SATA and 2 as IDE in the BIOS) and it all went great. Then today I find your blog. So...there are at least two people that figured it out :)

HeadGeek from California

Anonymous said...

Oh...ans someone needs to let all those people know in tomshardware that have to fiddle with registry entries and slipstreaming drivers and doing all kinds of crazy things.
Real motherboards can split SATA port modes ! :)