Table of Contents

Packet Radio in the 2020s

This write-up is from the early part of the project, and as such may not be fully up to date.

Packet radio is a means of “networking” together amateur radio stations using inexpensive and potentially home-built equipment and open source software. Specialised applications can then operate over that network - commonly including keyboard-to-keyboard chat, and BBS including routing mail between remote BBSs and to/from the internet. Surfing from node to node is also possible - connecting from your own station through some arbitrary path of nodes to some other node far outside your own radio range, then doing keyboard to keyboard chat (“having a QSO”), is entirely possible, where a network of nodes exists. The nodes do not have to be pre-configured to allow connections from specific neighbours - it can be quite dynamic.

APRS is related to packet radio - packet is synonymous with the AX.25 protocol and predates APRS. APRS is built on top of AX.25, encoding things like position reports and messages into the payload of a particular type of AX.25 frame.

In more detail - AX.25 packet radio is collection of data modes that works over FM (1200-9600 baud, commonly VHF/UHF) or SSB (300 baud, commonly HF) using standard amateur or ex-commercial transceivers. Fundamentally its name describes the “packetisation” of data into structured frames with from/to callsigns, metadata, and payload. There are both connected and non-connected modes, roughly analogous to TCP and UDP. Much of packet isn't used much any more, and the old network is largely gone, but was massively popular in the 80s/90s. Today AX.25 is used for APRS (essentially position/status reporting) mainly on 2m, but there is still software available to do all the “old” stuff - it used to be possible to hop cross-country from station to station purely on RF for things like keyboard to keyboard chat as well as bulletin boards / private mail.

There's a bunch of people trying to revive and maybe modernise this stuff a bit - see TARPN for an example - so the more stations out there running as packet nodes, the better the chances are for any kind of meaningful revival.

TNCs

A fundamental building block in packet radio is a TNC. It is essentially a modem.

A TNC can be software (sound card + PTT control) or hardware.

Hardware TNCs come in two main flavours - traditionally TNCs were computers in their own right and presented a shell to which you could connect with any dumb serial terminal - in modern terms that would have been something like PuTTY in serial mode or Tera Term. Later, hardware TNCs became “thinner” - with a standard called “KISS” coming into existence. A KISS modem is stateless - it just sends the exact packets it is instructed to by the PC it is connected to over the air, and sends packets it hears from the radio to the PC - not as audio but as their AX.25 form.

The state of the art software TNC is probably Dire Wolf. It does not offer a shell itself but exposes two interfaces for programs which do- AGWPE (e.g. AGW Terminal) and KISS software (such as QtTermTCP, which recently gained KISS support in its beta). In the case of the AGW interface, the packet engine is contained within Dire Wolf; whereas with the KISS interface, you bring your own packet engine.

The current state of the art hardware TNC is probably NinoTNC, which is a USB-connected KISS TNC capable of 300-9600 baud. There's also TNC-Pi which is designed to work specifically with the Raspberry Pi. There are doubtless other TNCs still produced.

A packet engine is a state machine that implements AX.25's “connected” mode - allowing true networking, as opposed to APRS which uses UI (Unnumbered Information) or “non-connected” mode frames. This is roughly analogous to TCP vs UDP.

A Typical Station

A typical station would generally be a PC with a TNC and a radio.

VHF/UHF packet is usually 1200 baud and sometimes 9600 baud, and works over FM. Cheap monoband ex-commercial radios are commonly used, as are amateur FM sets.

Simon M0SMU has done a write-up on interfacing a NinoTNC with a Baofeng handheld.

HF packet is usually 300 baud, and works over SSB. There's connected-mode on 20m and 40m, and some APRS on 30m.

A station with this setup can function as both an end-user station and also as a node in a wider network, that other people can connect through. This is permitted regardless of UK licence level, so long as the station is not unattended. If it is desired for the station to be left unattended, an NoV can be applied for which permits this. Unattended operation NoVs are available to full licence holders only.

If you want to run a station which you just use to connect to others, a “leaf” station, follow one of these recipes:

Building a "Leaf" station

If you want to run a node which others will be able to use, which is encouraged, you will need to run some “packet switch” or “node” software. This takes control of the modem and radio and implements a “node” which provides services, like chat, BBS, digipeating etc. Options are BPQ32, FBB, Uronode, and the Linux kernel's own AX.25 support. More will be here:

Building a node

Networks

A bunch of NET/ROM nodes, like G8BPQ, in proximity on the same frequency will become aware of each other.

There are more prescriptive forms of network, such as that described by TARPN - a layer upon and around G8BPQ node software - which enforces that all links are dedicated point to point links and that nodes are all multi-port.

Links

Tom's packet scratchpad