Monday, January 28, 2008

Windows: IDE ATA and ATAPI disks use PIO mode after multiple time-out or CRC errors occur

This problem occurs since my new SATA HD installed. I noticed after several days my Windows XP became extremely slow and the HD access uses a lot CPU time. However everything seems to be fine under Linux. Odd!

Then I checked the settings under Device Manager and found that windows automatically re-set my new SATA driver to run in PIO mode. That was in sin.  My first guess was my new driver has problem and windows couldn't let it work under UDMA. But it's just hard to believe. After several hours research. It turns out that my new SATA has NCQ (Native Command Queuing) while my Intel mainboard chip 845PE dosen't support it. That incompatible issue causes a lot error interruption to windows, which then consider the bad of my new driver :(

OK, our M$ indeed has a solution to that, although it can't be called a solution at all. I will list the step in below:

1) Make sure we got SP2 installed.
2) use "regedit" open the key [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0002]
3) add a new DWORD Value by name ResetErrorCountersOnSuccess and set the value to be 1
4) repeat the above step if you have more IDE controllors. They must be named in a number sequence, like \003, \004 ....
5) If necessary, uninstall the IDE driver through device manager, which will manually reset the error count to be zero.

OK, enjoy, it's done.