Monthly Archives: February 2016

APRS on RF from your computer network

Enable Server Ports.  Those three words have baffled me for years.  It’s a menu item, under Interface, on Xastir and I’ve been wondering what it does for a while.  I had searched the Internet before without a positive result but last night I hit gold.

Okay, maybe not gold but I did hit the online version of the Xastir man page (who reads the man pages anyway?).  On the man page it clearly calls out how to interact with this switch:

Enable these ports on this menu: "Interface->Enable Server

TCP:2023 Bidirectional TCP port for clients to connect
to. Requires login if client will be transmitting.

UDP:2023 Unidirectional UDP input port for clients to inject
packets. See the documentation for the format.

Hmm, this would make it seem I could share out my RF APRS connection with other APRS clients on my LAN.  Bingo!  A quick modification to iptables and setting up my APRSdroid software to connect to my APRS computer yielded APRS stations coming across the radio showing up directly on my phone!  Nice!  I was using a TCP connection so I am able to transmit and receive on my Android device using the TNC and radio upstairs in my shack.

WG3K>APX204,K3CAL-1,WIDE2-1:}WG3K-5>APDR13,TCPIP,WG3K*:=3841.14N/07632.08W$202/005/A==-00052 CALV ARES EC WL2K-1

Where is this useful?

This would be extremely useful anywhere you have multiple APRS clients but only a single RF connection (and who wants ten different APRS stations at a single location?).  Think EOCs where you have multiple stations setup.  Each station could have their own APRS client where they could monitor the status of other stations, update resources, and send and receive messages.

For sharing situational awareness information this is great as well.  Using a UDP connection, several APRS clients could be connected to Xastir as “read-only”.  Think the big situational awareness screens or information screens for bike races and marathons.

TCPIP Troubles

If there were a downside to this implementation it’s that it doesn’t appear these stations will show up on the Internet.  That TCPIP in the packet stream should tell any I-gate that the packet has already come across the APRS-IS and shouldn’t be passed.  This isn’t a problem if all your stations you want to communicate with are on RF but if some are coming across another TCP/IP network… well, there will likely be problems.  I haven’t tested if this affects incoming packets marked as TCPIP but it’s on my list.

Update: 2016-03-27 @ 1812z

After discussing what I was seeing with some Xastir developers I realized that what I was seeing was expected.  The feature was designed to have a master computer on the APRS network with other clients hanging off that master that were getting everything that the master was seeing but couldn’t actually transmit back out to the network.  I was actually making this happen by adding my phone’s callsign into the nws-stations.txt file that forces the client to transmit those packets, as third-party packets, over the air.


So there you go, Enable Server Ports is a pretty neat feature but one that will require a bit of work to understand the limitations.  Sharing a single RF connection with a bunch of APRS clients could be very useful.  I’ll continue to test out the functionality and see how much of a load I can put on the server.  Updates to this article will be forthcoming…

Apps for Ham Radio Networks

You’ve built your mesh or 802.11 network to support your activity.  Now what?  Unfortunately, most client software doesn’t support peer-to-peer activities.  You have to have a server acting as the central repository and distribution point for your data.  Sounds complicated…

It can be daunting to make these resources available but it doesn’t have to be.  If you are already running a Linux-based operating system (sorry, Windows users but Microsoft will want you to pay an arm and a leg for what I’m getting ready to suggest and Microsoft software can’t do much of what I’m going to suggest, either) then you’re already most of the way to having your own server.  Most, if not all, of this software is already available in your distribution’s software repository for easy installation.

There are core software being used on the Internet, today, for moving data around.  Using the tools that most people are familiar with help make the overall network successful.  Obviously the first question should be “what are you trying to accomplish?”.  Setting up a camera on the network and sharing that data across the network is easy, mostly because the camera likely already includes its own webserver.  But how can you bring the rest of the tools into play to make your network even more useful?


Email is fairly ubiquitous and everyone seems to know how it works.  There are three protocols you should be familiar with when dealing with email: smtp, pop3, and imap.  These are the services that handle routing and delivery of your mail.


Simple Mail Transfer Protocol (SMTP) is an Internet standard for routing messages between email servers.  When you send an email, today, your client connects to an SMTP server and sends the message.  The SMTP server, after receiving the message from you, attempts to figure out how to deliver the message to the distant email server.  If the message is being kept locally (i.e. the recipient is on the same server as where you delivered the message) then the message is filed for delivery when the recipient queries the server.

Postfix LogoAn often-used SMTP program is postfix.  It requires a little configuration but basically “just works”.  Postfix will handle receipt of mail and delivery to the mailserver where your recipient is without further action from the user.


Post Office Protocol version 3 (POP3) and Internet Message Access Protocol (IMAP) are on the message delivery side of the house.  These are the protocols that allow a user to query the email server for mail.

POP3 basically forces a user to collect their mail and then delete it from the server.  By doing so, once downloaded, the user has the only copy of the message and the server is freed of the responsibility (and storage space) for handling the message.

IMAP, on the other hand, allows the user to download a copy of the message but, until deleted, the message remains on the server.  This allows the user to utilize multiple clients, with sorting into folders, and have that organization synchronized among all the user’s client software.

The Dovecot logoDovecot handles delivery of messages to clients using POP3 and IMAP.  Again, the software requires a bit of configuration but generally just works.

Web Server

Have a website you want to publish on your network?  Want to use a program to share files and other information?  You’ll need a webserver!

Apache Feather Logo.svgApache’s http server, commonly known as httpd, is very easy to setup and use.  Once installed, the server looks for files in your web folder (/var/www/html) and waits for a request from a client.

Want to share files and other information?


OwnCloud is a suite of client-server software that creates a file hosting service and also allows management and sharing of calendar information, contacts, and more.  Because it’s far more efficient to share files using the http protocol, compared to email, and because files can be managed and synchronized among many computers through shares, using OwnCloud to manage files is far superior than using email.

Instant Messaging

Instant Messaging (IM) is an efficient and simple way of communicating short messages to other users in real time.  Some protocols allow peer-to-peer communications but usually a server is needed to facilitate the communications.

XMPP logoJabber, instant messaging software based on Extensible Messaging and Presence Protocol (XMPP) protocol, allows users to communicate between each other either person-to-person or in a chatroom where multiple people can participate.

Voice Communications (VoIP)

Using the session initiation protocol (SIP), one can handle VoIP “calls” over the network.  This can be between VoIP phones or between AT conversion boxes linking analog repeaters.  Unless you know exactly what phones are where, and your system isn’t growing, you likely don’t need a server.  But, if you plan on expanding your network and wish to have dynamic routing (phone numbers) then you’ll likely need a centralized server.

File:Asterisk Logo.svgAsterisk is a great private branch exchange (PBX) server allowing telephones to connect with each other.  Connections between the server and the clients are generally done using SIP whereas connections between Asterisk servers use Inter-Asterisk eXchange (IAX).

Connecting LANs

All of this information has been presented absent the network management infrastructure that helps make communications between easier.  Handling data on a single local area network (LAN) doesn’t necessarily require this kind of infrastructure but utilizing tools like DHCP, DNS, and others can be helpful.

Summary Conclusion

As you’ve seen, once you’ve built your network there are a few more challenges to making your network work for you.  This, however, doesn’t need to be an impediment and with just a little work you can make your network truly work for you.  You also don’t need any fancy hardware, either, as these tools can easily work on a laptop connected to the network for easy deployment.

All the suggested software is free and open source software (FOSS) which allows anyone to deploy the software for free (and allows you to make changes to the software if needed).