Packet radio lives on through open source software

Packet radio lives on through open source software

Linux packet stations can be used for mail, chat, and even sending messages long distances via the International Space Station.

Packet radio lives on through open source software
Image by : 

Internet Archive Book Images. Modified by Opensource.com. CC BY-SA 4.0

Get the newsletter

Join the 85,000 open source advocates who receive our giveaway alerts and article roundups.

Packet radio is an amateur radio technology from the early 1980s that sends data between computers. Linux has natively supported the packet radio protocol, more formally known as AX.25, since 1993. Despite its age, amateur radio operators continue to use and develop packet radio today. A Linux packet station can be used for mail, chat, and TCP/IP. It also has some unique capabilities, such as tracking the positions of nearby stations or sending short messages via the International Space Station (ISS).

In the early days, packet radio relied on a special piece of hardware called a terminal node controller (TNC). A TNC is a modem: it plugs into a two-way radio and uses audio tones to send and receive data. Now that computers are more powerful, it's often simpler to use a software modem. With free and open source software, a Linux PC with a sound card can become a TNC and communicate with other packet radio stations.

Common transmission speeds are 1,200 and 9,600 baud. (For comparison, a 56K modem is 56,000 baud!) By today's standards this is very slow, but in exchange it works over long distances. Packets are commonly sent tens of kilometers without line of sight and without relying on any infrastructure other than the radio and antenna at each station. Some amateur radio operators prefer to build high-bandwidth networks (such as Broadband-Hamnet, which uses Linksys and Ubiquiti hardware) that typically use WiFi equipment rather than packet radio.

Return of the bulletin board system

2-bbs.png

axcall connected to a BBS

The axcall program connected to a BBS.

Since the internet's arrival, the bulletin board system (BBS), so common in the 1990s, has become far less popular, but it lives on in packet radio. When every byte counts, a text interface is an efficient way to read your mail.

Accessing a BBS creates an AX.25 connection, a temporary link between the caller and the BBS. Like TCP, both ends acknowledge the packets they receive, so any that go missing can be retransmitted. The connecting station can use intermediate stations called digipeaters to specify a route for the packets to take. By passing packets along a series of digipeaters, stations that normally are out of range can connect to each other.

On Linux, the axcall program creates a connection to a remote station and provides an interactive terminal for sending and receiving text. This is ideal for communicating with BBSes and mailboxes. The screenshot above shows a connection to a bulletin board using FBB, a popular BBS application. Its features include message boards, real-time chat between connected users, and file uploads and downloads.

Automatic Packet Reporting System

3-xastr.png

XASTIR showing APRS stations overlaid on OpenStreetMap bitmap tiles

Xastir showing APRS stations overlaid on OpenStreetMap bitmap tiles. (CC BY-SA)

The Automatic Packet Reporting System (APRS) is another packet radio application. Its most popular use is transmitting locations in real time. Operators can use it to share their location, either at home or by attaching a radio to their car. A packet can indicate other objects of interest, such as radio repeaters or temperature data from weather stations. Xastir is graphical software for Linux that generates APRS packets and plots the data it receives on a map.

APRS uses a different communication style from BBSes. All APRS transmissions are standalone packets, similar to UDP (User Datagram Protocol). Nearby digipeaters rebroadcast the packet, and it ripples outward from the original sender. In addition to position reports, the protocol can broadcast short text bulletins and direct messages to other stations.

The APRS network is linked globally using internet-connected gateways. When a gateway receives certain packets on the radio, it uploads them to the global system. A large amount of APRS traffic is captured this way; the locations of all stations can be viewed on websites like aprs.fi.

The ISS has an APRS digipeater, and Earth-bound stations can use it to send messages to each other over long distances—provided they can do it during the few minutes while the ISS is passing overhead!

TCP/IP

For those who want to use ordinary TCP/IP software, Linux can send IP traffic over AX.25. This enables common protocols like Telnet, IRC, and HTTP to work over the radio. The rules of amateur radio generally disallow encryption or any commercial use, so SSH or passing ordinary internet traffic is forbidden.

The entire 44.0.0.0/8 range of IPv4 addresses was set aside for AMPRNet, a global IP network of amateur radio operators run by volunteers. Computers on this network can operate in an isolated cluster or interconnect with other parts of the world via VPN. The long-term goal is to replace these connections with radio links where possible.

Anything is possible

These are some popular uses of packet radio—but anything is possible. Amateur radio is all about experimentation and building new things. A $40 handheld radio and a PC are all that are needed to start receiving nearby packets. Transmitting requires an amateur radio license.

There are many packet radio resources online. Dire Wolf is a popular open source AX.25 modem with excellent documentation. Larry Kenney wrote a detailed series of articles about the foundations of packet radio. The Linux implementation is described in the AX.25 how-to.

Don't forget: There are amateur radio clubs all over the world. Visitors are always welcome, and they will gladly assist newcomers who want to join the hobby.

About the author

Tom Karpiniec - Software developer from Tasmania and amateur radio operator VK7NTK. Tom has a background in programming for home automation and mobile devices and enjoys experimenting with digital radio modes. Blogs at https://karp.id.au/.