September 8th, 2005

Adventures In Computing

I decided to tinker a bit with my main Windows XP desktop to try to simplify the rats nest of cabling. I removed two of the disk controllers and consolidated all the disks and CD-ROM drives onto the motherboard controllers. While doing this, I managed to kill my memory card reader, and thought I killed one of my disk drives.

The memory card reader fits into one of the floppy drive slots on my case with a USB cable running to an internal USB connector on the motherboard. When I put my firewire card back in, that USB cable managed to get wedged between the card and socket. While the cable was not severed, the part where it got squished feels about 1/3 as thick as the rest of the cable, which means one or more of the wires inside probably got broken. In any case, the system no longer sees the card reader. I'll try to slice open the cable at some point and try splicing it. If that doesn't work, the card reader was only around US$15 so it's not a terrible loss.

The hard disk would have been a bigger problem. It's a 320GB drive that's nearly stuffed to the gills, so it wouldn't be so easy to replace its contents. Fortunately it turned out to be an interoperability quirk that was easily worked around once the problem was diagnosed. Previously each drive had been on its own IDE channel with each drive as master. By consolidating, I had to put two drives on each channel with the exception of the primary one which only had the boot drive on it as master.

By chance I had put the 320GB drive as a slave on an IDE channel with a 250GB drive as master. When I did that, all sorts of weird things were happening. Sometimes it would show up, sometimes it wouldn't. Sometimes the capacity would be reported correctly, sometimes it wouldn't. Sometimes it would actually mount and be accessible... for a while at least. Needless to say, that sounds like just the symptoms you'd expect with a drive with a failing logic board.

Fortunately it wasn't that. After much debugging, it turns out that this particular drive when running as slave with the other 250GB drive as master would be flaky. With it as slave and other drives as master, it worked fine. With it as master and the other 250GB drive as slave it worked fine. Both drives are Western Digitals, so you'd think they would get along. What's more mysterious is that the 320GB drive gets along with another 250GB Western Digital fine.

It took a long time debugging things to actually get it working though. I tried several different cables, then various combinations of drives before finding exactly what was wrong. Even so, I ran a complete test of the drive with SpinRite after getting things working, which it passed with no errors. What should have been a fairly straightforward re-arrangement ended up stretching to hours of debugging. And it still annoys me that in this day and age we still have insane incompatibilities like this crop up.