Writing

Software, technology, sysadmin war stories, and more. Feed
Sunday, March 3, 2013

Potholes on the road to a new workstation

I really hate dealing with computer hardware, particularly when it comes to buying stuff to either build or upgrade a machine. It's never the same twice, and every time I find myself having to re-learn everything about how it all fits together. There's always some non-trivial change in the way stuff works in the interval between builds.

The last instance of my workstation at home happened due to my desire to reduce both the physical footprint and the noise level caused by the one I had been running. The existing box was just a clone of the hardware used by one of my servers at work, and the Enlight 7237 case was anything but small or quiet. It had to go.

I popped down to Micro Center and found this dusty little "Shuttle" box sitting there on a shelf. It looked nice and small, it wasn't that expensive, and it promised to be rather quiet. Given that it was "barebones", I knew I'd have to buy the processor, memory, and so forth, but a lot of stuff (like a NIC) was now integrated, so it would be a net reduction in parts.

I should have known something was up when the store was unable to sell me a processor for that motherboard. As I later learned, the Shuttle SN95S3XC wants a "Socket 939" chip, and Micro Center didn't have any of those in stock for whatever reason. I went to Frys instead, and bought what I thought was the right model.

However, upon bringing it home and trying to install it, I found that it had just one pin too many. Apparently this thing was a "Socket AM2" and thus would never work in this machine. Now I had made a potentially expensive mistake, since I had opened the CPU box and everything, and now I thought I'd be stuck with it. I called them up and explained the situation and how I bought the wrong part, and they said "just bring it back", so I did. Less than an hour later, they had inspected it, taken it as a return, and refunded my money. Absolutely amazing. I would have never expected that for something that fragile.

I wound up having to go online to find this "AMD FX60" chip. I should have known something was up when neither Micro Center nor Frys had it, and I was unable to find it at any other place in the area, and yet, I live in Silicon Valley. AMD itself is right down the road, but I couldn't find one stupid chip. At any rate, I got the right chip ordered, and received it a few days later.

While this was going on, I ran into a different problem. I knew the new machine had an AGP slot for video since it didn't have on-board video. I was okay with that because I already had an AGP video card from my existing machine and intended to just move it over. That was another mistake.

AGP is not always AGP

I found out the hard way that AGP comes in multiple flavors - voltages, that is - and uses those keyed slots to keep you from making an incompatible connection. This was never on my radar before. I had to dig in to learn just what my machine would actually accept, and then made yet another run to a store to pick up a compatible card. At least with this purchase, I was able to find something in stock.

A couple of days later, my CPU came in, and I was excited. Finally, I'd be able to start using this stupid pile of parts. I dropped it in and turned it on and ... nothing happened. I forget exactly if it threw an error or what, but it became obvious that this BIOS was not compatible with my CPU. It had been sitting on the shelf for a long time, and was probably running some old version. I found an upgraded version at the Shuttle web site which was merely 12 months old which added support for this particular type and speed of CPU, but now I had another problem.

How am I supposed to flash the BIOS when that means booting it, and the thing won't boot because it's not compatible with that CPU? I figured, okay, there must be some way to throw this thing onto an EEPROM burner or whatever. I dug around in the box until I found the culprit.

BIOS chip

Here it was, the "S3X7" version, and I needed the "S3XC" version. It had one and only one change: "Supports AMD FX-60 CPU". All I needed to do was get that 512 KB file onto a chip. I even peeled off the label to be sure exactly what kind of chip it was.

Bare BIOS chip

Now, I had heard stories of crazy people doing these "hot swap" tricks with their machines to (ab)use them as EEPROM burners. They'd basically let the machine boot up, then once it had everything in memory, they'd stick in one of those little PLCC extractor tools and pop loose their BIOS. Then they'd cram in another chip and fire up the burning program. If they managed to do this without blowing up their chips or motherboard, then they'd have a freshly programmed BIOS chip ready for use in another system.

I looked inside my existing machine. It had a PLCC BIOS too, but it was soldered to the board. I was not about to undertake anything even crazier than popping loose the chip on a running machine, so any idea involving using that existing box as a "bootstrap" was out of the question.

I figured I was in the valley, so someone must have a programmer I could borrow for 5 minutes. I fired off a mail to the infamous "misc" list at work and asked for some tips. I figured it would be an interesting way to fix the problem and it would save the trouble of finding yet another Socket 939 and yet not FX-60 CPU, using that temporarily to run the flash program, and then having to either return it or eat the cost forever. Besides, buying something knowing I was going to use it and return it shortly thereafter just feels wrong.

Over the weekend, I found a "biosman" web site which had a simple form: list the URL to the file you want burned and the chip type and supply your payment and shipping info, and you'll get a chip in the mail. I decided to go for it just in case the "misc" list didn't pan out.

I should have been more patient. A couple of days later, there was an interoffice memo envelope on my desk. Inside it, there was a tiny little PLCC with a note stating it had that specific code loaded onto it. Some kindly fellow employee had read of my plight and took it upon himself to send me a chip for free. I forget exactly who it was, but I think it was someone in Platforms (where they wrangle BIOSes all day). Whoever you are, if you're reading this, thank you again for your help.

Of course, the "biosman" chip came in at the same time, so now I had two of them. I picked one, dropped it in, and watched as the system came up at last. Now I could finally swap my drives across and get down to the business of reconfiguring X for my new video card and all of that other grungy stuff which follows a significant hardware change.

After some time, I had a nice quiet machine that was significantly faster and considerably smaller. It served me well as a primary workstation for many more years until I finally outgrew it while working on a software defined radio project.

The box itself is still with me, and it still has that BIOS chip in it. I still use it for small experimental tasks which are inappropriate for my workstation, and so that means the generosity of that person is still making a difference in my life.

...

I decided to "pay it back" in the karmic sense by being generous with my old parts. Later on that year, someone on the misc list needed a full-size ATX case for something or other. I just so happened to have the Enlight 7237 that was my old workstation, and it still had a usable motherboard and CPU and memory and all of this. I drove it to work one day, and that afternoon, we did a trunk-to-trunk swap. He got some hardware which he needed, and I got some space back in my life. Win!

I won't lie. I definitely miss that aspect of things. It kind of fizzled over time, but for a while there, we had something great.