Added: July 12 2005
As far as turning an old machine into something useful Atomic Linux - REMOTE 1 is about as basic as it gets. Connect to a machine running REMOTE 1 with your browser and control printer port pins 2 through 9 on that machine. If you've got an interface (see ELECTRONICS) to the remote printer port with some sort of electric switches you can turn things on and off. In essence its a glorified remote control capable of connecting over a LAN.
REMOTE 1 is a bootable disc image which you write to a floppy disc (see DISC COPYING for more info). Its capable on running on as little as a 486 with 8Meg RAM and is ideal for squeezing a little more life out of a relic (see REQUIREMENTS for more info).
The DOWNLOAD link below will get you a zip file of the disc image and documentation. After unpacking it you will get a directory named atomic-remote-1.0 which has everything you need in it.
The links below connect to their respective subjects on this page.
USAGE & SCREEN SHOTS
The following 3 images were captured off Mozilla and show the basic pages you'll be presented with when you connect (things may look slightly different with your browser). To connect just point the browser to http://10.13.13.251. See section CONNECTING for info on adjusting your routing table if you're on a different network than 10.xxx.xxx.xxx
The above image shows the LOG IN page which is the first thing you'll see when you connect. Use the password you'll find in the README.txt file within the tarball you downloaded.
Once you've logged in you'll be right at the control page. The numbers 1 through 8 control pins 2 through 9 on the printer port. Depending on the state of the pin the rectangles will either be Green/ON or Red/OFF and the checkboxes will be active or not. Use the checkboxes to turn pins ON or OFF and click the UPDATE button. If you want to name the pins click the NAMES button to get a page where you can do that. Once you're done LOG OUT.
At this page you can name the pins using the radio buttons and the text entry area and clicking the Name Switch button. Depending on the state of the pins the text will either be black or white. When you're done click BACK to return to the main page.
Less is probably better in this case and at the very least too much more than what's listed below would be over kill. The only slightly tricky thing is to keep in mind that the ethernet card needs to be PCI. (This is because it would be an impossible task for me to write what's needed to make the kernel aware of all the permutations that come with them old ISA cards.) You don't even really need a keyboard, video card or monitor for operation (just required for setup).
CPU 486 or better
RAM 8 Meg (might run on less but I can't test that)
MOTHER BOARD - with Printer Port (SPP 0x378), PCI Bus and Floppy Drive
NETWORK CARD must be PCI and one of the following ...
OTHER STUFF appropriate network cables - interface printer port to switches
TEMPORARY STUFF keyboard, video card and monitor for setup
Just about any machine that can connect via ethernet with a browser, the operating system isn't important. If connecting to the remote machine directly use a crossover ethernet cable. If going through a hub use straight cables. The connecting machine must be aware of the network the remote is on. In many cases this won't be a problem but if needed there are some commands to setup your routing tables for Linux and Windows in the section CONNECTING below.
This is where you use the Keyboard, Video Card and Monitor. We're not fussy about the quality of these items as they are only needed to help us access the BIOS.
Boot the machine with the Floppy Drive (but no disc) and Network Card in place. The first (sometimes second) screen is usually where the BIOS spits out information. Somewhere you should see a reference to pressing a key to enter SETUP. Often this is F1 or DEL so if you don't see anything try those right when the machine boots. If you miss entering the BIOS you can reboot as many times as needed either using CTRL+ALT+DEL on the keyboard or cycling the power button.
Once inside the BIOS control look for something that refers to either Halt On Errors or Detect Video/Keyboard or something similar. What you're looking for here is the place where you tell the BIOS to not give any error message or stop booting if it doesn't detect a keyboard or video card (monitor). When (or if) you've found it disable whatever is necessary. We want this machine to be completely mute and blind unless its talking over ethernet.
While you're in the BIOS confirm that your Printer Port is set to SPP and resides on 0x378 which is the default for most BIOSes. For that matter to really get under the hood you can turn off a bunch of things that aren't needed. We won't be using any Hard Drives or CD so you can turn off any reference to IDE and SCSI controllers (as well as remove the drives). We aren't using Serial Ports or USB so you can turn them off as well. If there's a PCI option set it to Plug And Play or whatever is the equivalent. And lastly make sure the boot order is set so the machine boots from the Floppy.
When you're finished with the BIOS settings save with whatever is appropriate (often its F10) and the machine will reboot. At this point you can insert your atomic-remote-1.0 Floppy Disc (see below DISC COPYING) and watch the monitor as the machine boots. Even though you disabled Video you'll still see boot information, this is because regardless the BIOS will use a video card if it finds one. Once past the BIOS boot screen the Floppy will start to be loaded, you should see the word ATOMIC- followed by a series of periods as the disc is read. That should be followed by Uncompressing ATOMIC LINUX and a success message. When the Floppy Drive stops operating (the light goes out) your REMOTE 1 system should be up and ready to work.
Now if you follow the information on CONNECTING you can test to see if everything works. If you are able to connect its time to finish the hardware setup of REMOTE 1 (if you can't connect see TROUBLE SHOOTING). Start by turning off REMOTE 1. You can just toggle the power switch as the system doesn't need to go through any shutdown procedure. Now turn off the monitor and disconnect the keyboard then turn the machine back on. If it boots and you are still able to connect you can power it down again and now completely remove the video card. Try the boot procedure again and if everything works as anticipated you now have a networked remote control and its time to hook up the ELECTRONICS.. If things don't go as expected see the section below on TROUBLE SHOOTING
The password for REMOTE 1 can be found in the README.txt and remote1.html files found in the atomic-remote-1.0.tgz tarball you downloaded.
And yes I realize a password is little redundant for such a simple system. But some of you may find a use for this that requires at least a small attempt at dicouraging the curious.
In the directory atomic-remote-1.0 is the raw floppy disc image atomic-remote-1.0.img. Which is to say its a type of file that if copied the right way to a floppy will be a complete working operating system and file system. Copy it the wrong way and its junk.
Depending on your operating system you'll have to use the appropriate command line utility for this special copying. For Linux use dd which is included in most all distributions and for Windows use rawrite which is not included. But here's a link to a page with rawrite and other disc copy utilities plus detailed usage info.
The information below makes the assumption you've got a "new" floppy in your drive, you're in the same directory as the disc image file, and you're doing this from a command line. Make sure its a good floppy as the system won't work from a damaged disc. You'll waste time tracing problems if your disc is bad. The respective format commands below will return information about success or failure.
Because you're writing to the Floppy (/dev/fd0) you have to be root for the following commands.
Format the Floppy with...
Although not absolutely necessary it wouldn't hurt to zero out everything with...
dd if=/dev/zero of=/dev/fd0 bs=1k count=1440
We can now transfer the image to the Floppy...
dd if=atomic-remote-1.0.img of=/dev/fd0 bs=1k
I've only done this on Win98 so I'm only guessing the following will hold true for more evolved versions.
Format the Floppy with...
Transfer the image to the Floppy...
rawrite -f atomic-remote-1.-0.img -d A:
Which ever way you end up using to write the image to disc once the Floppy Drive stops (light goes out) you are ready to test the system. That is assuming you've setup the remote machine's hardware and ethernet connections.
Because the remote machine has an IP address of 10.13.13.251 hard coded the CONNECTING machine's routing table will have to know about the 10.xxx.xxx.xxx network(s). There's a command line utility for Linux and Windows called route that will take care of this. If you run this command to take a look at the routing table and see something like this somewhere in the ouput...
Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.0 * 255.0.0.0 U 0 0 0 eth0
... you're in good shape. If not use the respective commands below to adjust things.
To take a look at the routing table
Add the new network (assuming eth0 is the ethernet card you're connecting from). You must be root to do this...
/sbin/route add -net 10 netmask 255.0.0.0 dev eth0
If you need to delete the network use this (again as root)...
/sbin/route del -net 10 netmask 255.0.0.0 dev eth0
If you need to know more about this command do a man route or /sbin/route -h
These instructions work for the version of route that comes with Win98SE, I'm not sure about other flavours
To take a look at the routing table
Add the new network where xxx.xxx.xxx.xxx will be your machine's network address.
route add 10.0.0.0 mask 255.0.0.0 xxx.xxx.xxx.xxx metric 1
If you need to delete the network use this...
route delete 10.0.0.0
If you need to know more about this command do route -h
As far as REMOTE 1 is concerned its routing table knows about the following networks and subnets...
The circuit below should be duplicated for each printer port pin you plan on using. For the most part its pretty straight forward. By turning on a pin you apply a current to the base of the transistor which in turn allows current to flow from Vcc and change the state of the relay. The relay I'm thinking of is a mechanical reed type and the ones I used were fed from 12v+. You may have to adjust the circuit if you're using different relays. The diodes are there for protection and should not be omitted. To make the actual connection you can cannabilize a printer cable or buy a DB25 connector and go to town soldering.
The parts are common place and shouldn't be hard to find. I'll assume you understand some basic electronics and know how to assemble the components properly. Be aware that you can fry a printer port if you aren't careful. I make no claims that my information is completely correct even though its worked for me using several different machines for extended periods of time. I will in no way be liable if you fry your printer port or other parts of your machine. If in doubt don't use this on a machine you care about.
If you search the web there are more designs out there, I'll leave it to you to do the research. You can also try the CIRCUITS page to see what I've posted there.
What to do if things don't work. Relax its probably just something minor. I've tested or used this on several machines ranging from an Intel 486 33Mhz to an AMD 450 K6 using a variety of NE2000 clone cards as well as PCnet32 and EtherExpress PRO 100. And connected from as many machines using both Linux and Windows with a number of different browsers. Things seem to work pretty seamless, but then again I've had the benefit of hundreds if not thousands of hours debugging so its become old hat to me. What follows below should answer most if not all the questions you have.
THE DISC I CREATED WON'T BOOT
I CAN'T ACCESS THE BIOS TO SET UP THE REMOTE MACHINE
THE REMOTE MACHINE WON'T BOOT WITHOUT KEYBOARD OR MONITOR
I'M SURE THE REMOTE MACHINE BOOTED. HOW DO I CHECK?
OKAY IT BOOTED BUT I CAN'T CONNECT
MY ELECTRONIC INTERFACE DOESN'T WORK