PDA

View Full Version : Mac Pro w Boot Camp - SATA, AHCI, EFI, BIOS - what can we do?




sirnh
Aug 16, 2006, 04:09 PM
I know there is another thread running concerning itself with the poor performance of SATA under Boot Camp, but much of the discussion wasn't technical in nature. I would like to focus this thread on the technical aspects preventing the drives from reaching their ultimate performance potential.

I have spent a few days researching SATA, and how it is handled under Windows, especially Intel's implementation. Intel is pushing a standardized controller interface called AHCI. AHCI does support legacy PATA emulation. In WinTel platform, it is a requirement of the BIOS to configure the AHCI device properly. The AHCI PCI device will present different PCI subcodes depending if it is running in PATA or native mode. These PCI subcodes are used to choose the appropriate driver at boot time.

For best performance, SATA wants to run in native mode which, on the Mac Pro platform, means running the controller device in AHCI mode. AHCI fully supports DMA as well as Native Command Queuing (NCQ). Combining these two technologies give the best performance.

The PATA emulation can support DMA, depending on the actual BIOS implementation. PATA can not support NCQ.

With Boot Camp, Apple is providing a BIOS layer on top of EFI, the new standard for low-level PC firmware. This layer is called a CSM (Compatibility Support Module). I believe the CSM is not programming the device to enter AHCI mode. Also, the CSM is not providing anything other than Programmed I/O (PIO or non-DMA) in their PATA emulation support.

How do we work around this? I don't know. I am hoping to bring others into this discussion to see if we can figure something out. Considering Apple released Boot Camp 1.1 with the same flaw, I don't believe we can expect them to resolve this issue soon.

Putting the device in AHCI mode may present more difficult problems for Apple. They will have to change their CSM to support loading the boot sector using AHCI instead of PATA protocols.

There is one other thing to note, when you boot with device in AHCI mode, and then install Windows, you must install a 3rd party driver provided by Intel at installation time. Pressing the F6 key early on in the install process, inserting a floppy, which contains the driver, and then choosing the driver for installation. The CSM will have to support USB floppies (I have not tested to see if it does, yet). It also means that any user that currently has Windows installed will have to reinstall Windows once we determine how to put the device in AHCI mode.

If we were willing to give up NCQ, it might be easier for Apple to extend their CSM to include better PATA emulation. We may be limited to 100MB/s, or 133MB/s at best. This is more than enough bandwidth to support any single drive.

In a later post, I will list all of the steps that I have tried in enabling any form of SATA DMA on the Mac Pro.

To finish off this post, I ask if you have been following other similar threads on other sites, please bring their attention to this thread. I would really like to centralize all discussion, work and knowledge in one place.

Brian Williams



omfgninja
Aug 16, 2006, 05:12 PM
good post.

Actualy, and actualy I have an idea.....
I have installed Windows many times using special "Install Time" drivers.
And I have a possible workaround for now...

Now personaly, I havent used any type of Virtualization software, but I had read about Paralles (http://www.parallels.com/en/products/workstation/mac/).

So I looked on there, and I think I figured out how we can get that running.
We can run Paralles, and have that run the Windows XP installer. Insted of having to hook up a USB floppy, you could make an image of that driver, and then have Paralles mount that as a drive image.
That way we can install with the drivers for the hard drive, without having to mess with hooking up a floppy.

You could just take all thouse files and then put them on its own harddrive, or whatever, and then you could even do a Native boot of that for your dual booting good'ness.

sirnh
Aug 16, 2006, 05:47 PM
That may be difficult, because Parallels isn't ACPI compatible, so the installation that it makes can not be used directly to boot a Mac Pro through Boot Camp, I believe. So you would have to do a repair installation, all over, which brings us back to the original problem you are talking about, getting the installer to use the native drivers.

Also, we still face the other issue of how we get the controller device into AHCI mode, so that the native drivers will recognize the device.

macenforcer
Aug 16, 2006, 08:17 PM
YOu could always use that old pata drive in the lower DVD drive slot like I did. Computer and drive is plenty fast and I still have my 4 sata drives available for OSX.

sirnh
Aug 16, 2006, 09:19 PM
mace,

I appreciate your input, but I want to focus this thread on actually solving the SATA performance problem, not working around it. Others have suggested this in other threads. The work around has its merits, but in my case, I have 3 different SATA drives mounted, so the PATA is a partial solution, at best.

tobyg
Aug 16, 2006, 09:48 PM
Yeah I've thought about this sort of stuff too. I was trying to figure out if there is an equivilant 'setup' process to the csm/bios emulation. I couldn't find anything. You know, kinda like the delete/f2 stuff with a normal bios. It's got to be a problem with the way the CSM is presenting the sata channels. That's why I've always thought that a firmware update is going to be required and drivers alone won't do it.

sirnh
Aug 16, 2006, 09:53 PM
There are ways to get into the EFI command prompt, but it is nothing like a normal BIOS set up. I noticed apple has an EFI SDK now. I thought of looking at that, but without understanding how the CSM works, writing an EFI module that enables AHCI could just end up breaking the CSM so that it can't find the boot sector.

tobyg
Aug 16, 2006, 10:03 PM
Ultimately I believe we're going to be at the mercy of Apple to fix this, if they even choose to. Either that or I hope people smarter than myself see these posts and can figure it out for us!

tobyg
Aug 16, 2006, 11:01 PM
Just for fun, I put some disk drivers for XP on a floppy... these in fact : http://downloadfinder.intel.com/scripts-df-external/Detail_Desc.aspx?agr=Y&ProductID=2532&DwnldID=11310&strOSs=94&OSFullName=Windows%20Server*%202003%20Standard%20Edition&lang=eng

I plugged in my USB Floppy, booted my XP CD on my Mac Pro and hit F6... when it asked me for the driver disk, I put in the floppy and it DID read the floppy and find the drivers on the floppy. Granted, these drivers won't help right now (until the mode is changed in the csm), I was just using these as something for XP to look for.

So, it could work... but it would mean everyone would have to buy a USB Floppy drive or they would have to figure out some other method (temporary hard drive partition or something, similar to how HP SmartStart method works on HP servers) to add these drivers to the install.

sirnh
Aug 16, 2006, 11:08 PM
Just for fun, I put some disk drivers for XP on a floppy... these in fact : http://downloadfinder.intel.com/scripts-df-external/Detail_Desc.aspx?agr=Y&ProductID=2532&DwnldID=11310&strOSs=94&OSFullName=Windows%20Server*%202003%20Standard%20Edition&lang=eng

I plugged in my USB Floppy, booted my XP CD on my Mac Pro and hit F6... when it asked me for the driver disk, I put in the floppy and it DID read the floppy and find the drivers on the floppy. Granted, these drivers won't help right now (until the mode is changed in the csm), I was just using these as something for XP to look for.

So, it could work... but it would mean everyone would have to buy a USB Floppy drive or they would have to figure out some other method (temporary hard drive partition or something, similar to how HP SmartStart method works on HP servers) to add these drivers to the install.

Good to know, Toby. I think if a floppy driver install is going to be required Apple will just go along with the PATA emulation, adding DMA support. OR, they work with Intel to create a special version of the AHCI driver which forces the device into AHCI mode.

FabioC
Aug 16, 2006, 11:12 PM
Greetings all.. new member here. Glad to be in the company of such good people.

Although I do not have my Mac Pro yet (damn ATI cards :mad: ) I have been paying attention to all of the adoption issues people are having and the SATA issue concerns me as well.

I'd like to turn this thread's attention to the SATA performance under Windows with the MacBook Pro. It seems most MBP users report adequate SATA performance with their notebooks, despite the MBP running under EFI as well.

If the problem is in fact the EFI/AHCI implementation, then why do SATA drives perform well in the MacBook Pro?

The answer to that may lead us to better performance on the Mac Pro..

I hope..

tobyg
Aug 16, 2006, 11:41 PM
Greetings all.. new member here. Glad to be in the company of such good people.

Although I do not have my Mac Pro yet (damn ATI cards :mad: ) I have been paying attention to all of the adoption issues people are having and the SATA issue concerns me as well.

I'd like to turn this thread's attention to the SATA performance under Windows with the MacBook Pro. It seems most MBP users report adequate SATA performance with their notebooks, despite the MBP running under EFI as well.

If the problem is in fact the EFI/AHCI implementation, then why do SATA drives perform well in the MacBook Pro?

The answer to that may lead us to better performance on the Mac Pro..

I hope..

Because it's an entirely different chipset with entirely different drivers.

sirnh
Aug 17, 2006, 01:24 AM
Because it's an entirely different chipset with entirely different drivers.

Here is the information for the controller driver for a Mac Book:

Intel(R) 82801GBM/GHM (ICH7_M Family) Serial ATA Storage Controller - 27C4
Driver Provider: Intel
Driver Date: 5/23/2005
Driver Version: 7.0.0.1020
PCI\VEN_8086&DEV_27C4&SUBSYS_72708086&REV_02

The intenal hard disk is connected to the Primary IDE Channel, Device 1, and is connected for Ultra DMA Mode 5.

And here is the same information for the Mac Pro:

Intel(R) 631xESB/6321ESB/3100 Chipset Serial ATA Storage Controller - 2680
Driver Provider: Intel
Driver Date: 5/15/2006
Driver Version 7.4.0.1005
PCI\VEN_8086&DEV_2680&SUBSYS_72708086&REV_09

All internal hard drives connected to all IDE channels are currently set to PIO Mode.

macenforcer
Aug 17, 2006, 01:43 AM
Here is the information for the controller driver for a Mac Book:

Intel(R) 82801GBM/GHM (ICH7_M Family) Serial ATA Storage Controller - 27C4
Driver Provider: Intel
Driver Date: 5/23/2005
Driver Version: 7.0.0.1020
PCI\VEN_8086&DEV_27C4&SUBSYS_72708086&REV_02

The intenal hard disk is connected to the Primary IDE Channel, Device 1, and is connected for Ultra DMA Mode 5.

And here is the same information for the Mac Pro:

Intel(R) 631xESB/6321ESB/3100 Chipset Serial ATA Storage Controller - 2680
Driver Provider: Intel
Driver Date: 5/15/2006
Driver Version 7.4.0.1005
PCI\VEN_8086&DEV_2680&SUBSYS_72708086&REV_09

All internal hard drives connected to all IDE channels are currently set to PIO Mode.

Where do you go to find that information?

seanf
Aug 17, 2006, 04:03 AM
So, it could work... but it would mean everyone would have to buy a USB Floppy drive or they would have to figure out some other method ...It's possible (and quite simple) to include third party drivers on an XP installation CD. The process is called Slipstreaming and involves creating a new installation CD by copying the files off your old one and adding any additional files. MaximumPC has an article (http://www.maximumpc.com/2005/01/how_to_slipstre.html) that shows how to create an XP Service Pack 2 Slipstreamed CD and how to add raid/SATA drivers.

Sean :)

FabioC
Aug 17, 2006, 07:12 AM
Because it's an entirely different chipset with entirely different drivers.

Excuse my ignorance, but are you saying that the faulty SATA implementation issue is due to a bad windows driver for the chipset? I thought we were looking at an EFI/BIOS implementation issue?

If it's the former, a proper windows driver would (should) fix the problem.

However, it's the problem of the BIOS as simh suggested, then the only thing that can save our skins is a firmware update.

Or am I wrong?

Mr. Mister
Aug 17, 2006, 08:22 AM
I'll be pretty pissed off if they don't fix this.

sirnh
Aug 17, 2006, 08:38 AM
Excuse my ignorance, but are you saying that the faulty SATA implementation issue is due to a bad windows driver for the chipset? I thought we were looking at an EFI/BIOS implementation issue?

If it's the former, a proper windows driver would (should) fix the problem.

However, it's the problem of the BIOS as simh suggested, then the only thing that can save our skins is a firmware update.

Or am I wrong?

Well, I think many people went down the drivers route, and thus far it hasn't panned out.

BUT, I think we are still focused on it somewhat, because if Apple enables AHCI, it will mean users will need a USB floppy and a driver floppy to install Windows. We truly want AHCI for the best performance going forward, especially if you intend to do things like uncompressed digital video or audio editing.

For many users, though, they would be happy with PATA emulation with Ultra DMA 5 performance.

FabioC
Aug 17, 2006, 08:39 AM
I'll be pretty pissed off if they don't fix this.

I think it's a good bet that if they provided iSight support in win, they will provide proper hard drive support..

FabioC
Aug 17, 2006, 08:54 AM
Here is a good read that explains how Windows handles a DMA device that is "misbehaving" and demotes it to PIO:

http://winhlp.com/WxDMA.htm

Among the reasons cited here are BIOS misconfigurations, read/write errors, and ATAPI errors..

It also says that sometimes the errors causing this fallback might show up on the event log.. Perhaps those of us with access to windows on these machines could escalate the event log triggers and have it try to catch some errors? I'll be glad to do this, too, as soon as my machine gets here--curse you, ATI!

This possible reaons for these errors seems to be leaning more and more towards things like hardware defects and misconfigurations than drivers... That's not to say a really hosed driver couldn't do this, either, but it seems unlikely.

tobyg
Aug 17, 2006, 09:27 AM
It's possible (and quite simple) to include third party drivers on an XP installation CD. The process is called Slipstreaming and involves creating a new installation CD by copying the files off your old one and adding any additional files. MaximumPC has an article (http://www.maximumpc.com/2005/01/how_to_slipstre.html) that shows how to create an XP Service Pack 2 Slipstreamed CD and how to add raid/SATA drivers.

Sean :)

Well aware of this, but this is way above the skillset of an average user. Apple needs a solution that is friendly and easy to use for all, and even a USB floppy drive won't cut it.

tobyg
Aug 17, 2006, 09:30 AM
Excuse my ignorance, but are you saying that the faulty SATA implementation issue is due to a bad windows driver for the chipset? I thought we were looking at an EFI/BIOS implementation issue?

If it's the former, a proper windows driver would (should) fix the problem.

However, it's the problem of the BIOS as simh suggested, then the only thing that can save our skins is a firmware update.

Or am I wrong?

The bios emulation that is done via the CSM in EFI is different for all hardware. EFI. Just like every standard computer has a different BIOS, the Mac Pro and Macbook Pro will have different implementations of EFI and the CSM/BIOS emulation. So what I'm saying is just because the Macbook Pro works, doesn't mean the Mac Pro will. Way different hardware, way different EFI drivers and CSM/BIOS emulation even though it looks pretty much the same to the user.

tobyg
Aug 17, 2006, 09:32 AM
Here is a good read that explains how Windows handles a DMA device that is "misbehaving" and demotes it to PIO:

http://winhlp.com/WxDMA.htm

Among the reasons cited here are BIOS misconfigurations, read/write errors, and ATAPI errors..

It also says that sometimes the errors causing this fallback might show up on the event log.. Perhaps those of us with access to windows on these machines could escalate the event log triggers and have it try to catch some errors? I'll be glad to do this, too, as soon as my machine gets here--curse you, ATI!

This possible reaons for these errors seems to be leaning more and more towards things like hardware defects and misconfigurations than drivers... That's not to say a really hosed driver couldn't do this, either, but it seems unlikely.

There were no errors in the event log. I checked, many times.

sirnh
Aug 17, 2006, 09:58 AM
Here are some of the things I have tried...

Editing the system registry following instructions from this thread:
http://sniptools.com/tipstricks/getting-back-to-dma-mode-in-windows-xp

Trying to install the Intel Matrix Raid package from Intel's site.

Trying to install the raw driver from the Intel Matrix Install floppy from the same site.

Switching the driver back to Microsoft's standard IDE/ATA controller driver.

FabioC
Aug 17, 2006, 10:57 AM
Trying to install the Intel Matrix Raid package from Intel's site.


Let me know how that one pans out..

Laslo Panaflex
Aug 17, 2006, 01:05 PM
The bios emulation that is done via the CSM in EFI is different for all hardware. EFI. Just like every standard computer has a different BIOS, the Mac Pro and Macbook Pro will have different implementations of EFI and the CSM/BIOS emulation. So what I'm saying is just because the Macbook Pro works, doesn't mean the Mac Pro will. Way different hardware, way different EFI drivers and CSM/BIOS emulation even though it looks pretty much the same to the user.

100% agree, there is nothing we can do short writing our own firmware updates with the proper BIOS emulation layer for the Mac Pro. If the emulated BIOS doesn't think the chipset is capable of running HDs in a certain mode, the computer CAN'T do it, no matter what drivers you install in windows.

sirnh
Aug 17, 2006, 01:17 PM
100% agree, there is nothing we can do short writing our own firmware updates with the proper BIOS emulation layer for the Mac Pro. If the emulated BIOS doesn't think the chipset is capable of running HDs in a certain mode, the computer CAN'T do it, no matter what drivers you install in windows.

There is one other route, but probably more difficult... pressuring apple to provide AHCI drivers that force the chip into AHCI mode regardless of how the firmware set it up. They did a similar thing for Bluetooth on the iMac and Mac Books I believe.

sirnh
Aug 17, 2006, 01:19 PM
Let me know how that one pans out..

The Matrix Installation Package said that compatible hardware was not found.

Forcing the installation of the basic Matrix driver from the install floppy caused a blue screen during OS launch.

hwattys1
Aug 18, 2006, 11:01 AM
I took my Mac Pro back because it will not run PS any better than much older machines for now. But for those who want to keep them, has anybody tried the Intel SATA drivers here:

http://downloadfinder.intel.com/scripts-df-external/Filter_Results.aspx?strOSs=All&strTypes=All&ProductID=2306&lang=eng&OSFullName=All%20Operating%20Systems

I was also having the slow SATA problem on mine with Boot Camp and never got around to trying these drivers. I am not sure if these are the same as the Matrix Storage drivers. I found them by going to the 5000x download page on the Intel site and clicking "additional downloads" in the upper right corner.

tobyg
Aug 18, 2006, 11:05 AM
I took my Mac Pro back because it will not run PS any better than much older machines for now. But for those who want to keep them, has anybody tried the Intel SATA drivers here:

http://downloadfinder.intel.com/scripts-df-external/Filter_Results.aspx?strOSs=All&strTypes=All&ProductID=2306&lang=eng&OSFullName=All%20Operating%20Systems

I was also having the slow SATA problem on mine with Boot Camp and never got around to trying these drivers. I am not sure if these are the same as the Matrix Storage drivers. I found them by going to the 5000x download page on the Intel site and clicking "additional downloads" in the upper right corner.

Yes, I tried all of the downloads I could on that page.

sirnh
Aug 18, 2006, 08:39 PM
I took my Mac Pro back because it will not run PS any better than much older machines for now. But for those who want to keep them, has anybody tried the Intel SATA drivers here:

http://downloadfinder.intel.com/scripts-df-external/Filter_Results.aspx?strOSs=All&strTypes=All&ProductID=2306&lang=eng&OSFullName=All%20Operating%20Systems

I was also having the slow SATA problem on mine with Boot Camp and never got around to trying these drivers. I am not sure if these are the same as the Matrix Storage drivers. I found them by going to the 5000x download page on the Intel site and clicking "additional downloads" in the upper right corner.

Those are the Matrix Storage drivers which do not install because it can not find compatible hardware. I imagine it's looking for the controller in AHCI mode, not PATA mode. The Matrix drivers support different forms of RAID but I guess only through AHCI mode.

toonerh
Aug 23, 2006, 04:39 PM
Intel is generally very good about documenting all their chips/chipsets. Exactly what "Southbridge" chip manages the SATA interface? I assume it's operating mode can be programmed from its parent PCI bridge device. Microsoft's DDK offers fairly complete PCI DMA examples. Could someone put a DMA PATA driver together with moderate effort if they had access (like I do) to the XP DDK?

I not sure about the bootstrap driver "hand off" issues. It's fairly easy to update drivers, even "chipset" drivers which normally handle the same disk NTLDR loaded XP from using BIOS read calls.

pipomolo42
Jul 4, 2007, 06:54 AM
Hello,

Just for your info, I managed to install and boot windows with the controller in AHCI and RAID mode.

Actually, when the mac pro boots up (in EFI), the controller IS in AHCI mode, it's the CSM that puts it back to Legacy IDE mode.

And RAID mode is currently useless, as there is no Option ROM loaded by the CSM (and the windows driver depends on it).

Details and files can be found here: http://forum.onmac.net/showthread.php?t=2739

Chocomonsters
Oct 29, 2007, 03:25 AM
pipomolo42

Does your mac pro recognize IDE - CD storage driver when you enable AHCI? When I enable AHCI mode, my Mac Pro fails to locate and access CD drives

pistolwhip
Jan 10, 2008, 03:09 AM
well i have been trying to run parrells also, only difference is that im running on a hackintosh. what i'm really looking for here is a link to the drivers, i tried using intel's site but it seams like they removed all the sata driver links. I'm pretty sure i can just slipstream the patch via a flash drive during the install. unfortunately during my leopard install i had to choose sata or not, hence i have this problem :( (but really running sata or not isn't much of a choice) so if anyone has a link to the driver i would greatly appreciate it. Thanks :)

mgsarch
May 6, 2008, 09:29 AM
well i have been trying to run parrells also, only difference is that im running on a hackintosh. what i'm really looking for here is a link to the drivers, i tried using intel's site but it seams like they removed all the sata driver links. I'm pretty sure i can just slipstream the patch via a flash drive during the install. unfortunately during my leopard install i had to choose sata or not, hence i have this problem :( (but really running sata or not isn't much of a choice) so if anyone has a link to the driver i would greatly appreciate it. Thanks :)

bump for driver links or if anyone can post them for us. they are indeed MIA ...

65StangBoy
May 6, 2008, 10:23 AM
Here's the driver's that I used about 6 months ago.

http://idisk.mac.com/mvansande//Public/imsm_windows_x86-x64_v7.5.0.1017.zip

waremaster
May 6, 2008, 10:24 AM
bump for driver links or if anyone can post them for us. they are indeed MIA ...

This is not even needed anymore it was fixed in an EFI update probably 3 - 4 months after the original Mac Pro was released. This was a mirror (http://www.waremastersden.com/MacXP/) that I had up about this.

65StangBoy
May 6, 2008, 10:40 AM
This is not even needed anymore it was fixed in an EFI update probably 3 - 4 months after the original Mac Pro was released. This was a mirror (http://www.waremastersden.com/MacXP/) that I had up about this.

We're talking about two different things. The drivers I posted are for enabling AHCI mode in Windows which increases speed and also allows the extra sata ports to be useable in Windows.

waremaster
May 6, 2008, 11:01 AM
We're talking about two different things. The drivers I posted are for enabling AHCI mode in Windows which increases speed and also allows the extra sata ports to be useable in Windows.


Oh ok I misread that then. I thought it was the sata stuff.