Configuring Bluetooth TNC Ports
Terminal-Node Controllers (TNC) or radios containing built-in TNCs
can be connected over a local Bluetooth network to devices supporting the
Serial Port Profile (SPP) and speaking standard KISS protocol over the SPP
network connection.
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
to Bluetooth_TNC.
NOTE: This may fail to work on 64-bit and/or non-Intel processor distributions of Linux,
as only a 32-bit Intel-processor Linux native library for accessing the Bluetooth stack
is included with the YAAC Bluetooth plugin. Install the distribution's native version of
libbluetooth or BlueZ, using one of the following commands (depending on your distribution and
its choice of software upgrade utility):
Debian/Ubuntu derivatives: apt-get install libbluetooth libbluetooth-dev
Fedora and Red Hat: dnf install bluez-libs
The other parameters you will need to specify for the TNC are:
- the network address of the Bluetooth device to be paired with YAAC.
When the configuration window is opened, it will automatically initiate a scan
of the local Bluetooth network; the system wait cursor will be displayed over
the Bluetooth configuration window until the search is completed. Note that the
search will not report all nearby Bluetooth devices, but only those that support
the Serial Port Profile (SPP).
- 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.
- 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:
KISS ON
RESTART
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:
Escape sequence | Meaning |
\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. |
- Whether the radio on this port is tuned to the HF bands. By default,
YAAC assumes usage on the VHF and UHF bands where higher bandwidths are
permitted and digipeating is normally used.
- 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.
- 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, and how long this timeslot is before
the next timeslot (presumably assigned to some other station) starts.
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 Bluetooth device 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 Bluetooth device before you click OK. At that
time, YAAC will issue commands to the TNC to put it in KISS mode (if configured to do so),
and then wait for AX.25 packets to arrive.