If you’ve spent some time reading this blog, you will probably realize that I like techie things. In particular, I like cell phones and computers and radios. So it is really fun to me when these three separate hobbies start to converge. That’s kind of where we are today with this post. I’ve been learning about winlink, a way to send and receive emails over the regular internet, and over HAM radio.

One thing I hope is really clear about this blog is that I’m not an expert. In fact, I’m just learning new things and using this blog as a “scratchpad” where I write things down that I’m doing. Today is a good example of that, as I have been unable to make this work on the air, but I have made some progress, so I thought I’d jot it down.

When I heard about winlink, I thought it was a “Windows” thing. As you know, I use Linux for everything I can, including my daily computing. So, I wasn’t very interested in winlink at first. Then I found that winlink is not specific to Windows, and that it is just the name of the email system for HAM radio operators. There are several programs available for Linux to operate and use winlink, and I settled on one called “Pat“. It’s open source and has a nice web gui interface for use on your computer. You can also use it from the command line, which has merit.

So, after downloading the latest release, I started following the quick start guide. The official quick start guide didn’t include the use of the web gui, so I ended up poking around on the internet and figuring out that you could launch the gui in a fairly simple fashion. So far, I ran the configuration and here is what I did:

$ pat configure

Which opened up an editor and I filled in the following items:

  "mycall": "KL4TH",
  "secure_login_password": "<EDITED>",
  "auxiliary_addresses": [],
  "locator": "BP64du",
  "service_codes": [
  "http_addr": "localhost:8080",
  "motd": [
    "Open source Winlink client - getpat.io"
  "connect_aliases": {
    "telnet": "telnet://{mycall}:CMSTelnet@cms.winlink.org:8772/wl2k"
  "listen": [],
  "hamlib_rigs": {"myrig": {"address": "localhost:4532", "network": "tcp"}},
  "ax25": {
    "port": "wl2k",
    "beacon": {
      "every": 3600,
      "message": "Winlink P2P",
      "destination": "IDENT"
    "rig": ""
  "serial-tnc": {
    "path": "/dev/ttyUSB0",
    "baudrate": 9600,
    "type": "Kenwood"
  "winmor": {
    "addr": "localhost:8500",
    "inbound_bandwidth": 1600,
    "drive_level": 0,
    "rig": "",
    "ptt_ctrl": false
  "ardop": {
    "addr": "localhost:8515",
    "arq_bandwidth": {
      "Forced": false,
      "Max": 500
    "rig": "myrig",
    "ptt_ctrl": false,
    "beacon_interval": 0,
    "cwid_enabled": true
  "pactor": {
    "path": "/dev/ttyUSB0",
    "baudrate": 57600,
    "rig": "",
    "custom_init_script": ""
  "telnet": {
    "listen_addr": ":8774",
    "password": ""
  "gpsd": {
    "enable_http": false,
    "use_server_time": false,
    "addr": "localhost:2947"
  "schedule": {},
  "version_reporting_disabled": false,
  "forms_path": "/home/alaskalinuxuser/.wl2k/Standard_Forms"

Then I could launch the web gui like so:

$ pat --listen "ardop,telnet" http

The http part launches the web gui and lets you use both ardop and telnet. Telnet of course works over the regular internet, and ardop is a method for working with the radio. I should mention, that the first time I launched it, I had no password, which is fine, because winlink.org gives you one the first time. Then you can either put it into this file or you have to type it in the web gui pop-up box ever time you check for email. I put it in this file, which made life easier.

If you can see my screenshot, you will also see that there is a green dot by my callsign. That dot represents that I am connected. In this case, I am connected via telnet, over a regular internet connection. That portion of the program and my setup seem to work fine. What is not working, however, and which you can also see by the error messages, is the ardop radio message method.

When you choose to use ardop, it shows you a list of available “radio servers” that you can choose to connect to, and the distance to them based off of your grid coordinates (BP64du in my case). After you select one, it gives me a bit of a warning that I need to set the radio to that station manually, because it doesn’t seem to have radio control. This is true, since my TS-820s tube driven radio is too old for that, so I set the radio manually to the frequency. I then select okay, and get errors about “ardop …. connection refused.”

I found some other guides that have more information about setting up ardop, and I am looking forward to trying them. It appears that I set up Pat to use ardop, but I didn’t set up ardop to do anything. So I need to do a little more tinkering. Hopefully I’ll be able to figure it out or get some help from others one what I am failing to do properly. I don’t know if I would use this type of email regularly, but it is really fun to figure out, and it may be handy in some sort of emergency.

A few years ago, we actually had a major power outage that lasted several days. During that time, many of the cell towers battery backups eventually failed and so all cellular service went down for thousands of people. Without power, most other services, such as the repeaters for cable and such, also stopped working. I’m not a doomsday prepper, but I could see situations where one could use a laptop on battery with a radio in your truck, or a radio at home that is on a battery. This also could be useful if one was properly setup to do this portable and took the radio with you to a cabin for hunting or outdoor adventure, etc.

If I can make it work, that is….

Linux – keep it simple.

Leave a Reply

Your email address will not be published. Required fields are marked *