DMA reverts to PIO

Wed, 2007-07-11 08:30 by admin · Forum/category:

The stuttering DVD drive or the lame hard disk

Table of contents

for this article

Quick solution

This is the recommended solution. If you're not interested in the details, but just want to fix this problem as quickly as possible:

  1. Internet Explorer: click, Firefox and other browsers: right-click here.
  2. Internet Explorer: Despite any warnings click on the [Open] or [Execute] buttons as required to execute the file resetdma.vbs.

    Firefox and other browsers: Save the file resetdma.vbs to your hard disk. Double-click on the file in Windows Explorer and allow it to be executed.

    (If you fear that this web site could be malevolent, you could use the manual method instead, which is described below. You can also download, save, and inspect the program with an editor like the Windows Notepad. It is a script text file.)

  3. If the program found any ATA or SATA channel to reset, reboot your computer and test all drives.
  4. If the problem is still not solved, set the offending channel to PIO manually, reboot your computer, set the channel back to DMA, and reboot again.
  5. Please report your results here. Thanks!

Please note that this works only with the Windows drivers. If your device had its own manufacturer's drivers installed, this program cannot fix the problem and will not do anything to them. Instead it will report that no resettable DMA channels were found.

Note also that many CD and DVD drives only use UDMA-2, because their data rate is much lower than that of a hard disk. This is normal and no reason to worry.

If you are interested in the details, read on.

The program tries to reenable DMA in the registry exactly as described below, for all suitable (S)ATA channels. Windows then redetects the DMA status after the next reboot.

If you use the program again after a short while, it may again report that it has reset the channels. This is normal behavior and not a sign of any problem.

General description

This article also applies to Windows 2000. (Peter Frank reported successful application on Windows 2000 with Service Pack 4.)

DMA is an abbreviation for Direct Memory Access, an access method for external devices where the data transfer is not done by the central processor, but by a small special processor called DMA controller. It uses a procedure called cycle stealing, where the central processor memory access cycles are delayed for very short times to intersperse DMA controller memory access cycles. Some newer, faster DMA modes are called UDMA (Ultra DMA).

The alternative, slow and inefficient data transfer mode is called PIO, Programmed Input-Output, where the central processor transfers data byte for byte or word for word. This requires many processor commands for each data word and therefore causes a high and unwanted processor load.

A typical symptom of PIO mode is slow data transfer, accompanied by high processor load, leading, for example, to a choppy video display.

Possible causes for falling back to PIO mode

The most frequent use why a CD or DVD port falls back to PIO mode is a scratched or otherwise unreadable CD or DVD. For example, some newer DVDs, initially from Sony, carry a copy protection scheme that relies on defective sectors. If you try, without using special software, to copy such a DVD (which doesn't work), then this can already trigger the problem.

However, there are a few reasons why a computer may use PIO instead of DMA, particularly when it's the hard disk port that falls back, not a CD/DVD drive port. For example, David Duberman reported in 2005 that some Dell computers have DMA disabled in their BIOS by default for the second hard disk. So it is a good idea to check the BIOS settings first.

2007-05-13 – Jason Paquette confirmed that the BIOS setting in his Dell computer was wrong too and prevented DMA mode. Correcting the BIOS setting immediately enabled the DMA mode.

A not so rare hardware problem is a bad or too long IDE data cable. You need 80-way cables, not the older ones with only 40 wires. With poor cables the device may work, but Windows will probably step down to lower DMA speeds or even to PIO.

A further cause may be waking from standby mode, if one of the involved components does not perform this process correctly.

2007-02-20 – Stefan Welte wrote that on an Elitegroupsystems K7S5A computer all IDE hard disks ran in PIO mode, because automatic device recognition was disabled in the BIOS. (The computer booted from a SCSI disk.) Enabling device recognition solved the problem without any further measures.

2009-06-27 – markvm confirmed again that the BIOS in a Dell computer prevented DMA mode. Please see his comment below. In his case a hard disk was not recognized by the BIOS. After enabling and starting the automatic recognition, everything fell into place nicely, and DMA was automatically enabled by Windows.

2009-11-19 – flemur13013 mentioned again in this comment that setting the disk recognition to "Auto" in the BIOS settings solved his problem of a slow, CPU-gobbling secondary hard disk.

Occasionally a chip set or controller driver is buggy, so check with the manufacturer for updates.

2007-03-01 – Francois Eraud reports one such case in a Sony laptop, regarding an ALI M5229 chip set controller, solved with driver version 4.008.

2008-03-30 – Arran located the elusive drivers for this ALI M5229 controller chip. Please read his comment For those with the ALi M5229 IDE Controller in the comments on one of the next pages.

Other reasons can show up in the event log, so check this first and see if you can find repeated Atapi errors recorded. If so, you likely have a hardware defect. You can use the procedures described on this page, but your computer will probably fall back to PIO mode again and again, until you solve the underlying problem, which may be located inside the device, on the motherboard, or in the IDE data cable and its connectors.

A dramatic example was reported on 2006-12-29 by David Hähningen:

If you (half asleep in the dark and with considerable force) try to put the ATA plug on the hard disk the wrong way around, the gap called "KEYPIN" (pin 20 on the plug) pushes pin 21 of the hard disk socket and bends it aside. (This pin is responsible for DMA requests of the hard disk.)

As the disk can no longer reach the host with its requests, there is a communications problem, and Windows XP switches into PIO mode. A blessing in disguise: You can still save the data, though slower than usual. ;)

Few will succeed in repairing the disk. Just pulling the pin straight may not quite cut it, as the connection to the printed circuit board is probably broken.

2007-02-07 – Carl Kaufmann wrote that he looked for a solution for a computer with an Intel chip set and found the Intel(R) Application Accelerator. As instructed, he first installed the Intel Chip Set Installation Utility, which already solved the problem (as observed in Task Manager). He went on anyway to install the accelerator. After that there was no longer any DMA/PIO choice in the controller options, but everything now works right automatically.

2007-05-15 – John Schumacher confirms:

I thought I was having this problem, but that isn't the case. My BIOS listed Ultra DMA as being disabled on all my drives. I looked for the Advanced Settings tabs for the IDE channels in Device Manager, but the tabs were no longer there. I ran Nero InfoTool, which confusingly listed DMA on for primary and secondary masters, but off for primary and secondary slaves. After doing some more searching, I found out that the Intel Application Accelerator I recently installed is the culprit. Running Intel Application Accelerator confirmed that everything was OK.

The Intel Application Accelerator can also have a quite adverse effect when it is run on an unsuitable processor. If in doubt, uninstall it and retest. (See the comment, Intel Application Accelerator by dkneyle = Ausie Davo.)

The trap

Windows contains a trap in which quite a few computers seem to get caught sooner or later. The trap was described in a Web article whose link no longer works (and also in another one mentioned below):

The crucial paragraphs are:

PIO mode is enabled by default in the following situations:
...
For repeated DMA errors. Windows XP will turn off DMA mode for a device after encountering certain errors during data transfer operations. If more that six DMA transfer timeouts occur, Windows will turn off DMA and use only PIO mode on that device.

In this case, the user cannot turn on DMA for this device. The only option for the user who wants to enable DMA mode is to uninstall and reinstall the device.

Windows XP downgrades the Ultra DMA transfer mode after receiving more than six CRC errors. Whenever possible, the operating system will step down one UDMA mode at a time (from UDMA mode 4 to UDMA mode 3, and so on).
...

Of course, drive firmware being quite complex and certainly containing programming defects of its own, it is not all that difficult to produce such errors. In my case a scratched DVD and later also an unreadable (overburned) CD did the trick, got the drive to choke and Windows to disable DMA for good. Later my hard disk hiccupped just once and also went back to PIO for good.

I had been using my laptop for DVD viewing for years, until I inserted a borrowed and heavily scratched DVD. The player and apparently even the DVD drive choked on it, and when I finally got the DVD to play, I found that playing was jerky and processor load was 100%, roughly half of which was system overhead.

This indicated that the drive had reverted from the usual UDMA (Ultra Direct Memory Access) mode 2 to PIO (Programmed Input Output) mode. No amount of resetting or changing the relevant registry parameters from 1 (try DMA) to 2 (force DMA) helped. Stubbornly the drive kept using PIO mode, and Windows even changed these settings back to 0 (use PIO only).

The following text will refer to the secondary IDE port because that is more often affected, but essentially the same also holds for the primary IDE port, to which the main hard disk is connected in most computers.

Before you begin to work on the problem, log on as Administrator or as a user with administrator rights.

Check Your IDE Port Mode

First check what mode your secondary IDE port is currently working in. Go to Device Manager: right-click on My Computer, select Properties, click on the Hardware tag, click on the Device Manager button, click on the plus sign to the left of IDE ATA/ATAPI Controller, double-click on the secondary IDE channel, click on Extended Settings and check whether it is set to DMA when available. Directly underneath that setting is a grey field that shows the actual working mode of your IDE channel. You want the highest possible DMA or Ultra DMA mode there, and you definitely don't want PIO mode.

If the Extended Settings tab is not there, perhaps another driver is used, probably from the manufacturer of the IDE ATAPI controller. You can still perform a simple test. In the Task Manager activate the option View, Show kernel times. Then put a high load on the device, for example by copying a large file, and check whether the kernel times are minimal (red line). If you observe considerable kernel times, roughly around half of the total load, then the device is running in PIO mode, which is bad. The whole purpose of the DMA mode is to relieve the processor (in kernel mode) of this load.

Assuming the Microsoft IDE ATAPI driver, normally you don't have to use the registry editor, because the normal settings are also available through the properties dialog for the IDE port, but if you want to look at it anyway, the parameter for the secondary IDE port can be found through regedit.exe at

HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\Scsi\Scsi Port 1

It is named Scsi only for historic reasons. Scsi Port 0 is the primary IDE port, to which presumably your hard disk is connected.

After trying various remedies—in vain—I found the abovementioned article and went to work again. I uninstalled the DVD drive in Device Manager and rebooted, but that did not help either.

So I searched for more and better information, then I went on and did the following.

Re-enable DMA using the Registry Editor

This chapter describes the manual way to do what the quick solution at the top of this page does automatically through a script program. If you're not interested in the details, you can back up to the chapter "Quick solution" above and run the script.

My thanks go to my fellow MVP Alexander Grigoriev who taught me this method.

Run REGEDIT. Go to the following key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}

It has subkeys like 0000, 0001, 0002, etc. Normally 0001 is the primary IDE channel, 0002 the secondary, but other numbers can occur under certain circumstances. You have to go through these subkeys and check the DriverDesc value until you find the proper IDE channel.

Delete MasterIdDataChecksum or SlaveIdDataChecksum, depending on whether the device in question is attached as master or slave, but it can't actually hurt to delete both. Reboot. The drive DMA capabilities will be redetected.

Note that many CD and DVD drives only use UDMA-2, because their data rate is much lower than that of a hard disk. This is normal and no reason to worry.

2006-01-19 – Horst Schülke wrote that it is sufficient to empty the content of these values. But you can also delete the values entirely. Windows will automatically recreate them anyway, with new content.

Open Device Manager again and check whether the device is now actually using DMA mode. If so, congratulations, you've made it (at least until the next time Windows disables DMA). If not, you may have to change the IDE channel setting from PIO back to the highest available DMA mode and reboot again.

Many thanks to Tomáš Souček, Peter Götz, Alex Vaillant, and Cory Culbertson for piecing together the following information:

There are three keys that work together:

MasterDeviceTimingMode
MasterDeviceTimingModeAllowed
UserMasterDeviceTimingModeAllowed

Each bit in these values means a transfer mode that the device may or may not be capable of. Somewhere at MS some of these bits can be looked up.

MasterDeviceTimingMode:

This is the actual mode the device is running at.

MasterDeviceTimingModeAllowed:

This entry may be the problem child. Peter wrote: "Normally not present in XP, it is created as a reaction to errors. This entry has absolute priority." However, there are doubts whether this is the absolute truth. It is still not entirely clear where this entry comes from. Erasing it or setting it to a DWORD value of 0xFFFFFFFF, rebooting, re-enabling DMA mode, and rebooting again seems to have solved the problem in some cases.

UserMasterDeviceTimingModeAllowed:

This entry contains the user's setting, manually entered in the advanced device properties. Has the same structure as MasterDeviceTimingMode. This entry appears when the user sets a limited mode manually, such as PIO only.

Another key that seems to create the problem is MasterIdDataChecksum.

All these parameters also exist for the slave drive as SlaveDeviceTimingMode, etc.

More information is needed. If you know anything, please click on Add new comment at the end of this article and write it down.

Alternative Method—Uninstalling the Port

1. Uninstall the secondary IDE port

Attention: Do this only if you use the Microsoft IDE driver that comes with Windows or if you have the driver on hand, because otherwise you may find yourself unable to reinstall the proper driver.

To uninstall the port along with its driver, open Device Manager as follows. Right-click on My Computer, select Properties, click on the Hardware tag, click on the Device Manager button, click on the plus sign to the left of IDE ATA/ATAPI Controller, right-click on Secondary IDE Channel, click on Uninstall. Deactivating is not enough.

Reboot to make the changes active and permanent.

After booting Windows will automatically reinstall the IDE channel and the DVD (or CD) drive. This Plug-n-Play process can take a little while, so give it a minute after the boot process finishes.

2. Check or reactivate DMA

But this may not always be not enough, because unfortunately Windows does not always automatically activate DMA on a DVD or CD drive. You have to check and, if necessary, tell Windows to try to use DMA first. It is possible that Windows XP with Service Pack 2 re-enables DMA automatically on reboot, but I have not tested this yet.

To re-enable DMA, go to Device Manager again. Right-click on My Computer, select Properties, click on the Hardware tag, click on the Device Manager button, click on the plus sign to the left of IDE ATA/ATAPI Controller, double-click on the secondary IDE channel, click on Extended Settings and change the relevant setting from PIO only to DMA when available.

On Windows NT and 2000 you now have to reboot a second time, but Windows XP applies the change instantly. Then you can go to the same place in Device Manager again and check whether the device is now actually using DMA mode. If so, all is well.

Note that many CD and DVD drives only use UDMA-2, because their data rate is much lower than that of a hard disk. This is normal and no reason to worry.

3. Driver is not intended for this platform

If you keep getting the following error message, please read on:

There is a problem installing this hardware.

IDE channel

An error occurred during the installation of the device. Driver is not intended for this platform.

2005-03-30 – Johannes B. wrote: The reason for this error is often that Daemon Tools or Alcohol 120% are installed. In this case the solution described below would not work. But when you uninstall these programs and then restart Windows, it will then install the device drivers without any further problems.

If these programs are not installed, then one possible way out is to rename C:\WINDOWS\system32\drivers\atapi.sys (or a similar path on your computer) to something like atapi.old.

If that's not possible, you can try it from the repair console (boot from the Windows install CD and select the repair console).

If Windows always automatically recreates atapi.sys, you can try renaming it in safe mode or from a command line window or you can try to rename or remove it in the driver cache as well.

Desensitize Your Computer's IDE or SATA Channels

There's a bit more to it. The following article offers a way to reduce the incidence of this problem, although it still doesn't solve it altogether.

IDE ATA and ATAPI Disks Use PIO Mode After Multiple Time-Out or CRC Errors Occur
http://support.microsoft.com/kb/817472/

Do read this article because it contains a useful long-term workaround. But you have to go through the procedure described here to re-enable DMA first.

Assuming you've done that, insert the ResetErrorCountersOnSuccess registry values mentioned in this article into both the primary and the secondary IDE port registry keys as described.

Unfortunately this is only a half solution, because when you enter an unreadable DVD, you will get 6 errors in a row, and the IDE channel will revert to PIO mode, but at least when you pull out the DVD in time and then insert a good one, the error counter will be reset and it will at least be a bit more difficult for Windows to hobble your IDE drive.

A little warning: One user reported that by mistakenly putting the value into the parent key, rather than into one of the 0000, 0001, 0002, etc., subkeys, he was accused by Microsoft's Genuine Advantage check of using a pirated copy of Windows and therefore denied online updates.

Emails

Useful info on re-enabling DMA. No more jerky video from primary slave! Thank you

Thank you for a very helpful article. After applying your fix I saw a 10x speed improvement!

Don't mention it!!! After months of trouble-free operation, DVD playback suddenly started to crap out on me, and your site was the only one I could find that remedied this problem. I had been trying to fix it for several weeks when I found it, and boy was I happy. I'm the one who needs to thank *you*!!! Thank you!!! :)

Thank you for the great page on DMA/PIO issues. I had a problem caused by Daemon tools that you covered on your page. Without your work I might never have solved this problem. I intend on donating again after my next paycheck.

You ROCK! Your write-up on Windows setting DMA back to PIO saved me. I was about to take a 12 gauge to my computer. My DVD player wouldn't work for SHIT (stuttering, dropping frames, etc.). I uninstalled my secondary IDE controller, re-booted, & problem solved. THANKS!

Your DMA reverts to PIO page relieved me from horrible sound stututustuttuttering. [...] Hard disk went from PIO mode back to Ultra DMA mode 5 when I uninstalled primary IDE channel in device manager and XP reinstalled it. Thanks.

I love you...
no i don't—but I'm really greatfull that you published this site [...] as I was quite desperate and 24 hours mentally down because my harddisk only managed 2,2 MB/sec (now, thanks to you: 66,2)
best wishes!

Wonderful Dude,
I just want you to know that your posts on how to fix choppy DVD players saved my butt tonight. I love the fact that I can go and search for an answer on the internet, and a good soul such as yourself will have taken the time to post such a clear and excellent series of solutions. [...]
THANK YOU THANK YOU THANK YOU!

I just wanted to thank you for the information [on this page]. After noticing that my laptop's CD/DVD drive started exhibiting the dreaded "choppy playback" from nowhere (probably caused by trying to read a poorly burned homework assignment handed out by one of my professors a dozen times) I found your advice after a quick search on how to correct the problem. After a few minutes of reading, using the provided script, and rebooting, my drive successfully reverted back to DMA mode from PIO.
Just wanted to give my thanks and have myself counted among the satisfied visitors who were able to fix the issue without any problems. I especially appreciated the down-to-earth explanations for and solution to the playback choppiness. CDs/DVDs play like a dream again, and that really makes my day.

I also wanted to thank you. I almost despaired. For no discernible reason all movies from my DVD drive became jerky. Cleaning the registry and scanning for viruses were also unsuccessful. I was already resigned to the thought of returning the laptop to the manufacturer, because I thought the drive was broken. Luckily there is the Internet and dedicated people like you, who help with good tips.
Many thanks for your work; the article is truly excellent. You're my savior, unthinkable now that I had almost reinstalled the computer.
I hope that many, who have the same problem, find your article.

Thank you very much for your online help to my DMA problem (DMA reverts to PIO). I had been banging my head against the wall for a few weeks before I found your site. The .vbs program worked perfectly to fix my infuriating iTunes & audio distortion problems. For this, I have donated $10 to your site.

Comments, discussion

To add a comment, you have to have an account and be logged on. If you don't have an account yet, please click on: Create new account

AttachmentSize
Typical symptom: PIO mode (see comment 761). JPG image30.33 KB

Hard disks defaulting to PIO mode

Tue, 2010-06-01 10:04 by G4IJL

I may have a fix here, but trials are continuing.

When the computer is powered up there is some time for the parts to boot up and talk together. I note I have Western Digital hard drives so I went to their web site and looked around at my hard disk specifications. Then I read, "Drive ready time 7.0 sec (average)". Aha, is the BIOS and WIN-XP-PRO system coming up too fast on the motherboard before the disks have completely initialised? By the way I have a very short 80 way cable, 3 hard disks and one CD/DVD disk. IDE0 has two disks in UDMA5, IDE1 has one hard disk and one CD/DVD disk at UDMA2. The optical drive slows the hard disk down UDMA from 5 to 2 as expected on the second IDE port.

The web address below may be interesting for some people with Western Digital hard-drives with PIO problems. Please read the specifications to identify the, "Drive ready time".

http://www.wdc.com/en/library/eide/2879-001021.pdf

The http://support.microsoft.com/kb/817472/ is useful and works.

Interestingly in the BIOS set up here, there is a delay set up option. I can delay [hang] the BIOS boot for a selectable period of seconds. I selected the nearest time longer than the aforementioned 7.0 sec, that is 9 sec in my PC.

So far the problem has stopped with PIO. I get UDMA mode 5 at 100Mhz instead of PIO at16Mhz on the first [system] hard disks.

I have downloaded the RESETDMA.VBS file as well so I can try that

Rare case?

Tue, 2010-06-01 12:29 by admin

Thanks for your analysis.

Since resetdma.vbs fixes a different cause, but has a near-100% success rate for the default Microsoft IDE driver, your case must be rare. But it is nonetheless very useful to know about it.

Need same Solution for Vista

Fri, 2010-05-21 21:58 by ashtel

I have a Dell Inspiron 1525 laptop using Vista 32 bit home premium with intel core2 duo. The problem is my Cd drive Optiarc AD-7560A (my original drive failed) plays & records scatchy/choppy bad audio, have checked the ATA channel 0 (IDE ATA/ATAPI controllers in device manager) its says Atapi cdrom PIO mode4 which appears the issue . Also tried the quick solution meant for Xp which does not detect the ATA controller, cannot use the registry fix either as MasterIdDataChecksum or SlaveIdDataChecksum is not present. I have updated the Bios, firmware for the Cd drive and reinstalled Intel, Sigmatel, creative sound drivers deleted ATA controller and reinstalled it with no success. Vista solutions for DMA to PIO reset
yet to see solution on the net. Kindly help.

Thanks

Thu, 2010-04-22 12:24 by ms007

information at your fingertips ...
here's the way we like it :-))

Thank you very much

DMA reverts to PIO

Sun, 2010-03-14 19:05 by gfmanitto

After weeks of very wresting with very slow performance and high CPU utilization I finally found that DMA reverted to PIO on main HD. I found and installed a Microsoft patch (KB 920918) that did not fix the problem. At last I installed your fix that miracolously and easily cured the problem: from PIO to Ultra DMA.
Now the PC work fine, but I wonder why the system fall first to PIO and that it can revert to it again...What should be the cause? I chek HD with many program and it works fine...
Thanks for the help!

Nome SO Microsoft Windows XP Home Edition
Versione 5.1.2600 Service Pack 3 Build 2600
Produttore SO Microsoft Corporation
Nome sistema LAPTOP_GFM
Produttore sistema Hewlett-Packard
Modello sistema HP Compaq nx6110 (PY496ET#ABZ)
Tipo sistema PC basato su X86
Processore x86 Family 6 Model 13 Stepping 8 GenuineIntel ~1400 Mhz
Versione/data BIOS Hewlett-Packard 68DTD Ver. F.0C, 21/11/05
Versione SMBIOS 2.3
HD Toshiba MK 4025GAS ATAPI

I did not know if it would work

Tue, 2010-03-09 04:27 by ronin042

I cant belive it. I did hours (like 8) and found a bunch of stuff (that did nto fix my machine) and I found this WINHLP site and bingo 10 min later my machine was fixed, wow I am really impressed. BTW this fix worked on my primary drive also that for some reason and defaulted back to PIO and the whole machine was stuttering all the time.

Tons of thanks

Ronin042

SATA PROBLEM FIXED!

Wed, 2010-02-24 18:42 by medran

The script on this website is fantastic, it was taking me hours to burn a dvd instead of minutes (the buffer level was jumping all over the place), I run a sata hard drive and a sata dvd burner and tried uninstalling drives, resetting settings, everything, and yet my problem persisted. Why the hell does windows xp make your drives go so damn slow! Its ridiculous that windows still has a problem like this (ive got the latest service packs for xp64 and latest updates). Whats interesting is that for my old PATA computers when this problem occured I could fix it in the device manager, but now that im on SATA it seams device manager does nothing. Thank you thank you to winhlp for this script.

strange, worded differently

Wed, 2010-02-17 19:25 by lsattle

When you say:
It is a bit fishy if two devices do not work in their best DMA modes in spite of master-slave jumpers being in place. But I have seen such problems a number of times.

I would word this sentence this way:
It is a bit fishy if two devices do not work in their best DMA modes in spite of master-slave jumpers being set properly to match the connector type (master vs slave). (that is not using cable select, but using master on one drive and slave on the other depending on which connector they are connected to). The bottom line is the seagate hard drive had to be attached to the master connector to get good performance. These same results were pretty much confirmed with 2 different ide cables.

And yes, I am familiar that the end connector is the master and the other one is the slave. Also now after reading more I am very aware of the 80 wire ribbons vs the 40 wire ribbons and the color coding that goes with the newer 80 cable.

I am not going to mess around anymore with the special seagate jumper. I do wish I would have tried another older, very small ide drive I have laying around (4 gig). It would be interesting to see what would have happened if I would have used that in place of the cdrw drive and / or the 250gig seagate drive.

Out of context

Wed, 2010-02-17 22:10 by admin

Should this have been a reply to another comment?

[To be deleted]

bad reply

Fri, 2010-02-19 15:48 by lsattle

sorry,

this was a reply to your "strange" subject regarding the dell dma issue.

why I must reset ATA channels evry time I boot?

Fri, 2010-02-19 13:42 by passegua

First of all I thank you for the effectiveness of your script.
My Hard Disk now transfer data faster.

But I do not understand why if I run the script and reboot and then i run it again it says again and again:
"reset ATA channels and redetect DMA status"

That means that the DMA status is again not properly set?

Should I add the script to startup?

But if I start the script two times, without booting, the second time I get:
"No resettable ATA channels with Windows drivers found. Nothing changed."

In other words, how could I definitely (forever) set the ATA channels and the DMA status?

Thanks.

Nothing to worry

Fri, 2010-02-19 16:01 by admin

This is normal. The program always gives you the same message before it checks your computer.

Once the channels are reset, they cannot be reset again before they are used and have experienced at least one normal stray read error.

Nothing to worry if...

Wed, 2010-02-24 13:01 by passegua

OK, I understand that I cannot run twice in a row the program, but...

why I *must* run it again whenever I boot ?

When I shut down and the boot Windows XP, I must run the script and indeed it tells me that has resetted correctly DMA settings.

Isn't that strange? Why I have to run the script every time I turn on the PC?

That's my question. I'd like to solve permanently the PIO fall down.

You don't have to run it

Wed, 2010-02-24 17:37 by admin

The program can reset the channels, but there is no need to reset them every time.

You have a problem only if the channels actually fall back to PIO, but that is already explained in the main article.

There is no ultimate reset. The channels can always fall back to PIO again. But that is also explained in detail in the main article at the top.

Cannot reset the DMA

Sat, 2010-02-13 15:29 by Sarita

I tried to follow the suggestions on this website but when clicking the link for the dma reset I do not get the file. Just a page with text.
I have also tried the Registry Editor but could not find the master slave files you are talking about.

When I go to my device manager and to the IDE ATA/ATAPi controllers there are no channels under it in my system.So also no advanced settings to be accessed. Anyone any idea how I can reach this?

I use Vista.

EDIT: Sorry I just saw in another comment Firefox was causing the problem with the quickfix link. Just tried it in IE and the program works. However it said it did not find any resettable DMA.

Does this mean that the DMA setting is not the reason my sound is stuttering?

Thanks in advance.

Read before you write

Sat, 2010-02-13 16:26 by admin

The article explains it clearly in the very first paragraph after the 5-point instructions for use of the quick fix program.

In short, if the program does not find any ports to reset, then you are not using Microsoft's drivers and this article can, unfortunately, not help you.

What fixed a dma / pio issue on a dell optiplex GX280

Wed, 2010-02-10 14:27 by lsattle

I tried many of the fixes mentioned here and other places on the web to get a second hard drive to use dma instead of pio on a dell optiplex GX280. The fix that worked was plugging the master ide connector to the second hard drive and the slave connector to the cdrw drive. (the cdrw drive was using the master connector till I added the second drive).

Here are the details. This is a tower dell optiplex gx280 with a sata main hard drive with an unused sata 2 port.
From the factory came a cdrw ide drive hooked to the master ide connector. A week or so ago I added a second hard drive (250 gig seagate ide) to the system using the slave connector that was laying there unused.

My cpu usage doing a backup was 90%+ when writing to the second hard drive. Reading the drive caused high cpu usage also. I came upon this great site / posting about the dma issue and I tried many of the things mentioned here. I did find the dell bios not set right for this device. The wording on my bios screen is a bit different than posted here and around the web. The term on my screen is ON or OFF (not ENABLE or OFF). It was defaulting to OFF giving one the impression the ide channel / slave part would not work at all if a hard drive was attached (which is not the case). When I tried changing this to ON the cpu would pause during subsequent boots making me hit f1 to move on with the boot (or f2 to setup). What I now theorize is the dell machine was saying "I am not going to let this channel stay ON please acknowledge by depressing f1". I think the ON buzzword is meaning on for dma. Because in reality the drive worked but in pio mode only no matter what I tried. All the info posted about the device manager is pretty accurate other than saying I could not get this drive to work in dma mode by making changes in the device manager. It always stayed pio in the "current transfer mode" field.
I tried the vb program a couple of times to no avail. I never did get around to trying any regedit changes.

I suspected I either had a 40 wire ide cable or a bad ide cable. so I tried switching out the ide cable with the new one I had in my supplies that came with the seagate drive long ago. This did not work. I tried putting the seagate drive on the cable all by itself. Voila, I got dma. I learned by repeated attempts that the seagate drive would not work (at all if I remember right) if it was attached to the slave connector with nothing attached to the master connector.

So the final solution that worked was to put the seagate drive on the master connector and the cdrw drive on the slave connector. I believe the bios setting is set to ON (for the second channel as mentioned earlier) and the machine does not stop requiring an f1 to continue to boot. Both ide drives are running in dma mode, albeit the seagate hard drive in like dma5 and the cdrw in like dma2.

I have a solution that works!!!. If I did this over again from the beginning, knowing what I know I believe a bios change and the proper slave / master use would make this work right away without any need for a vb program nor any regedit changes.

Master-slave jumpers

Wed, 2010-02-10 19:44 by admin

Were the master-slave jumpers set properly on all devices, i.e. hard disks and CDRW?

master / slave jumpers

Wed, 2010-02-10 20:26 by lsattle

The drives were both set to cable select throughout the entire issue.

I may add this bit of info, this is windows xp, sp3

Cable select often does not work

Wed, 2010-02-10 22:03 by admin

My recommendation would be to test with master-slave jumpers in place. I have seen too often that cable select does not work.

cable select testing

Fri, 2010-02-12 16:27 by lsattle

I will try master / slave jumpers instead of cable select and post the results.
Followup I just tried changing the drives jumpers as follows:
They both were cable select through all my attempts and eventual success at getting dma working on the hard drive and the cdrw.
Just now I jumpered the cdrw drive to master and attached the master connector. I jumpered the hard drive to slave and attached the slave connector.
This made both drives come up in pio mode. Also the dell beeped twice during the boot process and stopped requiring an f1 selected to move on with the boot.
After putting all back the way it was, that is both drives cable select with the harddrive plugged into the master connector and the cdrw drive plugged into the slave connector the reboot was silent and dma 5 and dma 2 were the modes shown using device manager.

One additional bit of info. This is a seagate barracuda st3250623a 250g drive. The jumpers are detailed at: http://www.seagate.com/support/disc/manuals/ata/cuda_72008_pm.pdf page 31.
There is a jumper setting that states (unclearly to me)
"Drive as master with a non-ATA-compatible slave.
Use this jumper setting only if the drive does not work as a master with no jumpers installed." In another web document this jumper sounded like it could help if 2 devices are on an ide cable and one is not behaving properly.
This manual even details in the next couple of pages 40 and 80 wire cables and somewhat how they work and what dma settings they are capable of.

I did not mess with this setting. I am just happy to have all running well.

later post add on:
additional seagate info about this jumper at: http://www.seagate.com/ww/v/index.jsp?locale=en-US&name=How_To_Install_a...

Master with non-ATA compatible drive (Seagate® drives only) - Use this if the drive is Master to a CD-ROM, tape drive or other non-ATA drive.
Note: It is preferred to have the CD-ROM and other non-hard drive products on the secondary ATA channel.

Still not clear to me when to use this jumper, I am using the seagate drive as a master and the cdrom is the slave but I don't have this jumper set, I just have the master jumper set???

Strange

Sat, 2010-02-13 14:44 by admin

It is a bit fishy if two devices do not work in their best DMA modes in spite of master-slave jumpers being in place. But I have seen such problems a number of times.

I hope you are aware that the master device has to be connected to the end of the IDE data cable, while any slave device has to be on the middle connector, regardless of whether one uses cable select or proper master-slave jumpers. If there is only one device on the channel, it also has to be connected to the end of the cable.

As to the jumper, "Drive as master with a non-ATA-compatible slave", I can only hope that you don't need this setting, but you could try it.

DMA to PIO

Thu, 2010-02-04 13:46 by capal4321

Thanks for the solution. I could reset the transfer mode to DMA but when I reboot, it reverts to PIO. The DVD drive is a TSSTcorp CDDVDW SH S222A.
I had 2 dvd writers and both were having the same problem and I have tried changing the ide cable (did not make a difference).

It is always the Secondary IDE Channel.
Motherboard is EVGA GeForce 9300 Series
CPU Intel Core 2 2800 MHz
Bios Phoenix 6.00 PG

I am lost as to what to do. Any ideas.
Thanks,
Michael

Which drivers?

Thu, 2010-02-04 17:41 by admin

Are the drivers those that came with Windows or does this motherboard require third-party IDE drivers?

The most likely explanation, if you already swapped the cable and the drive, is that the controller or something related on the motherboard is defective.

An emergency solution would be to connect the DVD drive to the primary IDE channel, along with the hard disk. That is not ideal, but should work reasonably well.

Of course there is also a small risk that both cables or both drives were defective.

revert to pio

Mon, 2010-02-08 12:53 by capal4321

Thanks for reply.
The drivers are from windows. I am not sure if the motherboard require third party ide drivers. I have tried, swapping cables, drives and even reducing my hard disks from 2 to one hard disk.
I actually have the following:

2 primary ide channels
2 secondary ide channels
2 standard dual channel PCI ide controller

The problem occurs on the 2nd secondary ide channels.
The primary ide channels, I believe are related to the sata connections.

I connected a blu-ray drive (external through usb) and that seems to work fine without cranking up the cpu / interrupts.

I believe the drives and the cable are okay., maybe it is the ide port on the motherboard. There is already another fault on the mobo, ie, the cpu fan does not work when connected to the fan port for the cpu.

Thanks again for your help.

Dvd running slow using up all CPU ,SIMILAR TO recent fix

Thu, 2010-02-04 18:07 by BassPlayer2112

I will try doing what you told someone else to do , the real problem i have is even mor than that , whenever i use U-Torrent or watch a you tube flick , sometimes my PC will just restart itself without warning , it just shuts down, i used a duster & cleaned out my insides & checked all connections & i still have these problems , ran malaware ,registry cleaners ,,virus scan , u name it , no luck , i can say though this started after updating WiNdows TO PACK ((I THINK sp3)) ,,

I guess my DVD drive writer issue which makes using the PC impossible & also takes 1.25 hrs to burn 2gb to dvd , my dvd drive was on average burning at 18-22x .

Any suggestions would be highly appreciated & if u like music ,, i have about 5000 shows of all bands from Barry Manilow to Rush ,Mettalica,Zep ,u name it ,, i'd be more than happy to invite u into my server to download any show u wish , i just want the PC working normal again,,

thank u for your time
John in North NJ

Dell BIOS -- remote access

Wed, 2010-02-03 13:54 by JoeGrant

This article has been tremendously helpful. It deals with exactly the problem I have: a second hard-drive installed in a Dell Optiplex GX260 which is running in PIO mode. I am very grateful to winhlp.com, and to Google who got me here.

But of course, I am greedy: I want more.

I support the computer in question via remote control ( I use pcAnywhere 11.5, the computer runs Windows XP Pro ). So I can only work on the computer while Windows is running.

Does anyone know of any clever piece of Windows software that can display the content of the (Phoenix, 04/28/03) BIOS, take note of changes to be made, and somehow record those changes so that they will be applied when the computer is shut down and restarted? I don't really believe that it is possible. But there are lots of people doing impossible things out there.

Having the problem

Wed, 2010-02-03 02:39 by igmuska

IDE #1 ERROR upon cold boot

I've been suffering this problem for months now. Then recently I found this site and applied the vbs script last night. And it worked, I could watch a movie without the stutter, and even burned a DVD. Then I restarted my laptop again and back to the sad state, PIO Mode Only in the secondary IDE controller.
I tried the script again, no success, I tried the recommendations in the article, no success...Toshiba tech support said that I should reinstall WinXP from their OEM disk. But I told him without the CD/DVD, that would be impossible. He replied Press C upon cold boot, that forces the laptop to use CD/DVD???
Info:
Toshiba Tecra M3
Matshita DVD-RAM UJ-830S

Awesome!

Sun, 2010-01-31 17:54 by smogo

Another satisfied "customer"...!

The Quick Solution totally rules. Not only did it fix the audio stutter, but it sorted out all the other WinXP slowness problems I'd suddenly become plagued with. I'm not sure what caused the fallback to PIO in the first place... it was very possibly when Windows Installer failed on repeated occasions, when I was trying to install MS Office Live Meeting.

THANK YOU!!!!!

hippochips's picture

Success!

Sun, 2010-01-24 06:39 by hippochips

My Windows XP loading bar screen went from 3:50 minutes to 16 seconds...no exaggeration. Prior to this, I had run dozens of hard drive scans, malware programs, virus scans, etc. I reformatted all three of my hard drives (backing up first of course). I'd tried not using AHCI and didn't use my RAID configuration this time (and did not install the Intel Application Accelerator). Nevertheless, the problem came back 1 month later. People gave me advice: you have a virus, you don't have enough RAM, you need to clean up your startup folder, your hard drive is corrupted, check your mouse, maybe its your audio card...but I just knew all of these were wrong. I was literally about to buy a new computer before I came upon this post. I figured I'd give it a try. I don't know who you are or how you figured this out, but I'm another grateful person you helped. Thanks.

Glad to hear

Sun, 2010-01-24 17:21 by admin

I'm admin or Hans, but some other people contributed important findings to this solution. I wrote the quick fix program.

I created and operate this web site. It is pretty much a one-man show.

Fixed, maybe for good. My story.

Thu, 2010-01-21 01:36 by Nuwanda

I scratched a disc, inserted it, and it failed to initialise.

As expected , my secondary IDE channel had been set back to PIO. I uninstalled that channel, rebooted, and reset the channel to DMA. Back to normal.

I applied the fix as outlined in step 8 of the article. Since I've got XP-SP3 I didn't need to download and install the hotfix, I just made the registry edit.

I tried the same scratched disc again. No reset to PIO.

So, I ejected and reinserted the disc a total of 7 times, checking the mode after each time. It remained on DMA.

So, this must be a permanent fix?? I was under the impression that 6 *consecutive* read failures would cause it to drop back to PIO even after the fix. But no, all seems fine.

Consecutive

Thu, 2010-01-21 21:36 by admin

My assumption is that with the sensitivity fix, as soon as the drive manages to read just one sector properly, the counter is reset.

I don't know exactly how that works, but perhaps the driver does not try to read the same defective sector six times in succession, but goes to the next sector instead.

Another point is that CDs and DVDs use forward error correction (deliberate redundancy in the data), so even a scratched sector has a chance to be read correctly.

Fixed slow HDD problems caused by XP SP3 upgrade

Wed, 2010-01-20 03:58 by oldcorollas

After updating to XP SP3, internal drive and internal to external drive file copying became stupidly slow.. roughly 10mins/gig. Did all the tweaks i could find, and made things better, but file save and transfer still stupidly slow.
other symptoms were slow image updating after resize in Paint shop pro, and odd mouse problem where cursor would have a tiny glitch every second when moving. nothing untoward was found using system explorer etc. Boot time was also much slower than previously and seemed to hang badly. optimized with bootvis but still stupidly slow.
also, sound was glitchy.. during the initial fanfare when booting, and also when trying to use say, vid or skype while doing anything else....

Device manager indicated that NONE of the drives had been demoted to PIO, but the symptoms were all there. RAM was 1.5gigfree, and minimal paging file..
set to PIO, reboot, set back, still crap.
uninstalled SP3 and STILL crap (>-<)

ran resetdma.vbs and suddenly boot time was back to normal, file transfer was back to the usual 1gig/min, both internall and externally.. sound perfect, cursor no longer glitching

THANK YOU SO MUCH for fixing microsofts shittiness!!!!!!!!!!!!
(^-^)

Great

Wed, 2010-01-20 07:37 by admin

Interesting that Device Manager did not show PIO mode. Normally it shows that. One more irritation to be aware of.

PIO was not reported..

Wed, 2010-01-20 08:36 by oldcorollas

yup, I had checked early on and it was definitely not in PIO mode, so had dismissed it until finding this page!
after runnign the script, the config in device manager has not changed, but the drive is 100% happier!

I think perhaps this could be one of the big reasons many people report SP3 slowing their "system" and increased boot times.....
thanks again :)

Problem was always there

Wed, 2010-01-20 18:44 by admin

Generally the PIO problem has always been there, at least in Windows XP, not only since Service Pack 3.

I don't know whether SP3 introduced the misreporting of the DMA/PIO state.

It solved my issues with DVD DL Burning

Wed, 2010-01-13 21:26 by SliceA1A

My DVD DL Burner was running on PIO despite my best efforts to turn it to DMA but after running your script it solved the problem! Before DL burning was choppy and often failed, now it's smooth and successful! Thank you!

This Fixed an Audio Streaming Issue I Was Having!!! :-)

Mon, 2010-01-11 23:35 by Snowsharkeus

I was having some serious stuttering, slowing, skipping, and popping issues when streaming music through Winamp, Rhapsody, and even Windows Media Player. I spent quite a bit of time over several weeks periodically Google-searching for a solution. Finally found this link (http://hothardware.com/cs/forums/t/31197.aspx) on hothardware.com. It included a link to this forum, and I tried the Quick Solution at the top. It worked!! I don't know why it worked, but it worked, and I ame extremely happy!! I've been streaming music for the past 48 hours without any issues whatsoever! Thank you very much!!!! :-)

Problem Solved

Mon, 2010-08-16 02:36 by sprint22

my player is junk until I found this post - great result my media player is working now.

same problem

Mon, 2010-02-22 10:05 by akulavinodkumar

I am having ACER ASPIRE 6930 and still having same problem with sound, when evr i paly any music its start skipping to low... Zero
I am not having any luck in resolving the solutions

can any one provide me the best solutions?

Good to hear

Tue, 2010-01-12 20:00 by admin

Thanks for reporting! Yes, the little "quick solution" helper can be a godsend.

Simply spoken, it erases accumulated bad information from Microsoft's drivers' registry. It doesn't help with other drivers, but it doesn't do any harm.

Revert back to PIO

Thu, 2010-01-07 15:07 by passegua

I used the VBS script and the hard disk started working faster.
But when I reboot I find it again slow using again PIO.
How could I I fix permanently the DMA mode ?
Thanks.
I use Windows XP SP3 on a HP pavilion DV6000

Read before you write

Thu, 2010-01-07 17:56 by admin

CRDOM in PIO mode

Mon, 2009-12-28 15:36 by jwlabno

Well, in my case it was PIO

Problem: DVDs started burning slower (16 to 20 minutes instead of around 10) and over time increasing to 1.5hr!

Other symptoms: Jerky mouse, laptop heating up, and fan running at top speed, nothing could run against Nero, buffer constantly jumping between 20% and a 100%

Solution: Checked both primary and secondary IDE as described above. Found secondary in PIO. Unnecessarily, but confirmed through BIOS (F2 on bootup) that DVD is indeed on secondary IDE. Using standard microsoft driver - so removed secondary IDE and restarted the system. Driver loaded itself and burning back at 8-10min, whoa.

Cause: Several bad dvd's aborted half way through reading. I had some bad scratched dvd's i wanted to re-burn and a few times I ran out of patience when the drive got stuck and turned off the laptop. I also had a couple of abortedf burns - in similar fashion (I am not a very patient man). The place I buy my dvds advised that they had a batch of bad media, the dvd's were not working at all or getting stuck after burning process started. A few of those reboots over the top slowed the drive and having no idea (until this post), with buffer constantly running down to 20% and back up to 100% I thought it was something in my system. I cleaned the lens, cleaned the hd, defragged, cleaned memory and startup programs. Nothing worked - until i read this post about PIO. So thank you for excellent help.

Thanks for reporting

Mon, 2009-12-28 22:50 by admin

This is probably the most typical case of the problem.

I'm beginning to wonder why so few people seem to use the quick solution above. That takes only four mouse clicks, i.e. a few seconds, to fix the computer, plus a reboot.

Slow SATA HD (seen as IDE) and drive change - my experience

Sun, 2009-12-13 13:14 by DaveDave

I have a pair of SATA hard drives that Windows displays as IDEs (no RAID or AHCI drivers).

One drive was bad sectoring and that one was showing the PIO mode. And using say Atto's Bench32 confirmed slow access (6 - 7 MBytes/Sec vs up to 100MBytes at the drive edge).

I manually added the ResetErrorCountersOnSuccess registry value (as per MS Article ID: 817472), more as a future belt-and-braces fix, not sure if it contributed to the problem going away when ...

I cloned the old drive too a new one (different make, Windows detected new hardware after startup) and after Windows (XP) had finished the install I found that the DMA mode was now selected; I didn't change any other registry settings or manually uninstall the drivers etc.

It would be useful to have a background utility that ocasionally checks the drive speed!

SATA seen as IDE

Sun, 2009-12-13 17:20 by admin

Thanks for reporting!

I wasn't aware of this. My main computer has a SATA controller in its NVIDIA nForce4 chip set, and so I have a separate SATA controller user interface in Device Manager, where I can, among other things, enable and disable Native Command Queueing (NCQ).

The motherboard also has two genuine IDE ports, which show up as usual in Device Manager.

Does anybody else know more about SATA disks showing up as IDE disks in Device Manager? SATA is an enhanced version of ATA, so there is some similarity.

Step # 6 (Re-enable DMA using the Registry Editor) worked for me

Sat, 2009-12-05 12:41 by Rondon

Thanks! After reinstalling the Intel chipset drivers on my lappie I finally was able to go UDMA using step #6.

Windows XP DMA reverts to PIO

Sun, 2009-11-29 07:49 by Harree

I tried heaps of the above suggestions and the only thing that works for Windows XP is to uninstall the drive , then reboot.
Windows will reinstall the drive on start up. It will advise you of the installation and ask you to reboot again to complete the installation. When restarted you will find your drive in DMA mode. Till next time.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.