SCS Tracker TNC and new BPQ32 Node

Sample config file based on a system off John, kx4o.

Jeff have made some comments about it.


Direwolf and Jnos

The scipt…. Small but work quit well

This is what i found in the change.log of Jnos

This is some monitor output of Direwolf.

Dire Wolf version 1.3

Reading config file /direwolf/direwolf.conf
Audio device for both receive and transmit: plughw:0,0 (channel 0)
Channel 0: 1200 baud, AFSK 1200 & 2200 Hz, E+, 44100 sample rate.
Ready to accept AGW client application 0 on port 8000 …
Use -p command line option to enable KISS pseudo terminal.
Ready to accept KISS client application on port 8001 …

Connected to KISS client application …

[0L] PD2LT-2>NODES:<0xfe>

PD2LT-2 audio level = 14(3/3) [NONE] |||||||__
[0.3] PD2LT-2>NODES:<0xfe>

PD2LT-9 audio level = 14(3/3) [NONE] ||||||||_
[0.3] PD2LT-9>NODES:<0xff>LAPNOS

SCS Tracker Driver for BPQ32 switch


This driver allows BPQ32 applications to make and receive Robust Packet or HF Packet calls using the SCS Tracker TNC. This driver is intended for using the Tracker on HF for forwarding, and only allows one connect at a time. For normal VHF operation or user access on HF, there is a separate driver, SCSTrackerMulti, that supports multiple connections (but not scanning).

Although the Tracker is an ax.25 controller, the driver only allows it to be used by one session at a time, so you must use the ATTACH command to allocate the port before making a call. So if your Tracker port is BPQ32 port 3, enter


Possible responses are:

#BPQ11:GM8BPQ-2} Ok

#BPQ11:GM8BPQ-2} Error – Invalid Port   // Port is not a Tracker port.

#BPQ11:GM8BPQ-2} Error – Port in use   // Port is in use.

Once attached to a port, you can issue commands to the TNC. These are the same as you would use to control the Tracker from a terminal, except that you don’t type an ESC before each command.

You can also select which mode a connect will be made in be entering HFPACKET or RPACKET. So to make a Robust call, enter


For a normal (300 Baud HF Packet) call enter:



The driver configuration is specified in the bpq32.cfg file

The driver is defined to BPQ32 as an External port, and needs some driver-specific configuration

The first line of the config defines what BPQ Application incoming calls should connect to. If omitted, calls go to the command handler.

If you are using the Rig Control feature for scanning, add the RIGCONTROL command next.

If you want to listen for both normal and Robust packet connects, use the SWITCHMODES n command. This specifes how long to spend in each mode. Note Rigcontrol will override this.

If you want users to be able to connect to any of your applications, use the USEAPPLCALLS command.

If you want the controller to start in Robust mode, and return to that mode after a connect, use DEFAULT ROBUST

All commands that are essential to run with BPQ32 are sent automatically. You only need to include any special setup you need.

The commands that are preset are in two groups. One set is sent before the commands you specify, so can be changed. The others are sent after your commands, as they are essential for correct operation with BPQ32.

Sent before your config

Sent after your config

MYCALL is set to the PORT config PORTCALL if specified, otherwise to NODECALL. Any MYCALL in the config file is ignored.

Other possible configuraton parameters are:

Only use Robust Packet. Disable any switch to Normal Packet

send Frequency info to the WINLINK database. See here for details.

The modem logs connects to the Nodemap if you have specified a LOCATOR in your BPQ32.cfg. If you specify UPDATEMAP, stations heard will also be sent to the map.

Send Beacon after each session

Sample SCS Trcker Configuration

© John Wiseman GM8BPQ/G8BPQ

SCS Tracker Multiconnect Driver for BPQ32 switch


This driver allows the SCS Tracker TNC to be used in Host Mode for user access to BPQ32 applications. The Tracker can be used in KISS mode for this purpose, but the Tracker’s dynamic parameter tuning works only in Host Mode. There is a separate driver, SCSTracker that supports scanning, but only a single connect at a time, primarily for use for BBS forwarding.


The driver configuration is specified in the bpq32.cfg file

The driver is defined to BPQ32 as an External port, and needs some driver-specific configuration

All commands that are essential to run with BPQ32 are sent automatically. You only need to include any special setup you need. Any Tracker Commands can be entered. The PACKETCHANNELS command is used to set the number of connects accepted (Default is 10)

The commands that are preset are in two groups. One set is sent before the commands you specify, so can be changed. The others are sent after your commands, as they are essential for correct operation with BPQ32

Sent before your config

Sent after your config

MYCALL is set to NODECALL. Any MYCALL in the config file is ignored.

Sample SCS Tracker Multi Configuration.

© John Wiseman GM8BPQ/G8BPQ

Systemd / Systemctl and Linbpq

Update : Okay, i relay dont like systemctl….
apt-get install sysvinit  / apt-get install openbsd-inetd / apt-get purge systemd / reboot

Debian Jessie uses the “new” systemd. No more inittab and inetd.conf. So a unit file must come up for this.

Now let`s check all startup nicely.

Up and running

Forward from linbpq through uronode to fbb.

There were some problems getting the forward from linbpq through a uronode to a linfbb bbs. I spent a while testing to see if we could get things going. It actually works pretty well.

I have add the following connection script to linbpq

ATT 3 stands for attach port 3, and port 3 is in my system the telnet port.

Furthermore, in uronode.conf I have created an Alias with the name BBS. So if the command BBS is given in uronode, you will be connected with linfbb.

We can test whether the forward script does what it is supposed to do. Let’s start the forward in Linbpq.

Log file of Linbpq

Okay looks good.

Bind bpq to ax25 interface

I’m using uronode as front end node, but i’m also like to connect to different packet software.
This time it’s linbpq. Lets go…..

First of all bpq32.cfg
Change the comport to COMPORT=/dev


Now the linbpq start file

Ok let’s look it ok now

ps ax | grep kissattach

Now have a look in bpq32.cfg

Here you see there is a PTS couple /dev/pts/16 and /dev/pts/17

So we are good to go.

The route to pi1lap-9 is there in uronode. Let’s try a connect.


Voorbeeld forward JNOS/BPQ/LinFBB

Hier onder een aantal voorbeelden hoe de configuratie van de forward in verschillende systemen in zijn werk gaat.

Thanks in particular to Bob (VE3TOK) and Gus (I0OJJ) for example configs !

Copyright ©


Installing BPQ on the Raspberry Pi and TNC-Pi or Beaglebone Black and TNC-Black

Willem AC0KQ heeft een grafische bpq-config programmaatje schreven. Hier onder de uitleg.

Tevens is er een Quickstart guide

Het perl script wat Willem AC0KQ heeft geschreven

Willem A. Schreüder AC0KQ

The purpose of this HOWTO is to describe how to install BPQ on a Linux Single
Board Computer (SBC) such as the Raspberry Pi or Beaglebone Black.

BPQ is a very sophisticated NET/ROM compatible packet switch written by John
Wiseman G8BPQ. BPQ can be configured to be a sophisticated Packet BBS, a
WinLink2000 RMS gateway, an APRS iGate, or any combination of these.

One of the hurdles to setting up BPQ is that the configuration file can be
rather difficult to set up. To ease this, this HOWTO uses a program named
bpq-config which makes it easy to create the initial configuration.
While bpq-config is primarily intended to create the initial
configuration file which you can then modify, it is actually capable of creating
a fairly sophisticated configuration file using a menu-driven interface.

Much more detail about BPQ are provided at
G8BPQ Home Page

At this time bpq-config only supports the Raspberry Pi and Beagle Bone
Black with John Hansen’s TNC-Pi and TNC-Black. This is because these are fairly
predictable environments. However, with little modification bpq-config
can also be used with other systems.

If you have any corrections or comments about this HOWTO or bpq-config, please
email me. I get lots of junk mail, so
add BPQ to the subject line to get it by my spam filters.


If you want to use BPQ as an RMS gateway to WinLink, you need to obtain authorization from the WinLink folks. See this link on how to do that.

To send APRS position reports to the APRS-IS via the APRS Tier 2 Network a
password is required. However, bpq-config contains a function to
generate that password for you, so no additional authorization is required.

Computer Hardware

The Raspberry Pi and Beaglebone Black are available from numerous sources. The
price for a Raspberry Pi 2 or 3 is $35 from mail order vendors such as
MCM Electronics.

The Raspberry Pi B or B+ is sufficiently fast to run BPQ, so you can use that if
you happen to have one. The TNC-Pi works with all of these models.

The Raspberry Pi has the advantage of a very active user community, which makes
it the best supported device. The disadvantage of the Raspberry Pi is that it
has only one serial port, so if you want to use more than one TNC you need to
use the I2C bus to address the TNCs, which requires a bit more work.

The Beaglebone Black is has a street price around $50. It has the advantage of
a more mechanically stable mounting arrangement and four serial ports which
makes multiple TNC easy to mount and use.

The disadvantage of the Beagle Bone black is that it is not as well supported as
the Raspberry Pi so getting it configured is a bit more work.

TNC Hardware

  • The TNC-Pi is available at Coastal Chipworks
    either built or as a kit. Get the kit, it is easy to build and lots of fun.
    The instructions are almost as good as the old Heathkit manuals.
  • For most locations you need some sort of enclosure. I use the Bud
    Industries Pi Sandwitch which allows the Raspberry Pi and TNC Pi pair to be
  • The rPi runs on 5V, so for a 12V system you need a converter to supply 5V
    at 1A continuously. The 7805 style regulators generate a lot of heat at that
    current so I use the Murata 78SRH-5/2-C instead, which will work for input
    voltages from 8-32V DC. I use a right angle Micro USB cable which I cut to
    wire for power. If the cable uses standard color codes, white and red are data
    which you can ignore, red and black are positive and negative.
  • The rPi needs an SD card to store the software. The Model B uses a
    standard size SD, the Model B+ uses the Micro SD format. A high speed and
    reliable card is critical, so getting a 16GB Class 10 card is recommended. The
    bigger card should last longer since the wear is spread over a larger space.
    Get a spare since the cards do wear out eventually.

    Configuring the OS

    Raspbian switch to systemd starting with jessie (Debian 8). These instructions will work
    only with this latest version of Raspbian. For older versions see
    these instructions.

    • Download Raspbian which is
      Debian for the Raspberry Pi. There are several other OS versions, but this one is my
      choice as a pretty vanilla Linux distro. Unzip the image from the ZIP file and follow

      these instructions
      to burn the image to the SD card.
    • Insert the card into the Pi and boot it. You can either
      • Connect a keyboard and monitor and log in directly.
      • Connect the pi to a network running DHCP and ssh into it. The hostname willshow up as RASPBERRY in the DHCP leases on your router.
    • Log in to the computer using user name pi and password raspberry.
    • Run sudo raspi-config
      • Expand Filesystem
      • Change User Password
      • Internationalisation (set time zone)
      • Advanced options (hostname)
    • Install new packages
      • sudo apt-get install vim telnet minicom i2c-tools libpcap0.8
    • Add new user with administrative privilidges
      • sudo adduser username
      • sudo adduser username sudo
    • Free up the serial line the TNC-Pi will use.
      • sudo systemctl mask serial-getty@ttyAMA0.service
    • Reboot the system to make sure the serial line is released.
      • sudo reboot

    Install and configure BPQ

    • Log in using the new user created above.
    • Create the BPQ sub-directory
      • mkdir BPQ
      • cd BPQ
    • Download bpq-config, make it executable and run it
      • wget
      • chmod a+x bpq-config
      • sudo ./getbpq
    • bpq-config is menu-driven, so just follow the menus.Generally you would do the following things.
      1. Download the BPQ software.
      2. Configure BPQ
        1. Configure the node.
        2. Configure one or more ports.
        3. Configure one or more telnet users.
        4. Optionally add one or more AXIP node maps.
        5. Write the configuration.
      3. Start BPQ and test it.
      4. Set BPQ to automatically start on boot.

    Using BPQ

    • Connect to BPQ using your web browser by typing inhttp://X.X.X.X:8008/on the URL bar, where X.X.X.X is the IP address of your BPQ node
    • You can connect to BPQ node from any computer on the LAN usingtelnet X.X.X.X 8010
  • Log in using your BPQ user name and password set for the Telnet user.

HOW TO install linbpq on a Raspberry Pi

Write jessie image to SD Card

Bootup RPi and connect to your WLAN and change the Raspberry Pi Configuration:
– expand file system
– rename host name
– enable I2C interface
– set keyboard to United States, English (US, with euro on 5)
– set timezone Europe Amsterdam
reboot the RPi

update system

sudo apt-get update
sudo apt-get upgrade

Reboot your Pi

sudo reboot now

Instructions can also be found on

sudo mkdir linbpq
cd linbpq
sudo wget
sudo mv pilinbpq linbpq
sudo chmod +x linbpq

If you want to use UDP or TCP ports below 1024, or the BPQEther Driver, you must also set some capabilites on the file
(or run as root, wihch is not advisable). You may need to install setcap if it isn’t already on your system – sudo apt-get install libcap2-bin
or the equivalent for your disatribution.

sudo setcap “CAP_NET_RAW=ep CAP_NET_BIND_SERVICE=ep” linbpq

You also need some web pages for the management interface. Create directory HTML (capitals) under your linbpq directory, and download and unzip into it.

sudo mkdir HTML
sudo wget
sudo unzip


The Web server is configured in a similar way to the UI-View web server, although there are minor differences. The “Base Directory” for pages and files is
folder BPQAPRS/HTML, under your BPQ32 Data Directory. The simplest way to get it working is to take a set of pages, and tailor them to your requirements. A
typical set may be downloaded from

cd ~/linbpq
sudo mkdir BPQAPRS
sudo wget
sudo unzip

Change the rights for linbpq to pi:pi

cd ~
sudo chown -R pi:pi linbpq

Configuring linbpq

The linbpq software is configured by the file /home/pi/linbpq/bpq32.cfg. The configuration is well described in the documentation. See example for my bpq32.cfg file

sudo nano /home/pi/linbp/bpq32.cfg

Run linbpq for the first time

cd ~/linbpq
sudo -u pi ./linbpq

Create a script /home/pi/linbpq/runbpq containing:

cd /home/pi/linbpq
sudo -u pi mv linbpq
sudo -u pi ./linbpq >/dev/tty2

make it executable

sudo chmod +x /home/pi/linbpq/runbpq

Add user pi to group tty

sudo adduser pi tty

Create file /etc/systemd/system/linbpq.service containing:


ExecStart=/bin/bash /home/pi/linbpq/runbpq



To start the service at bootrun command:
sudo systemctl enable linbpq.service

To stop the service at boot run command:
sudo systemctl disable linbpq.service

To restart the service at boot run command:
sudo systemctl restart linbpq.service

You need to run setcap each time you download a new version of linbpq.

cd linbpq
sudo setcap “CAP_NET_ADMIN=ep CAP_NET_RAW=ep CAP_NET_BIND_SERVICE=ep” linbpq