- Compaq Deskpro 2000 5200MMX
- 1997
- Intel Pentium MMX, 200MHz
- 256 MB
- S3 Trio64V2/GX
- 4 GB harddrive
- CD-ROM
- 100BASE-TX
- 100BASE-TX
- 100BASE-TX
- 10BASE2
- OpenBSD 4.1
- Serial and parallel ports
winter's computers
found, loved, and nurtured for spring
my ugly geek secret
I've had a broken Mac Plus gathering dust in my collection for years. It's an all-in-one design with a high-voltage analog board (technical term: monitor guts) that controls the display and a one-piece motherboard (the computer itself). These Macs were fanless: wonderfully silent and cooled by convection, the case acting like a chimney. At least that was the plan. Excess heat and a couple of poor component choices on the analog board resulted in notorious problems like the analog board warping causing solder joints to crack.
This was the typical result.
I took my Plus apart recently to try to resolder some of the connections in the hope that they were just cracked. That didn't fix the problem, though, so I found a list of common problem components in the pickle's Low-End Mac FAQ and ordered some replacements from Digi-Key.
I enlisted Donnie to help me out and to give him a bit of experience with soldering and electronics in general. The tube circuit can store something like 30 thousand volts even after the power is turned off, so the first step was to discharge it. Donnie wasn't too happy with the idea of doing this, but I had him stand on a step stool and with one hand insert a screwdriver into the grounding lug while I wedged another screwdriver under the anode cap and touched the two together. Had it been fully charged we would have heard a loud snap and seen a big spark between the screwdrivers, but — much to Donnie's relief — the charge had dissipated since I had last powered it up and we didn't notice anything. I was a bit disappointed.
A paper shield covers the solder joints on the mask side of the analog board.
I found that PC expansion slot covers work really well for popping the four buttons that held the shield in place.
Looking more closely, there was a clear bulge in capacitor C1 (top right), the likely culprit. Donnie heated up the capacitor's solder joints and I pulled it out.
The replacement part didn't look anything like the original which made me wonder if this was the correct part. It's just the package type, though, and the capacitance and voltage rating looked correct so we went ahead.
I bent the leads and popped the replacement capacitor in. With a little instruction, Donnie did an awesome job of resoldering the connections. That soldering iron is older than he is; I got it from my folks when I was not much older than Donnie is now.
The replacement cap looked a bit odd but the fit was okay. After trimming the leads, we put the Plus back together and powered it up. The screen was disappointingly black for a moment, but then...
It worked! Wow. I was rather surprised how well that went. We didn't even have to adjust the video circuits.
It won't boot, though. The floppy drive is dirty and possibly broken. I may have to replace it. I also have to dig up a keyboard and mouse (I think I've got both but the mouse has no ball... insert your own joke here) and connect the external SCSI harddrive and see if the SCSI CD-ROM I've got works. I may have to do a bit of shopping on eBay to get this Plus fully functional... or I may try something a bit more radical...
Got a comment from Sully2 about libretto, wanting to know details of how I set up Xubuntu without a CD-ROM drive.
Funny you should ask, Sully, as just this week I started looking into a different version of Linux to load onto libretto. All my apps work well, but it takes ages for them to load (even with prelinking) and to switch between them. Feisty might be better than Dapper for this, but you might want to consider something like DSL (Damn Small Linux). That's what I'm looking at now.
Last week I even compiled my own kernel for it, but I couldn't find much to tweak and I didn't notice any speed improvement. One thing I noticed though is that it looks like everything that's not compiled into the stock Xubuntu kernel is set up as a module, which would explain why (X)Ubuntu has such great hardware compatibility. I think this also means that you can take a shortcut to install Feisty on your Libretto, if you still think you want to.
If you know nothing about Linux then I really recommend that you not attempt this, Sully, especially if you want to keep Windows. Ubuntu and it's derivatives are dead simple to install on most PCs and laptops, but the Libretto is a special case even if you have the CD-ROM drive and PCMCIA adapter. If I had detailed, step-by-step instructions for you then it wouldn't be too risky, but I didn't take notes so much of this will be vague.
You need a second laptop that works with the Libretto hard drive, or a PC with a laptop hard drive adapter. To avoid problems like modifying the wrong hard drive, the Libretto hard drive should be the only one in this other laptop/PC and you'll do all the work from the Ubuntu LiveCD.
Before removing the hard drive from the Libretto, defrag the Windows partition. Then, from the other laptop/PC , resize it with parted (see http://www.gnu.org/software/parted/manual/parted.html) or Ghost or Partition Magic or something to make room for Linux. This is assuming the hard drive is big enough to hold both OSes.
Leave room on the hard drive for the hibernation data. I marked the empty space (which DOS can't see but Linux can — don't know about Windows) as a special partition, but unless you want to use an extended partition you can just write down the details of where the hibernation space starts (if the drive is larger than — I think — 8GB, the hibernation space won't be at the end; it should be the size of your RAM plus video memory plus some overhead, but 100MB should cover it).
As mentioned above, there might be a simple way to install Xubuntu from this point: now that there's space on the hard drive, you could try just installing Xubuntu on the other laptop/PC. This would be straight forward, and when you're done you should be able to just move the hard drive back into the Libretto. Like I mentioned, it looks like everything's either included in the kernel or installed as modules, so it should work no matter what laptop or PC you put the hard drive in.
But I haven't tried that so I can't say for sure that it will work. So continuing with how I did it:
Copy an image of the Ubuntu install CD onto a 700MB temporary partition on the hard drive (right before the hibernation space); that is, there will be no filesystem on the partition and you'll have to use the dd command to copy the raw bytes from the CD directly to the partition (see https://help.ubuntu.com/community/Installation/FromHardDriveWithFloppies).
Setup another partition to run the install from. I seem to recall I was able to install Xubuntu onto this partition as well, so make it big (but try to leave room for a swap partition; I would put the swap partition right after the Windows partition, followed by the Xubuntu partition, followed by the hibernation space).
Copy vmlinuz and initrd.gz from the install folder on the CD to the root of the install partition.
Install Grub onto the hard drive's MBR; you can check https://help.ubuntu.com/community/GrubHowto/BootFloppy (step 4 in particular, substituting your hard drive for the floppy) but you probably just need the setup command.
Move the hard drive back into the Libretto and boot it.
At the Grub prompt, enter this (from https://help.ubuntu.com/community/Installation/FromHardDriveWithFloppies):
root (hd0,0)
kernel /vmlinuz append vga=normal initrd=/initrd.gz ramdisk_size=16384 root=/dev/rd/0 rw --
initrd /initrd.gz
boot
(that should be four lines, one each starting root, kernel, initrd, and boot)
... substituting your install partition for hd0,0 (where hd0 is the first hard drive and hd0,0 is the first partition on the first hard drive).
When asked to install modules from a disk, say no and specify the temporary partition you copied the CD to.
If everything goes well, Xubuntu will now install. If it has trouble booting (because you already installed Grub, above) you can use the LiveCD to do a repair and fix Grub.
When it works to your satisfaction, put the hard drive back in the other laptop/PC, boot from the Ubuntu LiveCD again, and use parted to remove the temporary 700MB partition and resize the install partition over it (be careful not to resize it into the hibernation space).
If something goes horribly wrong you may have to reinstall Windows, but I seem to recall that Win95 and/or Win98 required that you insert the CD during the install, which of course is impossible if you don't have the CD-ROM drive or PCMCIA adapter card. Something to keep in mind.
biglug wouldn't boot. The four AA's were long dead, leaking acid into the cheap, black plastic battery holder, my homegrown replacement for the original CMOS battery. It had lost all knowledge of what it was: what floppies, what hard drives, what monitors were attached to it. It didn't even know what time it was, convinced it was January 1st, 1980, flashback to big hair and FM synthesized music. New batteries would have to wait; I wanted to know what was on that hard drive.
Hours of wandering FTP sites in the lonely, dark corners of the world-wide-cobweb had turned up gold in the form of an ancient Compaq setup and diagnostics diskette image. Having dumped it to a dusty 720K disk — its label torn, words scratched out and over-written in an indecipherable history of recycled media — I brought biglug up and filled it in on what it was, what it could do (or more to the point, what it couldn't do), that the end of the millenium had come and gone and it was now an antique, sought more for nostalgia than number crunching. With the CMOS freshly updated, I ejected the diskette and rebooted. No dice.
Hard drive stiction. My old nemesis. "Never though I'd see you again," I croaked, the bitter memories rising like smoke from a sixty watt soldering iron. There was a time when a hard drive's read/write heads — gliding on Bernoulli's cushions of air — would land on the platters when power was cut, right on top of whatever data was being read at the time. Sometimes the heads would stick to the platters and the platters would refuse to spin up.
The first few times the client could finesse his way out of it, cycle the power repeatedly and maybe... just maybe... his drives would spin up and he could buy a little time to make backups, something he should have been doing as regularly as changing his underwear. Eventually the drive would stop cooperating and I'd be called in. I'd show up — often just after the client had changed his underwear — pull the drive out, hold it in one hand, and give it a quick twist. Typically that's all the convincing it would need.
I started down the path I'd taken so many times before, removing the covers, opening the card cage, releasing the drive cages. It was an old routine and biglug yielded willingly, though it shed pieces of its covers every time regardless of how much care I took.
I released the hard drive cage from the bottom as well, replacing the batteries while I was at it.
To protect the drive from stiction, it was common practice to "park" the heads in the "landing zone," an area of the hard drive with no data. This was before "voice coils," where the heads were attached to springs that would pull them back into the landing zone whenever the power was cut. Designed by dames, I reckon. A real man would manually run a utility that parked the heads before shutting down, taking his chances with power failures. After all, you always had your backup.
Even in the landing zone drives could experience stiction, though, as happened to biglug. I know I manually parked its heads before shutting it down last time.
Once I wrote a utility that parked a drive's heads on the other side of the disk from the landing zone in order to avoid stiction. I just partitioned the drive to skip the first and last cylinders so nothing important would be saved there, effectively creating my own landing zones. I wrote the utility in machine language using the DOS debug command, saving it to a .COM file. Then I bit the top off a bottle of whiskey, downed the entire contents in one go, and dug a bullet out of the back of my neck with a rusty steak knife dripping with iodine. Or something like that... I'm a little hazy on what happened after I wrote the .COM file.
A little twist, and with the boards plugged back in, the hard drive was spinning again.
There was something wrong, though. I needed to configure the CMOS again since I had swapped out the batteries, but the setup and diagnostic diskette wasn't booting. I checked my connections; everything looked good. The floppy was trying to boot but would just make a bunch of noise and fail. I immediately swapped out the floppy drive, worried but hopeful. It would be OK. biglug would pull through. We'd been through much worse than this.
The new drive was making the same noises. Controller problem then. Or motherboard... no, don't think like that. Get a hold of yourself.
I checked the connections again. The proprietary floppy controller wasn't fully seated. I cursed myself for not taking the appropriate care, for not checking twice before powering up. I reseated the controller but it was too late: biglug started with the same pathetic sounds.
This was it then.
I slowly reached over and placed my hand on the power switch, hesitated, then forced myself to toggle the switch and shut biglug off. One last look at the CRT, the words "601 - floppy error" fading slowly with the persistence of the old green phosphors, and I locked the keyboard back in place one last time over the dark screen.
It was the big sleep for biglug.