Monday, July 21, 2008

Rebellious Computer

My computer was never the sanest of them all. Its most peculiar problem was that, after running for a while, you could not reset it. You had to either lower the CPU frequency or shut it down, wait for it to cool down, then start it up. And funnily enough, it did that only when having 512Mb of RAM. With an additional 512Mb chip it did not present this abnormality.

About two weeks ago, it started to show "Write delayed failed" errors during the night, when the only utility running was some file sharing app. I started researching and found that the error itself wasn't indicative of anything! A lot of people had the same problem, but each and one of them for different reasons. It was like an "I am on strike" sign from my computer.

Well, I thought updating drivers for my SATA hard drive may solve the problem. In the same swoop I also updated to the latest NVidia display drivers. Nothing changed. I then looked for an application that tells me what is the temperature of my CPU. I found SpeedFan, which is completely freeware and which I highly recommend, application that indicated a temperature of about 63 Celsius.

I thought it was too much so I've decided to clean up my CPU cooler. Between the cooler fan and the metal radiator there was a 2 mm thick dust cover. No wonder it was so hot. I cleaned everything up and my temperature dropped to about 51C. Glad I'd solved everything I started playing a game. Nothing fancy, not something 3D or anything complicated. The computer suddenly reset itself.

Now that was a complete revolt! Frustrated I started a movie and went to the other room to watch it on my TV. You see, I use this wireless AV connector to transfer the TVout signal from my display adapter to the TV in the other room. I could hear everything, but the screen was blank. What the...?

After hours of trial and error I've reached the conclusion that the newest drivers just couldn't do video overlay on the TV. Also, the fact that I chose 1280x1024 as my monitor resolution and it showed in 640x480 was also from the drivers. Funny enough, when I removed the "clone to TV" option, it worked ok. The solution was to download and install an older NVidia driver, version 91.47. When everything was said and done and I was half in watching the movie, the computer reset itself!

I am now at the stage where I found an overclocking setting on the NVidia drivers and when fiddling with it, I get my computer to reset. It is funny that it does that even if I set a lower clock setting, which was my original intention anyway. I believe that the new drivers (and the new not so new drivers) are making my NVidia FX 5200 card go too fast. It overheats and causes my computer to stop. I can only hope that buying a cooler fan for the video card (it has only a small metal radiator) will solve the problem.

Meanwhile, I have set the Hardware acceleration setting from the 3D Settings menu of Nvidia control panel to Single display performance mode instead of Multiple display performance mode as it was set, since I have only one monitor and a TV clone. I could play that game without a reset, although that is not really indicative of anything yet.

Please, computer, I am sorry! I will never do it again! Please forgive me! Don't act insanely anymore! :(

Update: in the end it was neither the video card nor the processor. It was the SATA RAID drivers!! Updating them was NOT a good idea. I went to the specific site of the motherboard I have and installed some drivers from 2003 and it now works without any glitch.

But how did I realize that was the source? Because in a rare stroke of luck I watched the computer display a blue screen and then resetting itself. In Windows XP, if you go to My Computer - Properties - Advanced - Startup and Recovery you find a System Failure groupbox with a bunch of options. Unchecking the "Automatically restart" box will make the computer display the BSOD and NOT reset, giving you the opportunity to read the error message. In my case it was a viamraid.sys giving the error 0x000000D1: VER_IRQL_NOT_LESS_OR_EQUAL.

Update 2: The problem with Write Delayed Failed was not from the SATA drivers, but from the USB external hard drive. After trying everything I knew and found on Google, I was really pissed off that this still happened, until I ran into an obscure forum where a guy said his problems all went away after changing the physical USB port!! So I moved the actual USB jack and the problem was solved!

Some other explanation I found were about the protocol of sending data packets. First it is sent a small chunk of data then, if everything went ok, the next data chunk is twice as big, so 256kb, 512, 1024, 2048 and so on. Windows has some problems with sending packets bigger then 1024Kb! There is a utility on the net that patches a Windows system file to address the issue. I might have run it, I don't even remember it's name :) I pretty much threw everything at my computer and ran it for a few weeks until I was satisfied that it worked. But do try the USB port change first...