Linux on an i810
UPDATE
After nearly two years of running Red Hat 8, I upgraded to Fedora Core 3. This upgrade was borne of necessity; if it ain't broke, don't screw with it is a good rule of thumb. In this case, it was broke. The IBM 40GB hard drive I bought back when I pieced this server together was making some really strange noises. Running disk diags on it showed that it was having some random I/O issues. So I backed up my data and replaced the drive. This seemed like a good opportunity to jump from the 2.4 to the 2.6 kernel as well. I settled on Fedora Core 3 as the new OS.Unlike the troubles I had with RH8 getting USB support and NAT working via kernel compiles, Fedora Core 3 recognized all of my hardware at install time and NAT was supported without a recompile. Even the two USB ports on the sides of my Viewsonic keyboard were usable right from the start.
So for historical sake, the below information is kept here. Maybe some one can use it. Otherwise, nothing special to report when loading newer versions of Linux on an i810.
It's not that the Borg Tower of Power was getting outdated; not for what it was being used for. Nope, it was serving quite well as my home network's gateway to the world (and firewall too, so don't get any ideas!). But at just over 3 feet high, the old chap was taking up quite a bit of space. Not to mention there have been some quantum leaps in power supply sound deadening since the thing was built in 1994.
Anyway, I had been considering replacing the BTP for a bit but couldn't settle on what I wanted. Nothing flashy. I really didn't need um-teen gigahertz of power to run simple a gateway and file server. Plus I wanted something that would take up less space than the old monolith. I was leaning towards a desktop case from Enlight when a friend of mine told me about this IBM Netvista FlexATX case he had. Hmmmm...now that would do nicely; low foot print and quiet too.
So now that I had a case, I had to have a motherboard. Some research into the case showed that IBM used an Acer S55F motherboard in these. But, alas, none were to be found on the open market. So I opted for a used MSI MS-6312 from an as yet unknown Gateway system. Basically, this board is an Intel i810 unit with 5 USB ports (3 rear, 2 front) and no PS/2, serial or parallel ports. It has built in modem, video and sound cards. While the video card is only a 4MB unit, that is plenty for what I needed it for.
For a processor I chose a P3 667 Celeron. Why? It was cheap.
Now the hard part. Finding a network card and modem to fit in this thing. Since this is a FlexATX case, the expansion cards are nearly half the height of normal cards including the bracket. Finding low-profile NICs and modems ain't easy. After a bit of searching I did find an IBM NIC that was an option for these units...at $60. No thanks, El Bandito. I'll make do with something else. So I chose the 3Com 3C905TX-NM unit and simply removed the bracket. The modem was a different story (yes, I still use dial-up).
The onboard Conexant modem is not supported by Linux; it's a crappy WinModem. So I started looking for a USB based modem (hey, I got all those freakin' ports, why not!?). Unfortunately, more research uncovered the fact that USB modems under Linux have a long way to go. Of all the ones out there, only the Diamond SupraMax model 2780 seemed to offer the best chance at working. I say chance because the 2780s tend to work about 60% of the time. Was I really ready for that headache? Let's find some other options.
Now I just happened to have an external Zoom 56K serial modem in my bin o'computing treasures. Was there a USB-to-serial adapter in existence? Why yes there was, the Belkin F5U109. So along with a Viewsonic Viewmate slim keyboard, Logitech optical wheel mouse, Seagate 40GB hard drive (hey, smaller ones were just as expensive) and Sony 52X CD-ROM (in matching black), I had all the parts I needed.
Building the unit was fairly easy. The only tough part I had was running the hard drive cable in the tight confines of the case and reconfiguring the power switch/HDD/Power LED cable to match the MSI board. Other than that, the build was very straightforward.
Once I had it all together and got a heartbeat from it, I loaded up the OS. RedHat 8.0 to be exact. This is when I encountered the first stumbling block. The graphical install would start and run fine up to the point of configuring the drive partitions. Upon clicking Next after doing the partitioning, the install would panic dump. At first I thought it was how I was partitioning the drive but soon discovered it was the GUI install itself. By choosing the text install, I was able to complete the installation with no troubles.
Linux has gotten a lot better with the device discovery than in days of yore. RH8 found and installed everything, including the USB keyboard and mouse and the i810-based video chipset. The next test would be kernel compiling for IP Masq'ing.
I installed the latest kernel source (at the time 2.4.19) and ran make xconfig. After choosing only the required items, I did the usual make shuffle. Upon reboot, I encountered stumbling block number 2: no X. All I got when X tried to start was a flash of light every 2.315 seconds (okay, every 2). Hmmmm...try again. Did another compile with some changes and rebooted. Still the same. Thinking maybe the XF86Config file needed some tweaking, I booted into runlevel 4 and discovered my third stumble: no mouse or keyboard control. Upon further investigation, I happened to notice the neat error message that said the USB filestsytem was failing to load on /proc/dev/usb. Huh? Loads fine under the default install! Back to the research.
After doing some further research, I found my error (neglecting to compile in Preliminary USB device filesystem under USB Support) and corrected it. After another recompile, I had control of my keyboard and mouse again but still no X.
Tweaking and changing for three hours solid resulted in naught. So in desperation, I dropped back to the kernel source installed by RH8 (2.4.18). There I did another complile and reboot and...X worked like a champ. Hmmmm... So the issue of why X fails in 2.4.19 but not in 2.4.18 with identical builds remains a mystery.
Next task: getting access to the world. As stated above, I had the Belkin USB->Serial adapter which was plugged into the number 2 USB port on the rear of the computer. However, configuring the modem in KPPP was a bit daunting. Being a newbie when it came to USB and Linux, I followed the advice of some of the stuff I read online about USB devices. This lead me to look for the modem on the /dev/usb/ttyACM[0-3] ports. Doing so didn't get me the modem or any activity on the adapter's status lights. Poking around a bit in /dev/usb I found ttyUSB0. Linking this to /dev/modem then selecting this in KPPP's setup returned a good query of the modem. We had life.
The rest of the setup went as normal. I changed the other computers over to use the new server as the gateway and all was well. I finally had a new working server, one without a single matching part. I like to call it...the Borg Scout Server.