View Full Version : PIO to DMA: How?

03-09-2003, 07:35 AM
Something I’ve been trying to do for years is to switch from PIO to DMA.

I found instructions on the web here http://tinyurl.com/74up,
used “debug” to test all my IDE drives [which were DMA capable],
put the additional settings in my “Mshdc.inf” file and followed all the other instructions but it didn’t work.
My PC wouldn't boot after the changes were made.
I was forced to re-format and restore a couple of times before I found a better way to successfully boot.
I used “scanreg /restore” to go back to the original [working] registry, booted successfully, then re-edited out the additions to the “.inf” file.
That’s much simpler and quicker.

Does anyone know where I might be going wrong?

03-09-2003, 07:49 AM
It's going to depend somewhat on your motherboard and your harddrive. I recently got DMA mode working here on an Asus A7V with a Fujitsu harddrive. It required moving the IDE cable to the on-board Promise controller, enabling the Promise controller in BIOS, and finding a Windows 2000 driver for the Promise controller. For the Fujitsu drive, there is a "mode" utility at the manufacturer's website that allows changing the drive mode: UDMA 33/66/100.

That probably has nothing to do with your situation, but goes to show that there may be some hardware configurations to change, dependent on your particular hardware.

03-09-2003, 08:23 AM
Hi Sylvander

Not sure what OS you are using...(Guess I should know by now :) ). Anyway, I found some really weird ways to enable DMA with XP-(Maybe they would work with some other OS too?)

As Sleddog mentioned, it can depend on several things like Motherboard, HDD etc. But in the two links below you will see my weird solutions that actually worked in both cases.

THIS (http://www.pcguide.com/vb/showthread.php?s=&threadid=20412) one is a post from a while back. Not even sure what kind of motherboard the guy had but it worked.

THIS (http://www.microsoft.com/HWDEV/TECH/storage/IDE-DMA.asp) one is even stranger. I actually did it successfully by experimenting on my own, THEN I ran across the M$ link in my travels.
(See the end of the article about "toggling" between PIO and DMA in device manager)...It actually worked! (Don't ask me why!)
Good luck.

03-09-2003, 11:20 AM
I’m using Windows 98, which apparently has UDMA support included.

Tick boxes are available for DMA on all IDE devices [Primary/Secondary & Master/Slave].
If I tick these the system will not boot.

Testing with “debug” shows:

1. Primary Master = Samsung SV 1022d rev AA HDD
Supports DMA modes 1 & 2: UDMA 0, 1, 2.

2. Primary Slave = WDC “Caviar 21200” HDD
Supports DMA modes 1 & 2: does NOT support UDMA.

3. Secondary Master = HP 9301i CD-RW
Supports DMA modes 1 & 2: UDMA 0, 1, 2.

4. Secondary Slave = Samsung SC 148F CD-Rom
Supports DMA modes 1 & 2: UDMA 0, 1, 2.

I’m using 40 wire cables as originally supplied in 1997

My motherboard is an old “GMB–P56SPC” manufactured by “Gemlight” who are now out of business.
http://america.hongfaith.com/Support/support.htm now look after the interests but they charge just to enter the website, people have made some highly critical comments about the site and I’ve never paid to enter, even though I could use a flash upgrade for my BIOS. I’m using drive overlay software instead.

When I fitted the Samsung I used their software to test the system. It reported that the system was not able to handle the ATA 100 capability of the drive [the WDC is ATA 66] so I did not use their software to enable it’s ATA 100 capability and it is running at ATA 66, which is how it was supplied.

ACPI = “Advanced Configuration & Power Management” for battery power management in portable PC’s.
I don’t have a portable and my BIOS doesn’t include a setting for this in the Power Management Setup Menu.

03-09-2003, 03:50 PM
You will need to get the 80 wire cables to have any chance of enabling it, some of the newer chipsets may be able to "work" with the 40 wire cables (they lie to the system, but there can be data loss/corruptin problems without the 80 wire cables), but the older chipsets absolutely required 80 wire cables.