Jump to content

LinBPQ

From HamWiki
LinBPQ
TypePacket radio node, BBS and chat server software
Developed byJohn Wiseman, G8BPQ
Windows versionBPQ32
LicenseFree, open source (GNU GPL version 3 or later)
In use
PlatformsLinux, including the Raspberry Pi; Windows as BPQ32
Main partsNode, mailbox BBS, chat server, APRS functions
Radio linksKISS TNCs and sound-card modems such as Direwolf, plus HF modes
Internet linksAX.25 over IP and UDP, telnet, web management

LinBPQ is the Linux version of BPQ32, a suite of packet radio networking software written by the British amateur John Wiseman, G8BPQ. A single program turns a computer into a packet node, a station that other hams connect to and pass through to reach the rest of a network, and can also run a mailbox BBS (bulletin board system), a chat server and APRS functions. BPQ32 runs on Windows, while LinBPQ is popular on the Raspberry Pi because a small, low-power computer can run a node unattended for months. Where regional packet networks are still active, often kept ready by emergency communications groups, BPQ is one of the most common node packages on them.

Background

BPQ software dates back to the DOS era of packet radio. G8BPQ's node was compatible with NET/ROM, the most widely used node system of that era, which keeps routing tables so a user can connect to a distant node by name; his node command guide dates from 1993. The program later grew into a complete package that remains under active development; its source code, published on GitHub, carries the GNU General Public License, version 3 or later.

Main parts

  • Node. Users connect by radio or over the internet and get a command prompt from which they can list other nodes, connect onward and reach the node's applications.
  • BBS. The mailbox stores personal messages and public bulletins. Users list, read and send mail, and the BBS forwards messages to other BBSes, using hierarchical addresses that let a message cross a country one relay at a time. It can exchange mail with other common BBS programs and offers a browser-based webmail page.
  • Chat. A chat server lets users on different nodes join a shared conversation, a packet equivalent of a net or chat room, and chat servers can be linked across the network.
  • APRS. The software can run APRS digipeater and internet gateway functions alongside packet.
  • Winlink support. BPQ can act as a Winlink RMS gateway, a station that relays radio email to the internet, or as a client connecting to one, which is useful on Linux because the Winlink team's own client programs are for Windows.

Connecting to radios

LinBPQ does not contain its own modem for VHF packet. It talks to a TNC (terminal node controller), either a hardware unit through a serial or USB port or a software modem such as Direwolf or the UZ7HO sound-card modem, usually through the simple KISS interface. KISS can run over a serial port, over TCP or UDP to a software modem, or to the TNC-Pi, a TNC board that plugs onto a Raspberry Pi. A Raspberry Pi with Direwolf, a USB sound adapter and an FM radio is a common low-cost node, and the TARPN project builds its networks on LinBPQ.

Other port drivers handle NET/ROM serial TNCs, modems that use the AGW interface, Pactor controllers and several HF data modems, including ARDOP, a free HF modem of which G8BPQ wrote a widely used version, and VARA, so a single node can serve both VHF packet users and HF stations. Nodes can also be linked over the internet: the AXIP driver carries AX.25 frames inside ordinary IP or UDP packets, and users can log in over telnet without a radio at all.

Setting up a node

LinBPQ is configured through a text file named bpq32.cfg (the name must be lowercase on Linux). Most lines take the form KEYWORD=VALUE: NODECALL sets the node's call sign and NODEALIAS a short name for it. Each radio or network link is described in a PORT ... ENDPORT block, and APPLICATION lines add the BBS, chat and other programs. G8BPQ's documentation covers installing on Linux and the Raspberry Pi, and user-written helper tools can generate a working starting file.

Once the node is running, a built-in web interface, enabled by an HTTPPORT line in the telnet port settings, shows the status of each port, recent traffic and logs, and lets the operator manage the BBS and chat server from a browser.

Common node commands

Most commands can be shortened to their first letter.

Command What it does
? List the available commands
C (CONNECT) Connect to another node by name or call, or to a station on a numbered port
N (NODES) List the nodes this node knows about
R (ROUTES) List neighboring nodes and the quality of each link
P (PORTS) List the radio and network ports
U (USERS) Show who is connected
BBS Enter the mailbox
B (BYE) Disconnect

Terminal and getting help

G8BPQ's free QtTermTCP program, for Windows, Linux and Android, is a convenient terminal for a BPQ node. It logs in to the node over the network and can also talk directly to a KISS TNC or a sound-card modem.

The software is flexible but complex, and is generally regarded as better suited to technically minded operators than to casual users. The BPQ32 user group on groups.io and the community-run BPQ wiki are the usual places for help. Joining an existing network is easier with its operators' advice on SSIDs (the numbers after a call sign that tell one ham's stations apart) and frequencies.

Replace any default user name and password before the node goes on the air, and don't expose the web interface or telnet logins directly to the internet. A node anyone can log into as the operator can be made to transmit under your call sign.

See also