Windows XP 64-bit + Shuttle SN26P + Nvidia Nforce4 … it all SUCKS.
I got in a bit over my head with my latest hardware purchase.
I bought a Shuttle SN26P barebones in January. It’s now June and the darn thing still isn’t working right. In this blog, I’ll explain my rationale behind this decision, what mistakes I’ve made, and what I’m going to do to finally get a working desktop system.
Background
In January, my desktop computer (a Pentium 4/3GHz) finally bit the dust. It had been having boot problems for a while — so much so that I made sure everything was backed up on a regular basis and ceased turning the darn thing off at night like I had been previously. One day, I needed to reboot because the system hung hard, and that was that… the system never worked again.
It wasn’t a huge deal for me, as all important data had been backed up on my laptop and I’d known this day was coming for quite a while now. Nonetheless, I wanted to get my desktop up and running again, so I hauled it in to Simpli and had Russ take a look at it.
After pulling out a spider web and a pile of cat hair, Russ decided that there were several problems that had caused my system to finally bite the dust. First of all, my ancient ATI All-In-Wonder Radeon 7500 video card had a fan that had died, which was probably what had been causing my (more and more frequent) system hangs. (Video card overheats… system dies. Sounds logical to me.) Since I didn’t really need a fancy video card — just one with DVI that supported 1600×1024 resolution, Russ offered to sell me his old one. “Great!” I said. He brought it in, plugged it in to my desktop, and lo and behold…nothing. Still dead.
Further diagnostics ensued. Whoops… not only had the video card died, but the reason my system had utterly failed, as opposed to just hanging on a regular basis and not booting properly, was that my motherboard (an older Asus) was also dead. “Hey,” I said, “that explains all of the USB problems I’ve been having of late.” (I was having a lot of problems where I would plug in my Treo or iPod to sync and get a “USB device has malfunctioned” error in Windows.)
At this point, with a dead video card, a dead motherboard, an obsolete Socket 478 processor, and a CD-RW drive that needed an upgrade anyway, I decided it was time to build a new system. We parted the ol’ desktop out and Lawrence from Ymetro (who works upstairs from us) now has the case. The processor went who-knows-where (I think into a desktop at Simpli) and the memory and CD-RW drive were set aside to assist me in building a new system.
After doing some research, I decided on a Shuttle machine. I wanted a tiny desktop that didn’t take up much space, was deathly quiet, and ran like a dream. I also decided on a nice dual-DVI video card, paying a small fortune for it but deciding that it was worth it because I could have two DVI ports for my two SGI 1600SW monitors. I decided to go with my first non-Intel desktop and pick the 64-bit AMD processor with the Nforce4 chipset. Little did I know what I was about to get into.
At the risk of taking the rest of the day to summarize this, here is what has happened over the past 6 months. Keep in mind this system goes for $2700 retail. This is NOT a low-end desktop. This is a premium, cream-of-the-crop sort of desktop. The fact that it has taken so long to even get up and running is disappointing in its own right, but it gets better…
What Happened
I bought Windows XP x64 Edition. I figured it would be able to run 32-bit applications. After all, on Microsoft’s website, it says “Windows XP Professional x64 Edition gives you access to greater amounts of memory while continuing to support 32-bit applications.” WRONG! Or should I say… NOT EXACTLY! While some 32-bit applications will work, most won’t. And that “most” means I would have to spend hundreds of dollars upgrading every application I use to the latest and greatest bleeding-edge stuff to even have a prayer of it working. Let me give you some quick examples of what does not work: iTunes (even though Apple claims it does); any version of Photoshop older than CS2; older versions of Dreamweaver (I’m still on MX 2004!); PartitionMagic; most virus scanners; most backup applications; most anything that burns CDs… and on and on and on and on.
Taking a step backwards… before I even found out about this problem, I had to get Windows XP x64 installed. That turned out to be a nightmarish experience. I have installed XP approximately 25 times on this computer. First, the Nforce4 drivers that Nvidia provided with the Shuttle do not work properly on x64. I tossed those and got the latest version, which, by the way, have to be installed from a floppy disk during the Windows XP install. Gee, I don’t have a floppy disk drive! Okay, I’ll be ghetto and hang one off the side of the computer. There, that worked.
Now Windows is installed, but the first time it reboots after the install, it hangs, saying it can’t find ntldr.sys. There is no solution other than to reformat, because this error means Windows can’t see your hard drive. I got conflicting reports from forums. I tried slipstreaming the drivers onto the CD instead of loading them from the floppy. No change. I tried different drivers from Nvidia’s site. No change. I tried some drivers from some German site. No change. Finally, I stumbled upon the answer. It appears that when you load the drivers off the floppy, or slipstream them onto the disk, if they are not “Microsoft certified”, Windows replaces them with its own drivers upon first reboot. So Windows replaced the drivers for the Nvidia SATA chipset with “Generic IDE” drivers of its own, which, of course, do not work with my chipset, thus destroying the system before it even had a chance to activate Windows. Solution? Someone hacked the drivers to stop Windows from doing that. I deployed the hacked drivers and it worked. (UGH!!!!) This problem alone took me probably 15 hours of work to resolve.
One of the first things I downloaded onto my new (and finally working!) system was iTunes. Unfortunately, iTunes does not work with some 64-bit systems. But before I even had a chance to discover that, I noticed that anything that I downloaded larger than about 20MB was giving strange CRC errors on install. In fact, any file I downloaded was a few bytes off the size it was supposed to be. Back to the forums I went. Hmm, looks like a lot of people using Nforce4 chipsets have this problem. And the problem is… memory bandwidth. The Nforce4 chipset says it supports dual-channel DDR400 RAM, and sets itself up automatically for that in the BIOS, and then (for whatever reason) the system cannot “write” quickly enough to its SATA chipset from RAM (especially when you have RAID-1 enabled on the chipset…I do), and “misses” a few bytes. What I want to know is… how the fuck did this get past QA? I have a $2700 (retail; I didn’t pay that much) system and here you’re telling me that the RAM it’s supposed to support does not actually work in it. Great. But since I only had DDR333 RAM anyway (remember, I’m using the RAM that worked fine in my last computer, and I ran a thorough memtest86 to confirm that there were no issues with the RAM itself), I went ahead and set my BIOS to force the RAM to DDR333 speed. Problem fixed… I think.
Today
I am typing this on my “new” system. It works, but it’s louder than I would have liked. XP x64 does not meet my needs, so I will likely go back to regular Windows XP. And I’m still concerned about the overall reliability of my system. My P4/3GHz worked great for 2 1/2 years before it finally started having problems. This system had problems out of the box, and while most problems can be fixed with new hardware, this looks like a buggy SATA chipset or RAM problem from Shuttle/nVidia that cannot be fixed simply by upgrading. It’s unfortunate that such a high-end system would run in to so many problems. I’m going to reformat to Windows XP (32-bit) soon, and will try to remember to post an update once I get that up and running. For now, my vote, for what it is worth, is to completely avoid nVidia’s Nforce4 chipset and to stick with Intel wherever you can (dual Opteron servers excluded.)
Update: I finally got it working. Complete details here.