2006-09-03

Okay. Computer?

This is about the sixth time I have had to redo this post. Needless to say, I am NOT amused. Computer crashes make me groan.

As you recall, once upon a time I posted that I was taking my computer in to get it fixed. I still don't have it back. What, I hear you ask...you have to be kidding. I assure you, I am not.

It turns out that while a guy from work who only charges $50 and only when the machine is actually fixed sounds like a good deal. It is, unless, say, that computer guy is also addicted to both marijuana and poker. Two weeks to look at it, a third week to fix it, and now pushing five weeks because he keeps forgetting to bring it, even when called three hours before his shift.

To tide me down in the interim, I decided to do something wacky: get my old 1996-era Cyrix 6x86 computer up and running. I used to use it as a firewall back when I had a couple extra computers and a roommate with a laptop, allowing effective networking and the likes. Over the past couple of years it has merely sat in a corner unused. Finally having motivation, I decided to get it up and running as a fun backup computer/side project. Plugging it in I learn several things: my new ball-less PS/2 mouse just won't handle the serial mouse port, even with a serial-PS2 adapter. I also learn that back in June or so when I accidently knocked the whole computer onto the floor in a fit of naked "Risky Business" style dancing...er, exercising, I had managed to cause some hidden damage. The first indicator is when the 8.6GB hard drive I had in it makes a disturbing clicking noise, and won't let the BIOS probe it. So now instead of a 2GB drive and a 8.5GB drive, I have under 4GB of total storage space.

This is spead across multiple (2) operating systems, so its a bit of a problem. The next hurdle was getting Windows 98 to install. The disc wouldn't read. A Windows 95 disc would, but I preferred the '98 stability (and Win2K is too powerful for the poor girl). After some trial and error, I remember the hard drive and ponder if the CD-ROM drive is also damaged. Luckily, I have a nice 16-10-40x CD burner that I could plug in, and then we were in business! Linux 2.4.12 and Windows 98 are now happily installed on the system. Happily maybe a strong word, but I digress.

In retrospect, I should have used C: (/dev/hda) entirely for Windows 98, and D: (/dev/hdb) for Linux. Instead, C: is a small DOS partition for bootloading, and D: the main Windows drive. This shouldn't be a problem, I hear you mutter. I agree. I'll explain later.

Getting the CD burner to work in Linux was a breeze, since I remembered full well how to use ide-scsi emulation. Getting the Soundblaster and the two D-Link network cards to work was a little harder. I had forgotten that the 2.4 kernel has built-in eisa-pnp support, and isapnptools is no longer a required .deb package to use. Of course, this cost me a few days of fighting with isapnp.conf not realizing that /proc held all of my answers. If you understand any of what I'm talking about, congradulations.

Built-in support for the ne2000 and tulip network drivers didn't help. Turns out that tulip wasn't necessary, so getting rid of it was a big help (my previous 2-nic cards used one of each drivers, but I had replaced a crappy DEC card and forgotten it). Modules gave a slightly better network card result, but still not ideal. The fact that the 6x86 is pretty slow at slogging through all the C code needed to compile a kernel didn't help. It coulda been worse: the old firewall role enlarged the kernel so much that the 32meg of RAM wasn't enough to run "make bzImage" and I had to keep freeing memory and running make over and over. Still, recompiling the kernel three times a day literally took the entire 24 hour period of the day.

No matter what I did though, I couldn't get the network cards to show up anywhere but in /proc/interrupts. Even /proc/ioports was silent on the issue, and the kernel was being decidedly unhelpful. The solution (naturally), was to make the Soundblaster card also a module! Doing this made everything fall into place: the soundblaster and ne2000 modules both gave each card a nice IO value, an IRQ setting, and a DMA channel of their very own. eth0 and eth1 were now happily displayed on my system. Time to get them connected to the Cable Modem. (Thanks go to Shaw, which took 3 hours to look up their own damned nameserver IP addresses). For some reason, this whole time I couldn't get the network to work under Windows 98 either, which was very troublesome. But with no settings to adjust, I was forced to play with Linux until I could come up with a way to connect and just look up how to fix the Windows problem from Google or something.

I could get ifconfig to recognize eth1 and set it up with a nice static IP of 172.3.3.137 (I like the 172.x.x.x subnet for historical reasons). But I couldn't get eth0 to work. No matter which of the two NICs I put the RJ-47 cable into (the other end loyally attached to the cablemodem) no network traffic would go through. This is, to say the least, extremely annoying. I would adjust /etc/network/interfaces, I would play with dhclient.conf endlessly, and I would even try passing arguments through insmod. It just wouldn't budge. Finally today I received the breakthrough. The DHCP mini-HOWTO was reminding me to set a lease interface for eth0 including the HWaddr featured in ifconfig readouts. I was still getting no results, and the stress was making me pull my hair out. I even tried connecting the Win98 box to my Mom's computer running Windows Media Centre. Couldn't even get the ethernet hub to tickle.

Which suddenly gave me an evil thought: I've spent a week fighting these NIC cards and often kept switching the network cable between the cards (trying to decide which one the system identified as eth0). All of that unplugging and replugging: could my actual RJ-47 cable be faulty? I found an old ethernet cable in the closet, plugged it into a single network card at random, and watched...

...as suddenly lights started to flicker on my cable modem. Yes, after all of these fights, chances are I had gotten it right the moment I compiled the Soundblaster module. But the previous attempts had trashed the cable..which is of course why Windows 98 couldn't go online either. Now both OSes are happily wired, and I am a somewhat happy man.

Windows is now, surprise surprise, causing me the problems. Some existed before today and had nothing to do with the network. For one, the lack of a mouse keeps most of my Windows games from working. Meanwhile, remember the C:/D: decision I made? Well, NHL '99 wants at least 40MB of space on C: and I only put on 18MB...the rest is all Linux partition. I can't figure out how to convince NHL'99 that there is plenty of space just one lousy drive letter higher: the drive letter, one notes, where the game is installed. Warcraft II and Red Alert both seem to insist on a mouse, which is sad. And while Opera isn't a bad browser, I have to use it since Firefox won't install and MSIE gives 10 errors per page (because its almost a decade out of date).

On the bright side, I can post to the blog, of sorts. And I can use the internet to find out why SVGAlib segfaults all of my good Linux games (I don't have X installed, so I'm only playing SVGAlib games). Also perhaps how to get the soundcard support to work is a job for another day. Windows 98 might also benefit from a spyware protector and CD burning software. Buying a (shorter) working ethernet cable and a ratty old ball mouse are on the to-do list for today. The latter should prove much much more difficult, unless Value Village is open...