This blog post is about 50/50 ham radio/Linux. We’ll start with the ham radio stuff.
One of the institutions of ham radio that I have reluctantly embraced in recent years is LOTW – the “Logbook of the World” – created and maintained by the ARRL. [For the non-ham among us, the Amateur Radio Relay League (ARRL) is the primary ham radio advocacy organization in the United States. Why it is called that, and exactly what they do could be the subject of an entire post by itself. Roughly 20% of US hams are members.]
Anyway, LOTW is essentially an online logbook database, where the contacts you have reported are matched up with those of folks you have contacted. When there a match is found, the pair of logbook entries count as a QSL (confirmed contact. This is another of those Morse code “Q” signals, not an acronym.) QSL’s can be accumulated to qualify for various awards, which generally result in some sort of certificate which you can frame and hang on the wall at your operating position. Awards are for things like making contacts with people in a number of countries, or all the states in the US, or some arbitrary number of locations, etc. It’s great fun, really.
The traditional method of QSL’ing (confirming contacts) involved both parties exchanging post cards, often colorful, that usually wound up in a shoe box.
To qualify for an award, you would sort through the shoe box and extract all the cards needed to confirm the contacts for the award, and send them to someone to count and verify. Then you would get your cards back, along with the award certificate. While this seems fairly foolproof, there are some drawbacks:
- for the most part, exchanging physical cards by mail or other means is slow
- there are costs involved, such as postage (and other fees sometimes), which can add up
- you have to print (or have printed) your own cards at some cost
- the really active award chaser can run out of shoe boxes
So LOTW (it is not the only such system online, eqsl.cc is another popular service, for example) is a pretty good idea. There is no cost for uploading your contacts. When you have accumulated enough for an award, the ARRL does charge you for applying, but compared to the comparative cost of postage etc., it’s still a pretty good deal. And, of course, it’s instant gratification. Many logging programs now support sending contact records to LOTW as soon as the contact is completed, which is a lot speedier than your average postcard.
The designers of LOTW were concerned that folks might falsify contact records in an attempt to game the system. For that reason, LOTW uses private key – public key encryption that makes the banking app on my smart phone look like it is secured with a child-proof cabinet lock. LOTW requires that you obtain a certificate from ARRL, and use it to sign every contact you upload to LOTW. It has always been kind of tricky to get it set up, and if you lost your ceritficate file you were hosed. The good news though is that just recently (this past August) new versions of the LOTW client software were released, which streamline the entire process of signing and uploading contacts. I think it is still annoying to do the initial setup, which among other things involves waiting to receive a postcard in the mail with some authentication info on it.
So why my reluctant involvement with LOTW? JT65-HF. The community that has grown up around this compelling digital mode has embraced online QSLing, either LOTW or eqsl, as the means of choice for confirming contacts. Given the effectiveness of JT65 for long distance contacts, its seems like you can confirm fifty states, or one hundred countries, in no time using online QSLs. JT65 was one of my Linux priorities, and one of the first Windows softwares I got working under Linux – LOTW surely had to follow.
Unlike the JT65 software which is currently only available for Windows, the primary LOTW tool, TrustedQSL or tqsl, has just been re-released for Windows, Mac OS X, and Linux. For Linux the ARRL is not releasing binary distributions, citing the large variety Linux configurations. Instead, they distribute the source and you must build it yourself. Thus the Linux adventure begins.
I didn’t have too much hope of succeeding with building the software, but in actuality it was pretty easy with the scripts provided with the source code. The first step is to download the source, in the form of a .tar.gz file, and expand it on your machine. On the Cinnamon desktop, you have only to double-click this file, and it will decompress and unpack into the source directory tree. In the root folder of the unpacked source directory tree, I found a promising looking text file named INSTALL, which directed me to perform the following command line steps:
cmake is described as the “Cross-Platform Makefile Generator”. Basically, it configures the build scripts for your local environment, and lets you know if you are missing anything needed to build the code. As it turns out, I was missing a lot. A typical execution of cmake would display something like:
which to me suggested that I was missing first OpenSSL libraries, and then the BDB libraries. I would then start the Software Manager ( a GUI interface to apt provided with the Cinnamon desktop), and search for the appropriate library to install:
and then run cmake again. I repeated this process until cmake was finally happy (lather, rinse, repeat); I had to install all of the following libraries to proceed:
While iterating through the cmake process, there were some libraries for which there were more than one install option. I just made my best guess on which one to pick, and apparently guessed correctly because I was finally able to build the package. I did not have to install a C or C++ compiler, as cmake was happy with what it found already installed on the T61.
Once cmake was happy, I was able to run make. make built everything without complaint, all I had to do was stand back out of the way:
The final step was to install the binaries I had just built, using make install. My first attempt at this was refused — no permissions to write the binaries where they need to go. But with good old sudo, the install completed, and TrustedQSL was installed on my machine. It did not have a launcher icon though.
To create a launcher for it, I first determined where it was installed by using the which command. which will search your execution path for program, and report full path to the first instance it finds:
This path is what I used to create my launcher, using the menu editor built into Cinnamon.
I wanted to have an “official” icon for tqsl show up in the menu, so I browsed around the tqsl installation looking for icon files, and I found them. I selected the largest one and added it to menu entry I created earlier.
My menu now looks like this:
and TrustedQSL runs beautifully on my Linux machine:
This homebrew software project proved pretty easy and straightforward, unlike some of the hardware homebrew projects I have attempted.