Bpq32 Log options

John G8BPQ has made it possible to move the log dir of linbpq and pilinbpq. Nice

I’ve uploaded versions of linbpq and pilinbpq to my beta download site
that allow you to move the log directory. Start with a command line
parameter of logdir=directory, eg

../pilinbpq logdir=/dev/shm


You can download the new version here.


LinBPQ Applications Interface.

LinBPQ has a facility to make a tcp connection from the node to an application running on the same machine. This was originally intended to connect to a shell to enable basic configuration editing, but has been generalised to allow connects to other tcp ports, thus allowing you to write your own applications to be used with LinBPQ.

Ok, that sounds nice. Let give it a try.

Fist setup Linbpq, add de “cmdport” to the telnet port section.

I have add “CMDPORT 63000” but it can by any number.

Now add a Application at the end of de bpq32.cfg

Now we have to add some stuff to /etc/services and /etc/inetd.conf



Now restart inetd. sudo killall -1 inetd

I have found a small script on the internet and make some adjustments.
This script is using some perl modules that has to be installed.

The testapp.pl script. /usr/local/linbpq/testapp.pl

Now we can run the script from linbpq. Let give it a try.


LinBPQ with Winmor port.

With the help of the config file of Jerry, N9LYA and some help from John, G8BPQ I have setup a Winmor port on my Linbpq.I use a Microham USB II as soundcard device connected to my Windows PC and a direct Cat kabel from my Linux PC to control the TRX.

Here is the section for the Winmor port. (BPQ32.CFG)


Winmor Status screen from Linbpq


Tnx for the help Jerry and John.

DireWolf/Linpq with Systemd.

I have a bad time behind me, I have had a lot of arguments with Systemd to start DireWolf and Linpq when booting 🙂
If you like Systemd, you can read some about it here https://en.wikipedia.org/wiki/Systemd

I want Linbpq to run under /dev/tty2 and DireWolf under /dev/tty3. This is because if I login remotely I can view the monitor from DireWolf with “conspy”. “conspy 3” Hit esc a few times to leave conspy.

Systemd does not want to accept the start line with >/dev/tty3 &

This upper start line does not work.

So I had to come up with something else for that. So i wrote a start file. “direwolf.start”

Now i wrote a unit file to start DireWolf on boot.

Now DireWolf is starting very nice on /dev/tty3

I had the same problem with Linbpq, which I solved in the same way.

Linbpq start file “runbpq”

The unit file “linbpq.service”

Ok, let’s see if it is running

Now have a look at /dev/tty2 “conspy 2”


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 to LinBPQ config

John WQ6N has found a solution for direwolf and Linbpq that works very well for HF.




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.


Examples forward JNOS/BPQ/LinFBB

Here below some examples how the configuration of the forward in different systems works.

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

Copyright ©  http://www.langelaar.net/jnos2/


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.
(bron http://www.prinmath.com/ham/bpqHOWTO.htm)

Tevens is er een Quickstart guide http://www.prinmath.com/ham/howto/quickstart/

Het perl script wat Willem AC0KQ heeft geschreven http://www.prinmath.com/ham/bpq-config

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 http://www.prinmath.com/ham/bpq-config
      • 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 http://www.cantab.net/users/john.wiseman/Documents/InstallingLINBPQ.htm

sudo mkdir linbpq
cd linbpq
sudo wget http://www.cantab.net/users/john.wiseman/Downloads/Beta/pilinbpq
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
https://dl.dropbox.com/u/31910649/HTMLPages.zip into it.

sudo mkdir HTML
sudo wget https://dl.dropbox.com/u/31910649/HTMLPages.zip
sudo unzip HTMLPages.zip


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 http://www.cantab.net/users/john.wiseman/Documents/Samples/APRSHTML.zip

cd ~/linbpq
sudo mkdir BPQAPRS
sudo wget http://www.cantab.net/users/john.wiseman/Documents/Samples/APRSHTML.zip
sudo unzip APRSHTML.zip

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.new 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