FOSS for amateur radio
|This article brought to you by LWN subscribersSubscribers to LWN.net made this article — and everything that surrounds it — possible. If you appreciate our content, please buy a subscription and make the next set of articles possible.
September 7, 2021
This article was contributed by Sam Sloniker
Amateur (“ham”) radio operators have been experimenting with ways to use computers in their hobby since PCs became widely available—perhaps even before then. While many people picture hams either talking into a microphone or tapping a telegraph key, many hams now type on a keyboard or even click buttons on a computer screen to make contacts. Even hams who still prefer to talk or use Morse code may still use computers for some things, such as logging contacts or predicting radio conditions. While most hams use Windows, there is no shortage of ham radio software for Linux.
HamClock, as its name implies, has a primary function as a clock, but it has several other features as well. It shows a world map, and the user can click anywhere on the map to see the current time and weather conditions at that location. It also shows radio-propagation predictions, which indicate the probability that a ham’s signals will be received at any particular location on Earth. These predictions are available in numerical form and as map overlays. In addition to propagation predictions, HamClock provides graphs and images indicating solar activity such as sunspots, which strongly affect radio propagation.
Most hams keep logs of all contacts they have made over the radio; this was (and still may be) required by law in some countries. Historically, hams have kept logs on paper, but many now use electronic logging programs. There are several Linux-based, FOSS logging programs, such as FLLog (documentation/download) and Xlog. One logging-related program that is designed to work with other logging software is TQSL, which cryptographically signs confirmations of contacts and sends them to the Logbook of the World (LoTW). The American Radio Relay League (ARRL) uses LoTW verification to issue awards for certain achievements, such as contacting 100 countries or all 50 US states, which previously required submitting postcards (called QSL cards) received from the person contacted from each country or state. Collecting QSL cards is still popular, and they can still be used for awards, as LoTW is completely optional.
Traditionally, in order to communicate, hams have used either continuous wave (CW) to send Morse code or any of a variety of “phone” (voice) modes. The different phone modes all allow two or more radio operators to talk to each other, but they convert audio signals to radio waves in different ways. However, many hams now use digital modes. One of the main benefits of these modes is that they can be decoded from weak signals, allowing more reliable long-range communication compared to CW or phone.
FT8 is the most popular digital mode for ham radio. It is used for structured contacts, typically exchanging call signs, locations, and signal strength reports. FT8 sends short, encoded messages such as “CQ KJ7RRV CN72”. In that message, CQ means “calling all stations”, KJ7RRV is my call sign, and CN72 is my location on the southern Oregon coast, encoded using the Maidenhead Locator System.
FT8 is much slower than most other digital modes—sending the message above takes about 13 seconds—but its slow speed allows it to be extremely reliable, even under poor radio conditions. Radio propagation conditions over the last few years have been relatively poor (although they are currently improving) due to a minimum in the 11-year solar cycle. FT8 has been usable under all but the worst conditions, though it is certainly easier to make contacts when conditions are good. WSJT-X, the original and most popular program for FT8, is FOSS and is available for Linux.
Fldigi is another program used for digital modes. Unlike FT8, most of the modes in fldigi can transfer free-form text. The most popular mode included, PSK31, is designed for conversational contacts over long distances. Some other modes are primarily used for transferring files, which is supported well by fldigi. Flamp is a separate program that connects to fldigi; it is used to transfer files over radio by encoding them into a plain-text format that can be decoded by flamp on another computer. If an error occurs in transmission, flamp can detect the error and determine which portion of the file it is in, so the sender can resend only the portion that failed.
Flmsg is a program that allows email-like forms to be used with fldigi and (optionally) flamp. A form allows structured spreadsheet-like data to be transferred efficiently, by avoiding the need to transmit common information with every message. Many forms are intended for disaster response; for example, there is an “ICS-216 MEDICAL PLAN” form which is specifically designed for sending information about available ambulances, hospitals, and other emergency medical care resources. Some other forms, such as “ICS-213 GENERAL MESSAGE,” mostly contain free-form text and are intended for use when no more-specific form is available.
Fldigi, flamp, and flmsg (with its forms), along with a few related programs, are all available at W1HKJ’s web site or from SourceForge.
WSJT-X and fldigi use modems that are completely software-based; they use a computer’s sound card to transmit and receive audio signals. These signals are sent and received by a radio using a special device called a radio-sound-card interface. There are schematics available online for these interfaces, although most hams purchase a pre-built one. The SignaLink USB is a popular model that also has a built-in USB sound card, allowing the user to continue using the computer’s internal sound card for other purposes. Although the manufacturer does not officially support Linux, many people have successfully used the device without needing to install extra drivers.
Another digital mode that is commonly used is packet radio. Most packet networks use AX.25, which is a modified version of X.25 that is designed to be used over ham radio. Linux works well for packet radio, because the kernel’s networking stack has native support for AX.25. Although external hardware modems can be used, it is now common to use a computer sound card for packet radio. Dire Wolf, a FOSS packet-radio program for Linux, includes a sound-card modem, as well as some routing features that are not provided by the kernel.
Winlink, which is a radio-based email system, is another popular digital radio system. Pat is a Linux-compatible, FOSS Winlink client with a web-based GUI. The sound-card modem for Amateur Radio Digital Open Protocol (ARDOP), which is one of the modes for connecting to Winlink, is available for Linux. Winlink can also be used (over shorter distances) with packet radio. There are other modes for Winlink, as well, but most of them are either deprecated or proprietary, and some are Windows-only.
FreeDV is a new digital mode with a different purpose than the ones previously mentioned, most of which transfer text in some form. FreeDV is a digital voice mode. It requires two sound cards; as the user speaks into a microphone connected to one, FreeDV uses an open codec called Codec 2 to compress the digital audio, then uses a sound-card modem on the second one to transmit the encoded audio signal over the radio. At the receiver, the same process runs in reverse. FreeDV, under many circumstances, allows more reliable communication than traditional analog phone modes. With analog voice, a weak signal can still be heard, but is difficult to understand. With digital voice, the signal is either clearly audible and intelligible, or it is not heard at all. This means that when a signal is neither strong nor weak, digital voice will usually be clearer and easier to understand.
One radio-related device that works with Linux is the RTL-SDR. This is a low-cost software-defined radio receiver, which can be used to receive most radio signals, including some AM broadcast stations, most ham radio signals, shortwave radio stations, marine and aviation communications, many police radios, and more. (Some digital signals can also be received, but most of those outside the ham bands are encrypted.) Some RTL-SDRs cost less than $15, but it is worth spending around $30-40 for a good-quality device. I recommend the ones available at RTL-SDR.com, because some others may not be able to receive AM broadcast, shortwave, and certain ham signals.
Becoming a ham
For many, getting a ham license is a good way to learn about and experiment with radio technology. At least in the US, any licensed ham can design their own digital mode and use it on the air, as long as it meets certain restrictions and is publicly documented. For others, becoming a ham is a way to help with disaster response. Organizations like the American Red Cross depend on ham radio for communication when internet and cellular infrastructure fails. Yet another reason is simply as a way to meet new people. While the possibility for this is somewhat limited with modes like FT8, which are more “computer-to-computer” than “person-to-person”, many hams do publish their email addresses on sites such as QRZ.com, and most are happy to receive emails from people they have contacted on the air.
For those interested in getting a ham radio license, there are several resources available. The ARRL’s Licensing, Education, and Training web page would be a good place to start if you live in the US. HamStudy.org is an excellent resource for both studying for the test and finding an exam session; it provides study guides for the US and Canadian tests, though its exam finder only lists US sessions. Finally, an Internet search for “ham radio club in [your city/town]” will most likely find a club’s web site, which will probably either have contact information or more info on getting a license, or both.