The PC Weasel 2000

The PC Weasel is an ISA card that replaces the system video card in servers intended for headless (without monitor and keyboard) operation.
How Well Does It Work?

Before I get into how well it works, here's a few words about how it works. It is important to note that in many ways the PC Weasel is an independent computer that talks to the system through some fairly narrow channels, and the narrowness of the connection provides for rather narrow areas of dependence. The first and most basic of the dependencies is power: the PC Weasel draws power from the system motherboard, and as long as the system motherboard has power, the PC Weasel runs. When the system is powered on, the PC Weasel boots separately, and runs separately, from the system CPU. This has some very positive implications for remote administration because it means that you can connect to a system even if the motherboard has completely locked up, as long as there is power. You'll only see the last screen the system displayed before it crashed, but at least you'll see something, and because the PC Weasel has abilities that go beyond a display and keyboard, you can perform a hard reset of the locked-up computer and then watch it boot without disconnecting and having to wait, blind and hoping, for the system to start.

Anyone who has ever had to call a remote office, data center or business to ask them to reboot a server, and has had to wheedle and beg to get someone to spend the five minutes it takes to find the (hopefully) right server and press the reset button, will appreciate being able to perform their own rebooting and watch it happen.

That said, there are some limitations: you get nothing but text. Forget about boot graphics or fancy boot loaders; absolutely forget about X or using any operating system that has forgotten how to think in ASCII; text is what you'll get, so save the graphics for after the OS has booted, when you can use OS-level remote access.

And the necessary kludges: a terminal doesn't have all the keys a 104-key keyboard has. And even if it did, it probably wouldn't have a Remote Reset Button key, or a Configure the PC Weasel Card key. The solution is to use an “attention” keystroke to bring up PC Weasel-specific menus, similar to many Telnet applications. The default attention keystroke is Ctrl-^ or Ctrl-~ (depending on your terminal), though that can be reconfigured. When you send the attention keystoke, a command prompt appears at the top of the screen. From there, you can type a single-character command, or a multicharacter mnemonic that represents one of the keys not available on most terminals. For example, when you are in the attention mode, typing xlshift is the same as pressing (and releasing) the left Shift key. The command xscrllk is like pressing the Scroll Lock key. This is somewhat typing intensive but allows you to access all of the keyboard functions. It is also fairly unimportant when dealing with operating systems like Linux; as it's designed to be terminal-friendly, you rarely need to go beyond the keys a terminal would have anyway. There are also special sequences for using the Ctrl, Alt and Shift keys as modifiers, so you can, for example, send a three fingered salute by typing a command like xc-a-del.

The most valuable application of the PC Weasel is in remote servers. Whether you have a web server colocated in an ISP or a data logger on the side of a mountain, having to drive hours—or worse, wake someone up so they can unlock the site to let you in—to get to your server can be a killer. Having another way into your equipment can be a lifesaver. Most of us count on SSH or Telnet to get us in, but when the normal communication paths go away, being able to make contact could save you the price of the PC Weasel the first time something went wrong.

To make the PC Weasel even more useful, it has another feature for those who need to move data as well as control the machine: the card can be used as a standard serial port by the PC in a passthrough mode where data coming from the serial port is passed over the line that would normally provide screen and keyboard information. How is this useful? If you are setting up a remote data logger or need to be able to move information, not screens, you can have system software use the PC Weasel's serial port and carry out all communications through a single modem or serial cable. I didn't try this, but it should also be possible to connect to a computer using the PC Weasel's serial console and start a PPP connection over that serial port, allowing both core system access when something has gone wrong and TCP/IP for the more flexible access it provides.

Within the limitations of its hardware and the emulations it connects to, the PC Weasel works very well.

For Remote Embedded Systems People

Okay, you aren't a system administrator. You don't care about web servers. You do care about real-world solutions, and those solutions involve putting a PC somewhere in the real-world. And, in the real world, that means that every once in a while one of the people you sold your real-world solution to calls and asks, quite reasonably, why it isn't doing anything. You have a few weapons in your arsenal to answer those questions. Maybe you have pppd set up waiting for an incoming call on a modem line, maybe getty is good enough, maybe you've been selling these systems so long that you've got DOS and a five-year-old copy of Closeup. Whatever you have, it works, but all too often you've got to call your customer and have them go over and do something to the system you sold them. The PC Weasel, out of the box, can do a lot toward making those calls disappear: the watchdog timer will hide persistent problems, and the reliability of not counting on remote-access software loaded after the OS will keep you from needing to call and ask someone to kick the hardware (or worse, sending someone driving/flying to do the same job), but the PC Weasel can be made to do more. By writing your own software to run on the PC Weasel, you can make the Weasel smart about the problems you face. For example, you could change the watchdog timer to automatically call your pager to let you know something went wrong rather than simply resetting the computer. Or if you want to get fancy, you could write software to watch the screen automatically for specific messages and type preconfigured commands when they are seen, perhaps restarting your crashing software or performing a soft reboot rather than an imperious hard reset. The PC Weasel includes a software API and information (including sample code snippets) on writing custom software to run on the card, independent of the system CPU.