Sei sulla pagina 1di 8

DMA reverts to PIO Wed, 2007-07-11 08:30 by admin Forum/category: * Hardware, drivers * Drives * German version: Das stotternde

e DVD-Laufwerk oder die gelhmte Festplatte * Results (user vote statistics) * Comments, discussion The stuttering DVD drive or the lame hard disk Quick solution If you're not interested in the details, but just want to fix this problem as qu ickly as possible: 1. Click here. 2. Despite any warnings click on the [Open] or [Execute] buttons as required to execute the file resetdma.vbs. (If you fear that this web site could be malev olent, you can use the manual method instead, which is described below. Or you c ould download, save, and inspect the program with an editor like the Windows Not epad. It is a script text file.) 3. If the program found any ATA channel to reset, reboot your computer and te st all drives. 4. If the problem is still not solved, set the offending channel to PIO manua lly, reboot your computer, set the channel back to DMA, and reboot again. 5. Please report your results here. Thanks! Earlier user reports from 2007-04-04 to 2007-07-21 indicated that the program re setdma.vbs has: * Displayed: "No resettable DMA channels ... found" 29 times * Displayed: "ATA channels have been reset" and enabled DMA after a reboot 4 8 times * Displayed: "ATA channels have been reset", but did not enable DMA 10 times Please note that this works only with the Windows drivers. If your device had it s 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 chan nels were found. Note also that many CD and DVD drives only use UDMA-2, because their data rate i s 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 ATA channels. Wind ows then redetects the DMA status after the next reboot. General description This article also applies to Windows 2000. (Peter Frank reported successful appl ication on Windows 2000 with Service Pack 4.) DMA is an abbreviation for Direct Memory Access, an access method for external d evices where the data transfer is not done by the central processor, but by a sm all special processor called DMA controller. It uses a procedure called cycle st ealing, where the central processor memory access cycles are delayed for very sh ort 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, Programm

ed Input-Output, where the central processor transfers data byte for byte or wor d for word. This requires many processor commands for each data word and therefo re causes a high and unwanted processor load. A typical symptom of PIO mode is slow data transfer, accompanied by high process or 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. However, there are a few reasons why a computer may use PIO instead of DMA, part icularly 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 d isabled 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 w as wrong too and prevented DMA mode. Correcting the BIOS setting immediately ena bled the DMA mode. A not so rare hardware problem is a bad or too long IDE data cable. You need 80way cables, not the older ones with only 40 wires. With poor cables the device m ay 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 componen ts does not perform this process correctly. 2007-02-20 Stefan Welte wrote that on an Elitegroupsystems K7S5A computer all ID E 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. Occasionally a chip set or controller driver is buggy, so check with the manufac turer for updates. 2007-03-01 Francois Eraud reports one such case in a Sony laptop, regarding an A LI 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 below. Other reasons can show up in the event log, so check this first and see if you c an 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 prob ably fall back to PIO mode again and again, until you solve the underlying probl em, which may be located inside the device, on the motherboard, or in the IDE da ta cable and its connectors. A dramatic example was reported on 2006-12-29 by David Hhningen: 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 commu nications 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 no t quite cut it, as the connection to the printed circuit board is probably broke n. 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 solv ed the problem (as observed in Task Manager). He went on anyway to install the a ccelerator. 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 Setting s 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 search ing, 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 i s run on an unsuitable processor. If in doubt, uninstall it and retest. (See thi s 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 (a nd 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 afte r 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 f or the user who wants to enable DMA mode is to uninstall and reinstall the devic e. 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 programmi ng defects of its own, it is not all that difficult to produce such errors. In m y case a scratched DVD and later also an unreadable (overburned) CD did the tric k, got the drive to choke and Windows to disable DMA for good. Later my hard dis k 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 borrowe d 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 a nd processor load was 100%, roughly half of which was system overhead.

This indicated that the drive had reverted from the usual UDMA (Ultra Direct Mem ory 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 oft en affected, but essentially the same also holds for the primary IDE port, to wh ich 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 wi th administrator rights. Check Your IDE Port Mode First check what mode your secondary IDE port is currently working in. Go to Dev ice Manager: right-click on My Computer, select Properties, click on the Hardwar e 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 E xtended Settings and check whether it is set to DMA when available. Directly und erneath 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, proba bly from the manufacturer of the IDE ATAPI controller. You can still perform a s imple test. In the Task Manager activate the option View, Show kernel times. The n 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 ker nel 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 proc essor (in kernel mode) of this load. Assuming the Microsoft IDE ATAPI driver, normally you don't have to use the regi stry editor, because the normal settings are also available through the properti es 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 tha t did not help either. So I searched for more and better information, then I went on and did the follow ing. Re-enable DMA using the Registry Editor This chapter describes the manual way to do what the quick solution at the top o f this page does automatically through a script program. If you're not intereste d 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-11C

E-BFC1-08002BE10318} It has subkeys like 0000, 0001, 0002, etc. Normally 0001 is the primary IDE chan nel, 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 dev ice in question is attached as master or slave, but it can't actually hurt to de lete 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 muc h lower than that of a hard disk. This is normal and no reason to worry. 2006-01-19 Horst Schlke 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 Wind ows disables DMA). If not, you may have to change the IDE channel setting from P IO back to the highest available DMA mode and reboot again. Many thanks to Tom Souc(ek, Peter Gtz, Alex Vaillant, and Cory Culbertson for pieci ng 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 no t 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 X P, it is created as a reaction to errors. This entry has absolute priority." How ever, there are doubts whether this is the absolute truth. It is still not entir ely 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 ha ve solved the problem in some cases. UserMasterDeviceTimingModeAllowed: This entry contains the user's setting, manually entered in the advanced dev ice properties. Has the same structure as MasterDeviceTimingMode. This entry app ears 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 commen

t at the end of this article and write it down. Alternative Method Uninstalling the Port 1. Uninstall the secondary IDE port To do that, open Device Manager as follows. Right-click on My Computer, select P roperties, 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 Seconda ry 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 min ute after the boot process finishes. 2. Check or reactivate DMA But this may not always be not enough, because unfortunately Windows does not al ways 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 teste d 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, clic k 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 settin g from PIO only to DMA when available. On Windows NT and 2000 you now have to reboot a second time, but Windows XP appl ies the change instantly. Then you can go to the same place in Device Manager ag ain and check whether the device is now actually using DMA mode. If so, all is w ell. Note that many CD and DVD drives only use UDMA-2, because their data rate is muc h 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 inten ded for this platform. 2005-03-30 Johannes B. wrote: The reason for this error is often that Daemon Too ls or Alcohol 120% are installed. In this case the solution described below woul d not work. But when you uninstall these programs and then restart Windows, it w ill then install the device drivers without any further problems. If these programs are not installed, then one possible way out is to rename C:\W INDOWS\system32\drivers\atapi.sys (or a similar path on your computer) to someth ing like atapi.old. If that's not possible, you can try it from the repair console (boot from the Wi ndows 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 Channels There's a bit more to it. The following article offers a way to reduce the incid ence 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 value s mentioned in this article into both the primary and the secondary IDE port reg istry 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 mod e, but at least when you pull out the DVD in time and then insert a good one, th e error counter will be reset and it will at least be a bit more difficult for W indows to hobble your IDE drive. A little warning: One user reported that by mistakenly putting the value into th e parent key, rather than into one of the 0000, 0001, 0002, etc., subkeys, he wa s accused by Microsoft's Genuine Advantage check of using a pirated copy of Wind ows and therefore denied online updates. Emails Useful info on re-enabling DMA. No more jerky video from primary slave! Thank yo u 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 suddenl y started to crap out on me, and your site was the only one I could find that re medied 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 solve d 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 (stutte ring, dropping frames, etc.). I uninstalled my secondary IDE controller, re-boot ed, & problem solved. THANKS! Your DMA reverts to PIO page relieved me from horrible sound stututustuttutterin g. [...] Hard disk went from PIO mode back to Ultra DMA mode 5 when I uninstalle d 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 qu ite 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 m

y butt tonight. I love the fact that I can go and search for an answer on the in ternet, 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 th at my laptop's CD/DVD drive started exhibiting the dreaded "choppy playback" fro m 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 q uick 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 visito rs 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 mo vies from my DVD drive became jerky. Cleaning the registry and scanning for viru ses were also unsuccessful. I was already resigned to the thought of returning t he laptop to the manufacturer, because I thought the drive was broken. Luckily t here 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, unt hinkable 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 I had been banging my head against the wall for a site. The .vbs program worked perfectly to fix my stortion problems. For this, I have donated $10 to problem (DMA reverts to PIO). few weeks before I found your infuriating iTunes & audio di your site.

Potrebbero piacerti anche