Troubleshooting: Enabling/Checking DMA in Windows Vista, XP, 2000, Me, 9x

[b]Index

[ul]
[li]Information[/li][li]Resetting DMA using VBS script[/li][li]Enabling/Checking Windows 9x/ME[/li][li]Enabling/Checking Windows XP/2000[/li][li]Enabling/Checking Windows Vista[/b][/li][/ul]

Information

The Microsoft Windows XP operating system enables DMA by default on most of the ATA or ATAPI (IDE) devices. To ensure system stability, however, PIO mode will be selected for DMA-capable devices under some circumstances. This article explains the reasons for an ATA or ATAPI device to be in PIO mode on systems running Windows XP.

PIO mode is enabled by default in the following situations:
• For ATAPI devices, except DVD and CD-R/RWW drives. Windows XP enables PIO by default on ATAPI tape drives, CD-ROM drives, and ATAPI removable drives such as magneto-optical (MO) drives. The user can, however, enable DMA on an ATAPI device through Device Manager, as described at the end of this article.

Windows XP enables DMA by default on ATAPI DVD and CD-RW/CD-R drives.

• For ATA or ATAPI devices that do not work properly in DMA mode. Compatibility testing at Microsoft has shown that enabling DMA on certain drives could cause data corruption or reduced system stability. There is no way for the user to enable DMA on these devices.

• For certain IDE chipsets that cause data corruption. For ATA or ATAPI devices using chipsets that are known to cause problems running in the DMA mode, Windows will enable PIO by default.

System manufacturers can override this default behavior by implementing the _GTM and _STM methods in the ACPI BIOS. Also, the user can enable DMA using the Device Manager.

• 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).

If the mini-IDE driver for the device does not support stepping down transfer modes, or if the device is running UDMA mode 0, Windows XP will step down to PIO mode after encountering six or more CRC errors. In this case, a system reboot should restore the original DMA mode settings.

All CRC and timeout errors are logged in the system event log. These types of errors could be caused by improper mounting or improper cabling (for example, 40-pin instead of 80-pin cable). Or such errors could indicate imminent hardware failure, for example, in a hard drive or chipset.

Source: Microsoft Website

Resetting DMA using VBS Script

You can use the following VBS script to reset your DMA mode in windows without having to go through the guides below.

Be warned that this COULD damage your computer and therefore you use it at your own risk.

http://rapidshare.com/files/14861593/resetdma.vbs.html

Instructions:

[ol]
[li][left]Despite any warnings click on the [Open] or [Execute] buttons as required to execute the file resetdma.vbs.[/left][/li][li][left]If the program found any ATA channel to reset, reboot your computer and test all drives.[/left][/li][li][left]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.[/left][/li][/ol]

Enabling/ Checking DMA In Windows 9x/ME

The first thing to do is to right click on “My Computer”. Once you have right clicked on it then choose “Properties”.

The next thing to do is to click the “Device Manger” tab at the top of the screen.

Under device manager you need to find your hard drives and CD-Rom drives. These are normally found under “Disk Drives” and “CDROM”. Under this you will have a number of items. You can ignore the floppy disk drive.

To bring up the next window you will need to double click on one of the items. We will take one of the hard drives first.

The next thing to do is to click the “Settings” tab at the top of the screen.

This is the screen that will come up. In the “Options” box you should be seeing a tick in the box next to “DMA”. If not then you need to click in the box to put a tick there.

To finished simply click the “OK” button to exit the windows.

A screen may come up saying that you will need to restart your computer. You will have to for the settings to take effect. Before you do though you will now need to check your other drives.

Now you will have to reset your computer for the changes to take effect.

If when you have restarted the computer one of the channels is back on PIO-Only mode the last thing you can try is to uninstall the channel from the Device Manager window. When you then restart the computer it will force windows to reinstall the drivers and hopefully use the DMA if available mode.

(Added note: DO NOT delete the IDE channel if your hard drive containing Windows is also on that channel! An alternative to deleting the channel can be found in this thread. -C64K)

Enabling/ Checking DMA In Windows XP/ 2000

The first thing to do is to right click on “My Computer”. You can use the icon in the Start Menu or the one on the Desktop. Once you have right clicked on it then choose “Properties”.

The next thing to do is to click the “Hardware” tab at the top of the screen. From here you need to hit the “Device Manager” button.

Under device manager you need to find your hard drives. These are normally found under “IDE ATA/ATAPI Controllers”. Under this you will have a number of items. The ones that we are interested in are the ones with channel in their name. You will need to do the same to all of the ones with channel in their name. To bring up the next window you will need to double click on the item. We will take Primary IDE Channel first.

This is the screen that will come up. Device 0 is the primary device on the channel and Device 1 is the slave device. In the “Transfer Mode” box you should be seeing “DMA If Available”. If not and you are seeing “PIO Only” then you need to click on the box and change this to “DMA If Available”.

To finished simply click the “OK” button to exit the windows. You will now need to check your “Secondary IDE Channel”.

Now you will have to reset your computer for the changes to take effect.

If when you have restarted the computer one of the channels is back on PIO-Only mode the last thing you can try is to uninstall the channel from the Device Manager window. When you then restart the computer it will force windows to reinstall the drivers and hopefully use the DMA if available mode.

(Added note: DO NOT delete the IDE channel if your hard drive containing Windows is also on that channel! An alternative to deleting the channel can be found in this thread. -C64K)

Enabling/ Checking DMA In Windows Vista

The first thing to do is to right click on “Computer”. You can use the icon in the Start Menu or the one on the Desktop if you have one. Once you have right clicked on it then choose “Properties”.

The next thing to do is to click the “Device Manager” link which can be found at the top left of the screen.

Under device manager you need to find your hard drives. These are normally found under “IDE ATA/ATAPI Controllers”. Under this you will have a number of items. The ones that we are interested in are the ones with channel in their name.

You will need to do the same to all of the ones with channel in their name. To bring up the next window you will need to double click on the item. We will take the first ATA Channel 0 to start with.

Note: Depending upon your motherboard chipset and drivers you may have different names for your channels along the lines Primary IDE Channel or something similar.

This is the screen that will come up. The device with Target ID 0 is the primary device on the channel and Target ID 1 is the slave device. In the “Current Mode” box you should be seeing somthing like “DMA If Available” or a specifc DMA mode such as “Ultra DMA Mode 2”.

If not and you are seeing “PIO Only” then you need to click on the line with the PIO reference and then tick the box underneath that says “Enable DMA”.

To finished simply click the “OK” button to exit the windows. You will now need to check your other IDE channels for the same thing.

Now you will have to reset your computer for the changes to take effect.

If when you have restarted the computer one of the channels is back on PIO-Only mode the last thing you can try is to uninstall the channel from the Device Manager window. When you then restart the computer it will force windows to reinstall the drivers and hopefully use the DMA if available mode.

(Added note: DO NOT delete the IDE channel if your hard drive containing Windows is also on that channel! An alternative to deleting the channel can be found in this thread. -C64K)