BPQ Home   LinBPQ Guides

Simple Kiss Terminal


LinBPQ can be configured to allow a KISS TNC to operate in a similar way to a TNC2 connected to a dumb terminal. This document details setting up such a system on a Raspberry PI with a TNC-PI but the same ideas could be applied to other configurations.

I've written a simple script to download, install and configure LinBPQ. The script can be seen here, and the configuration file bpq32.cfg it installs here
First download the installation script. I suggest you download to the home directory of user pi.

wget http://www.cantab.net/users/john.wiseman/Documents/Files/simplekissinstall

Then run it:

pi@pi1 ~ $ sh simplekissinstall

This should create a directory linbpq and install the needed files. When it has finished, cd to linbpq and check the contents. It should be similar to

pi@pi1 ~/linbpq $ ls -ltotal 2840
-rw-r--r-- 1 pi pi 751 Feb 14 22:06 bpq32.cfg
-rwxr-xr-x 1 pi pi 2438141 Feb 14 22:05 linbpq
-rw-r--r-- 1 pi pi 89 Feb 14 22:06 minicombpq
-rw-r--r-- 1 pi pi 1861 Feb  9 13:38 minicom.diff
-rwxr-xr-x 1 pi pi 377837 Feb  9 12:02 piminicom
-rw-r--r-- 1 pi pi 63760 Feb 20  2012 Ring.wav
-rw-r--r-- 1 pi pi 330 Feb  9 13:30 window.diff

Only the first two are needed, the purpose of the others will b described later. Start linbpq. You should see something like

pi@pi1 ~/linbpq $ ./linbpq
G8BPQ AX25 Packet Switch System Version November 2018
Copyright  2001-2018 John Wiseman G8BPQ
Current Directory is /home/pi/kissterm/linbpq

Configuration file Preprocessor.
Using Configuration file /home/pi/kissterm/linbpq/bpq32.cfg
Conversion (probably) successful

PORTS 1e7870 LINKS 1e860c DESTS 1eb50c ROUTES 1f1a9c L4 1f349c BUFFERS 1f989c

Route/Node recovery file BPQNODES.dat not found - Continuing without it
Initialising Port 01     ASYNC /dev/ttyAMA0 Chan A
slave device: /dev/pts/1. symlink to /home/pi/linbpq/com10 created
slave device: /dev/pts/2. symlink to /home/pi/linbpq/com11 created
TNC Emulator Init Complete

Two virtual COM ports have been created, and attached to the TNC2 emulator within linbpq. You only really need one, but with two you can be using one terminal, and still be able to accept calls from others on the second. I've used minicom as a terminal, but other similar terminals should work. You need to leave linbpq running (there are ways of running it as a background process, but for now keep it simple), so you need to open another window to run the terminal in. If using the GUI open another lxterminal. If you are using the PI console, use ALT+F2 to switch to another console. Log in and cd to the linbpq directory. Run minicom. It needs two parameters, the virtual com port to use, and an initialisation script.

pi@pi6 ~/linbpq $ ./piminicom -D /home/pi/linbpq/com10 -S minicombpq
Welcome to minicom 2.7
Modified Jan 2014 by John Wiseman G8BPQ to play a sound file for the BELL code
Compiled on Feb  9 2014, 11:54:24.
Port /home/pi/linbpq/com10, 22:02:01
Press CTRL-A Z for help on special keys

cbell on
CBELL    was OFF

You can now enter TNC2 commands. You can turn monitoring on with MON ON, and you should then see any packet activity on the channel. You can connect to other stations, using C Callsign. One difference from a real TNC2 is that you are connecting through a node, and if a connect fails, you remain connected to the node. You need to enter CTRL/C D to get back to the tnc prompt.
So long as you have CONOK set to ON, people can connect to you, but only if the session is idle. If you want to be able to receive calls while connected, you can open another window and run another copy of minicom. Just replace com10 in the command line with com11. If someone connects to you, LinBPQ will send a bell character to the terminal, but there seems to be a problem with the console driver on the PI, and no sound is heard. I have patched minicom to play a sound file called Ring.wav when a bell is received. The patched version is called piminicom. I've included a sample Ring.wav, but if you don't like it you can use another.

John Wiseman G8BPQ
November 2018