fritz.potsdam.edu
Kerm and Serial Terminal Server

Kerm and Serial Terminal Server


I built a serial terminal server using an Equinox (now Avocent I guess), SST board. Tons of RJ45 serial ports. I needed a scalable way to handle sysadmin logins to our server farm. While kermit works perfectly, it isn't designed to handle multiple settings well by itself.


Kerm -- kerm-1.01.tgz
This is a wrapper for kermit written in Perl that makes things very easy. The kerm program looks at a config file at /etc/kerm.conf, which consists of several configuration lines, one per server or serial device: a tag name and options to pass to kermit. The order of the options does matter somewhat, and kermit will complain if something is wrong.

Installation:
Create an /etc/kerm.conf following the format below. Put kerm somewhere in your path. Also, you will need the Proc::Processtable perl module installed.

Sample /etc/kerm.conf:
# Comments are allowed
# So are blanks

box0         "set line /dev/ttyQ1a1","set speed 9600","set modem type none","set flow rts/cts"
box1         "set line /dev/ttyQ1a2","set speed 19200","set modem type none","set carrier-watch on"
box2         "set line /dev/ttyQ1a3","set speed 9600","set flow rts/cts","set quiet on"

Kerm usage:
# kerm
kerm SERVER     #connect to server
kerm -l         #list servers and ttys sorted by server
kerm -t         #list servers and ttys sorted by tty

# kerm box0

Raising Skinny Elephants Is Utterly Boring

Connecting to /dev/ttyQ1a1, speed 9600
 Escape character: Ctrl-\ (ASCII 28, FS): enabled
Type the escape character followed by C to get back,
or followed by ? to see other options.
----------------------------------------------------
[serial session starts here]

[serial session ends with Ctrl-\C]
(Back at serialbox)
----------------------------------------------------
# 

Other escape sequences can be seen by typing CTRL-\, then ?.  Do a 'man kermit'.