CRI Radio

Apr 23, 2007

nullmodem

image image
nullmodem - a Utility to loopback Pseudo-Terminals

The Story

Don't you know the problem?

1.) You are programming some software that connects to the serial interface of your computer (e.g. some modem software) and you want to test your software without any modem (because it's already in use, isn't it?). So you need two computers and a so called nullmodem with TXD and RXD lines crossed.

But you can do it in a much better way, because you've got a Linux machine: You can connect two equal instances of your program with this nullmodem utility.

2.) You have a connection problem with Pseudo-Terminals (ptys) where one program should connect to an existing pty, but you want to start and stop the program that opens the pty-master. So you need some kind of an adapter: nullmodem.


My Application
image
my application of nullmodem

I'm using nullmodem for my packet-radio station to connect a softmodem with the linux kernel using the KISS protocol.
This has the advantage that it's possible to exchange/restart the softmodem without terminating the level-2 (AX.25) connection of the transmission protocol. This is very advantageous if you play with some parameters of a softmodem.

I'm even using nullmodem for a pure loopback based on the KISS protocol. So I can initiate connections to my own computer without going "on air".

nullmodem can be seen as a generalization of Frederic Rible's (F1OAT) kissnetd that is optimized to transport KISS packets.

If you know some other applications of this program, please let me know. Maybe it's possible to use nullmodem for a local SLIP loopback - but I've not tested this.

Documentation

For documentation look at the man page of nullmodem.

ChangeLog

nullmodem 0.0.4 - Wed, 3 Aug 2005 20:16:59 +0200

  • a few cleanups

nullmodem 0.0.3 - Sat, 24 Jul 2004 18:31:44 +0200

  • many code cleanups and improvements by J. Carter:
  • class{}ified program
  • using STL containers
  • added lock files
  • more cleanups and improvements by my:
  • added --setuid --setgid options
  • some latency improvements

nullmodem 0.0.2-1 - Sun, 10 Aug 2003 19:58:23 +0200

  • updated to debian Standards-Version: 3.6.0

nullmodem 0.0.2 - Fri, 21 Mar 2003 08:35:01 +0100

  • small fixes for g++-3.2

nullmodem 0.0.1 - Wed, 6 Nov 2002 21:00:01 +0100

  • Initial Release.
Download

I've prepared a debian package for this program. You can download this via
apt-get update; apt-get install nullmodem
if you configure your system to include my debian repository.

Published on