Modern Introduction to Packet Radio, AX25, APRS and TCP/IP
As time moves on, I think it’s important to revisit older, but relevant technologies from time to time that still have a place in the modern age. With time, words seem to loose their meaning, resources fade into obscurity, and we loose those that were mentors. I only started amateur radio 5 years ago. I’ve had a fascination with packet radio from the beginning, but navigating this older technology space on the internet has been challenging. It’s clear we need a Modern Introduction to Packet Radio, as well as AX25 APRS and TCP/IP. One website I would like to give a shout-out to is packet-radio.net, which does have a lot of good information(It’s just a nightmare to sort though somewhat random logs of output, and distributed pieces of good information) . Between unreadable blog posts, write ups for ancient operating systems and awful search optimization, getting an accurate picture if difficult. That’s why I’m making this little series here and now. I’m hoping this next stream of blogs can serve as a reference or a path for those who are as lost as I was. I hope I can give a detailed overview of what packet is in a way that will stand up to time, and in the end I will showcase a project hoping to revitalize it by combining it with modern technology.
Brief History of Packet Radio
Packet radio was a technology invented throughout the 1960’s. At that time, broadcast network topology posed a problem for early network engineers to overcome. Getting many devices to connect with a shared communication channel (like radio) would prove difficult due to the nature of simplex communication. Without a system, devices would just be transmitting over top of each other. In the beginning of the 1970’s a professor at Hawaii University, Norman Abramson led the development of a Packet radio network known as ALOHAnet to overcome this problem with the use of “packets” of data, where each transmitter took turns in sending information. Later, in 1973, the DAPPA(Defense Advanced Research Projects Agency) created a network called PRNET. The goal was to see if they could get packet radio to work with ARPANET, which is a precursor to the internet we know today. The experiment was successful and marked one of the first successful examples of internetworking. It wasn’t until 1978 that amateur radio operators started getting their hands into packet radio. A few hams based out of Montreal Canada, Robert Rouleau, Bram Frank, Norm Pearl, and Jacques Orsali, started sending ASCII encoded data over VHF. Shortly after in 1980, amateurs in the united states started sending ASCII encoded data after getting authorization from the FCC. In 1981, an IP range of 44.0.0.0/8 was provided for amateur radio digital communication. This year also marked the first time TCP/IP over amateur radio was used, a whole decade before the public internet would use the technology. With the addition of TCP/IP over packet radio, AMPRNet (or Network 44) was born. When the public internet started to get popular, the need for packet over RF links declined. Since this time, TCP/IP over packet radio has not changed much, but APRS(The automatic Packet Reporting system) built with packet radio has became the most popular form in which packet radio is used. This mode would allow messaging, and position reporting with the aid of GPS. Now that you know the history, we can get back to the Modern Introduction to Packet Radio AX25, APRS and TCP/IP.
What is Packet Radio?
Packet Radio is a term used to describe the act of splitting digital data frames into separate “packets” to send over an RF link. It gets the word “packet” because of the switching protocol. Other switching protocols invited around the time “packet” was coined (1960’s) were circuit switching, and message switching. Today, packet radio is often used to refer to this same older packet switching technology, but with additional technology on top of it, and in a amateur radio context.
Packet Bulletin Board System (BBS) Introduction
With the emergence of packet radio, also came the BBS. These systems would allow amateur radio operators to connect via packet radio to a special dedicated “node”. Much like the client server model, the node was there to serve and provide resources to connecting clients. These services included messaging, keyboard to keyboard chat, gateways to the internet for email, and even games. Often times, these nodes were connected together over Ethernet tcp/ip to create a mesh backbone allowing operators to connect allover the world through the combination of packet radio and the internet. Here at the ModernHam, we have tutorials for setting up both BPQ32 and JNOS,which are popular BBS implementations. Another popular opensource solution for Linux is Linfbbs. Although some BBS systems are still active today, and some amateurs still use them, the popularity is just not there. This comes from a few reasons. If you try to setup one of these well known existing BBS systems, you will see that the software itself is very dated, and the documentation often relies on antiquated technology. The webpages are mostly still the classic 90’s style internet page, with a wall of text written like a book, and no real modern navigation. The guides to get these up and running were written for a different time, and they did not age well. On top of the difficult setup, no groundbreaking new functions has been made in decades, leaving most of the functionality surpassed by the functionality built into APRS (and the internet of course).
APRS (Automatic Packet Reporting System)
When people say “packet radio” today, they are mostly referring to the most popular mode of it at the time, which is APRS. Although it was invented 4 decades ago, it has stood the test of time. The reason it is still popular today, despite the wavering popularity of BBS and TCP/IP over packet is because it simply does not have a replacement for what it offers, and has a wide exiting network of digipeaters for operators to use. A digipeater is a dedicated radio system that listens for digital radio packets, and then repeats them over the air(much like a voice repeater). This is not to be confused with an igate, which relays the APRS packet to the internet. The automatic packet reporting system is a framework built on top of the AX25 data link layer protocol. Paired with a GPS, and a TNC, the system will broadcast it’s GPS location over the air in a specific interval defined by it’s software. Along with location reporting, APRS has the ability to send small messages to specific users. There are software packages that allow you to view these position reports, send your own, and other APRS functions such as XASTIR, Pinpoint APRS, and YAAC. A very popular internet based infrastructure has been built around APRS that allows stations acting as igates (Internet gateways) to route RF APRS packets to the internet, and over a vast network of other igates, where they can come out the other end as RF once more. A very popular website where you can see this take place is at aprs.fi.
Whats a TNC (Terminal Node Controller) and AX25?
A TNC(Terminal Node Controller) is a device (or software) used by amateur radio operators to facilitate the communication of packet radio when using the AX 25 packet protocol. It doesn’t matter if you’re using packet radio for a BBS, APRS, or TCP/IP, you have to use a TNC. The TNC itself only takes data from another source, with a protocol such as KISS(Keep it Simple, Stupid) , and modulates/demodulates it for transfer over a radio. The means it often lives between your data source (such as a computer) and your radio. Before we had the high speed computing we have today, we often sourced this task to a piece of expensive additional hardware, like the Kantronics TNC. A more modern approach to the hardware TNC is the Mobilinkd, which is a wireless, bluetooth enabled TNC. But with modern computing power, we can now source this task to software. The most popular software based TNC of the time is Direwolf, which is an open source TNC/Modem, which is compatible with almost any radio interface implementation, and has APRS digipeating and igating built in.
TCP/IP over Packet Radio Using AX 25
This is where this series of posts will be digging into for the most part. Although TCP/IP over packet radio has been a “thing” for 4 decades now, most new amateurs don’t know a lot about it due to it’s lack of popularity. That’s why I’ve started this with a Modern Introduction to Packet Radio, APRS and TCP/IP. AX 25 data link layer protocol used to ship within the Linux Kernel. This is the protocol that TCP/IP rides over when using packet radio. Because of this, we can use programs like kissattach to create a network device within linux, along with a tnc to create an IP over radio network. As this technology has faded in popularity overtime however, Linux is becoming less and less compatible with programs such as kissattach, and native AX25 functionality. This is where programs tncattach come to save the day. Tncattach removes the need for specific linux kernel packages, and strips some of the overhead introduced with kissatatch that isn’t needed for Ethernet frames. Tncattach also introduces the ability to send Ethernet frames over basically any tnc (including direwolf) meaning it’s never been easier and cheaper to get full tcp/ip over amateur radio running. Below is an image of tncattach in action, taken from unsigned.io.
You can find a Presentation Style format with more information here:
https://themodernham.com/downloads/
Great, modern and relevant content Billy. Much appreciated.
Bob
KN4ZZI
[…] is this follow up to my introduction on Packet Radio. Direwolf is a software TNC, and one of the best things to happen to packet radio […]
[…] 详情参考 […]
[…] is the next guide in the Packet Radio Series. If you don’t have a working TNC, check out the last post to get up and running. But the […]
[…] I’m not going to pretend like there isn’t guides for creating an Easy APRS iGate and Digipeater Setup with Direwolf on the internet already. But in an effort to consolidate this information with the rest of the packet radio information, I will make my own here. As always, I’ll also be explaining things so you can make adjustments for your own needs. If you’re not following, this guide follows along the Modern Reintroduction to Packet Radio. […]
[…] like the raspberry pi. If you’re not following this is part of an all encompassing guide to reintroduce packet radio. This is an effort consolidate documentation for various packet radio systems and present it in a […]
[…] is the counter blog post to the windows version with pinpoint here. The blog follows along with our Modern Introduction to Packet Radio. Please note, that before proceeding below, you need to have a working dire wolf configuration for […]
[…] Radio, start here to get a grasp on what the modern landscape of Packet radio looks like, check this out. The following post here will give you a good Shopping list for building a packet radio […]
Is it possible to use DStar’s datastream as a transport that X.25 runs on top of? If so, what software would I need to run to connect my Android phone to my dstar phone/windows PC? I can attach them by USB cable..so the physical path is there.
It’s unclear how the TNC does both protocol intepretation (RX/TX) to and from the computer, but why is the modem (converting data to tones) considered a part of the TNC? Shouldn’t that be seperate
[…] that I’ve concluded the base packet radio series, where we went from an introduction to packet, BPQ32, all the way up to an TCP/IP Stack in Linux, it’s time to build my dream packet node. […]