Configuring Serial TNC Ports
Terminal-Node Controllers (TNC) or radios containing built-in TNCs
are connected through a computer serial port using the KISS protocol.
To add a new TNC port, click the Add button on the Configure
Ports tab. The port editing dialog will appear. Set the port type
The other parameters you will need to specify for the TNC are:
- the name of the port to which the TNC is connected. On
Microsoft Windows, this will be a COM port (
COM2, etc.). On Linux, this
will be a /dev/ttyS port (ex.
or a USB serial port (ex.,
Similar device names will be used on other Unix derivatives. Note
that on Linux and Unix systems, you will need the access right to
access serial ports. Typically, this will be membership in a group
owning the serial ports, such as
You will also need the access right to write a lock file into the
lock file directory on your system. Typically, this will be
membership in the
NOTE: The Fedora Core 15 distro of Linux has a known incompatibility
with the RXTX library used by YAAC to access the serial ports, due
to moving the lock directory to a place not known to the RXTX
library. To work around this, ensure that the
directory's group is
has group write privilege, and that your account is a member of the
lock group as mentioned above.
- The baud rate at which the TNC will be communicating with the
9600 baud). Ensure that the TNC is set to the same speed as you
configure this port to. Note this is independent of the baud rate
transmitted over the radio (1200 baud on 2 meters, 300 baud on HF,
and 9600 baud on UHF). Note also that this may be meaningless for
TNCs or radios with direct USB connections, such as the Kenwood TH-D72.
For devices where the baud rate is meaningless (or where the operating system's
driver for the serial port actually fails if YAAC attempts to configure the
port baud rate), the baud rate can be specified as blank, indicating that YAAC
should not try to set the baud rate at all.
- The callsign you will be using to identify your transmissions
over this port. This should be your legal government-assigned
callsign with an optional numeric SSID suffix from 1 to 15.
- Whether or not you want to allow YAAC to make transmissions
through the port. If left disabled, you will only be able to
monitor APRS traffic through this port. You must specify a callsign
to be able to transmit.
- Whether your TNC requires hardware flow-control (using the RTS and
CTS modem control signals) to be enabled for your TNC. Note this is
only useful if actual RS232 connections are being used with at least 5
wires in the cable. Also, specify whether the DTR signal should not be activated;
normally, the DTR signal should be enabled to indicate to an external modem
device (like a TNC) that the computer is present and powered up. However. some
modems perform hardware flow-control with the DTR signal instead of the RTS signal,
which is not presently supported by YAAC (actually, not supported by the RXTX
library used by YAAC).
- The command for YAAC to issue to switch the TNC into KISS mode.
Most TNCs use the command set introduced with the TAPR TNC-2, start up in command mode,
and switch to KISS mode with the commands:
However, not all TNCs are TNC-2 compatible. Some TNCs are built for KISS-only, and
do not need to be switched. The Kamtronics KPC-3 and Byonics TinyTrak TNCs use
non-TNC2-compliant commands to enter KISS mode (and the TinyTrak can only be switched
immediately after the unit is rebooted). In any case, you need to specify
the correct command if one is needed for your TNC; if you do not specify one,
YAAC will default to assuming a KISS-only TNC (or one manually pre-configured to
default to KISS mode). You may select one of the other known types from the
drop-down list, or type a command sequence of your choice (using \r to represent
the carriage return character). Only if a command was needed to switch your TNC
into KISS mode will it be automatically switched out of KISS mode when YAAC is exited.
The following escape sequences may be used in the command expression:
|\r||Send a carriage return control character and pause sending for 300 milliseconds.|
|\n||Send a newline or linefeed control character.|
|\t||Send a horizontal tab control character.|
|\0||Send a null control character.|
|\\||Send a backslash character (this is needed to differentiate a literal backslash from any other escape sequence).|
|\f||Send a form feed control character.|
|\'||Send a single quote or apostrophe character.|
|\e||Send an escape control character.|
|\"||Send a double quote character.|
|\w||Don't send anything, but wait for 1 second.|
- The sub-list of aliases that will be digipeated through this
port, based on the total list of known aliases defined in the
general configuration. If
YAAC receives a message with one of the checked digipeat aliases
and this port is enabled for transmission, the message will be
re-broadcast through the radio on this port. If no aliases are
selected, this port will not digipeat. Multiple aliases can be
selected. The aliases must also
be enabled for digipeating on the configuration dialog's Digipeat tab.
- Which of potentially several beacon definitions will be transmitted
through this port. If none is checked when the port configuration is
saved, the default beacon will be used (and will show up as checked when
this configuration panel is next opened). To specify that a beacon should
not be sent out this port, a beacon should be selected that is not enabled
on the Beacon tab of the expert-mode configuration dialog.
- The protocols that can be transmitted through this TNC. Generally, only one
protocol should be used on a given RF channel to avoid confusion of other stations
and wasting of bandwidth. Which supported protocols should be transmitted out
a TNC port is specified by checking the corresponding checkboxes.
Note that YAAC will support receiving all protocols through one TNC port, recognizing
which protocol is in each AX.25 frame by the PID field; this merely restricts which
protocols YAAC will send on a port.
- Whether transmission through this port should be delayed until an assigned timeslot
at some offset after the beginning of a repeating interval.
The "Test Port" button provides a means of verifying that you have connected to the correct place;
it opens a terminal window connected to the configured serial port so that you can manually
test the TNC for the desired operation. To complete testing, close the terminal window.
Once you have the settings the way you want them, click OK. Ensure
that the TNC is connected to the port before you click OK. At that
time, the port will issue commands to the TNC to put it in KISS mode,
and then wait for AX.25 packets to arrive.