A SerialConsole allows you to access your server via it's serial port. This is useful if you need to shut the machine down to single user mode, see boot messages or accidentally misconfigure your networking. Many server boards (Intel, SuperMicro? etc) can also redirect the BIOS output to the serial port allowing you to reconfigure your bios remotely.

Sometimes you may have a serial cable that's too short, or you would like to run the serial console through a patch panel. To do this the best solution is to use some CAT5 and a couple DB9->RJ45 adapters. Below is the wiring for the adapters I use (these are cheaper):

Cards offering 2, 4, or 8 serial ports are also available, for example (2 port) (8 port)

Notes on setting up SerialConsoles?

How do i set this up under linux?

There's lots of howto's, some can be found here and here. Basically, you need a program to listen for incoming serial comms (a "getty" program, for "get tty" or console), and a serial comms program such as minicom.

On Debian, all that's needed is usually editing of /etc/inittab, then restarting init using 'telinit q'. Minicom may need to be started using -o (do not initialize modem & lockfiles at startup).

Some of the newer multi port serial cards like the SIIG PCI Serial 8000 Plus require the following to work in Linux.

  • apt-get install setserial
  • Add the following to /etc/serial.conf
/dev/ttyS4 baud_base 1152000
/dev/ttyS5 baud_base 1152000
/dev/ttyS6 baud_base 1152000
/dev/ttyS7 baud_base 1152000
/dev/ttyS8 baud_base 1152000
/dev/ttyS9 baud_base 1152000
/dev/ttyS10 baud_base 1152000
/dev/ttyS11 baud_base 1152000

No, that's not a typo - 1152000 not 115200. Other values which might work for some card variants are 921600.

I want to have a serial line between two machines, so I can access either machine via serial

The short answer is, you can't. You run a getty on one end of the serial line, and minicom or some other serial terminal on the other. If you run a getty on both ends, you won't be able to minicom over it as it locks. You'll have to run two cables between your machines.

I want to use a serial console

If your motherboard supports serial redirection (as any good server board should) this is easy - it'll just work, if it's enabled in the bios. Connect to the serial line via minicom, and you should see boot messages. Note that the serial port will probably still be set at 19200 bps or so at this stage.

If your motherboard doesn't support serial redirection, you won't ever get BIOS access over serial, but you can still get everything after the bootloader starts. See GrubNotes for information on setting up Grub with a serial console.

Connecting to Cisco kit

Grab one of the aforementioned DB9-RJ45 connectors (see further up the page). Go here and join the pins up according to the "CONSOLE Port" and "DB9 Pin" columns. Then you can use a standard Cat5 patch cable to connect the RJ45 connector on the adapter, and the RJ45 connector on the back of your switch/whatever, or run your console through a patch panel, etc.

(Note that the adapter you've just created is not the same as the one that (used to?) ship with Cisco gear - they're designed for rollover cables)