Packet Radio Under Linux
In my teens I spent many enjoyable hours tinkering with radio equipment and communicating with other “hams” around the world through the medium of amateur radio. Moving away to attend a university and start a career and family meant that my hobby had to go on temporary hiatus for a number of years. Recently, I came back to the hobby and decided to explore an area of amateur radio that didn't exist in my teen years—digital packet radio. As an avid Linuxer, I was intrigued to see how I could use my Linux system for packet radio. I was on a limited budget, and wanted to get started without investing in a lot of hardware and software.
Amateur radio is a pursuit enjoyed by millions of “hams” around the world. By international agreement, most countries have allocated a portion of the radio spectrum for amateurs to experiment with radio technology. The hobby goes back to the early days of radio and is popular with people of all ages. Operating an amateur radio station requires an operator's license, which can be obtained by passing an examination that covers radio theory, regulations, operating practices and basic electronics. Full privileges also require a knowledge of the International Morse Code (yes, it is still used) although some countries now offer no-code licenses that typically include restrictions in operating modes and frequencies.
Hams are known for building their own equipment and accessories, experimenting with new technologies and helping each other and the public. This is close to the spirit of Linux, so it is not surprising that many hams are also Linux users.
As personal computers became increasingly powerful and affordable, amateurs looked at using radio for digital communications. Packet radio is one such method in which text is encoded as binary data and transmitted via radio in groups of data, called packets. One popular protocol developed for this purpose is AX.25. Based on the X.25 protocol but adapted for the special needs of amateur radio, it offers error-free, packet-based communication between stations. Other protocols, such as TCP/IP, can run on top of AX.25. A few of the applications of packet radio include chatting by keyboard with other hams in real-time, using packet bulletin board systems, sending electronic mail, and connecting (via gateways or worm holes) to other packet networks or to the Internet. Data rates range from 300 bits per second on HF (High Frequency) bands to 1200 bps on VHF (Very High Frequency) and 9600 to 56Kbps and beyond on UHF (Ultra High) frequencies.
A typical packet radio station consists of a computer or terminal connected to a Terminal Node controller (TNC), and radio transceiver (transmitter/receiver). A TNC is a device containing a small microprocessor, dedicated firmware in ROM, and a modem to convert signals back and forth between audio and serial bit formats, and also encodes and decodes data with the AX.25 protocol. A typical TNC connects the radio to the computer via its serial port.
Another popular option is the “poor man's modem-only” Terminal Unit (TU). It essentially has a modem chip sandwiched between its audio and serial port connectors. Software drivers on the computer must therefore handle all of the AX.25 protocol. It's popular because of the price—typically one third the cost of a TNC.
The typical DOS-based packet setup has a number of limitations. Since the system is single user, the computer must be dedicated to packet and cannot easily be used for other purposes. Generally, the computer is used as a dumb terminal or dedicated software is used that takes over the whole computer. Although some software packages such as JNOS run on XT or AT class machines, Linux typically runs better on a 386 machine having limited memory than a commercial operating system alternative such as Windows 95.
Packet software is either free or distributed as shareware in binary form. Some packages, notably JNOS, are also available as source code.
As of release 2.0, Linux has native support for the AX.25 protocol built into the kernel (a unique feature among operating systems). For earlier releases, Alan Cox's AX25 package is easily patched in. Furthermore, AX25 is integrated with the rest of the Linux networking code and utilities. To Linux, a packet radio interface appears as just another network interface, much like an Ethernet card or serial PPP link.
The kernel contains device drivers for serial port TNCs as well as several popular packet modem cards. It even offers a driver that uses a sound card as a packet modem (more on that later).
Once up and running, you can let users telnet into your Linux system via packet radio, offer them a Unix shell or one of several BBS programs, or even let them surf your system with a web browser. Thanks to Linux's multiuser and multitasking capability, this occurs without affecting the normal use of the system.
A Linux machine can act as a router to connect packet network traffic to a LAN or Internet connection and can route e-mail via packet. You can have multiple packet interfaces with many simultaneous connections over each interface.
|Speed Up Your Web Site with Varnish||Jun 19, 2013|
|Non-Linux FOSS: libnotify, OS X Style||Jun 18, 2013|
|Containers—Not Virtual Machines—Are the Future Cloud||Jun 17, 2013|
|Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer||Jun 12, 2013|
|Weechat, Irssi's Little Brother||Jun 11, 2013|
|One Tail Just Isn't Enough||Jun 07, 2013|
- Speed Up Your Web Site with Varnish
- Containers—Not Virtual Machines—Are the Future Cloud
- Linux Systems Administrator
- Non-Linux FOSS: libnotify, OS X Style
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- RSS Feeds
- Reply to comment | Linux Journal
3 hours 47 min ago
- Yeah, user namespaces are
5 hours 4 min ago
- Cari Uang
8 hours 35 min ago
- user namespaces
11 hours 28 min ago
11 hours 54 min ago
- One advantage with VMs
14 hours 23 min ago
- about info
14 hours 56 min ago
14 hours 57 min ago
14 hours 58 min ago
15 hours 29 sec ago
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?