Ham on Linux – IC-718 Rig Control

This project got started when another Ham, (also a Linux Mint enthusiast), asked me to take a look at a package called “CQRLOG”.  I did, and after lots of research plus trial and error – have got it working, also have a growing love for CQRLOG.

I am currently running Linux Mint 17.3 Cinnamon (64 bit), and CQRLOG 2.0.1-1 (64 bit) on a 4 year old Toshiba laptop.

NOTE:  I will continue to update this page as I make new discoveries about CQRLOG v/s IC-718

Before we get started, lets pay attention to the rig itself.  We need to access the IC-718 initial start menus – turn the radio off, press and hold the “Set” button on the radio while turning it back on.  You should now see the menus – use the “Up | Down” buttons to navigate through the menu, and turn the main knob to change a setting on the menu.  I most strongly recommend you do *NOT* change anything, except those listed below, at this point – just use the “Up | Down” buttons to find the:

  • CIV 731  set to “of” (off).
  • CIV TRN – set to “of” (off).
  • CIV ADD – the default address should be “5E” (if it is not, there may be reason for that – but the default load of rigctld, (the rig control daemon) will expect to find this radio with an address of “5E”.
  • CIV BAUD – set to “Hi” (I don’t remember if that is default, but this works well for me).

You should now be able to turn the radio off and those settings will be remembered by your rig.

Note:  These are the settings that are currently working for me – and, following the list below, I now have rock-solid control over my rig with CQRLOG v. 2.0.1-1 (of course that applies as I write this – your mileage may vary). 🙂

Let’s tackle the software!

The first step is to assure your Linux account has access to the serial ports, (this has to be set in Mint and other Debian Linux derivatives/forks):

Even if you are using an FTDI USB-serial cable purchased for the purpose, (as I am) – you still have to be in the appropriate Linux “group”…

Added my account name to the “dialout” group via Menu | Administration | Users and groups

Click on your account, then in the right click on the groups you are currently a member of – a list will pop-up and all you have to do is put a check mark next to the “dialout” group

Why the group name “dialout”? Every file in linux has a security setting for access in terms of read/write/execute “permissions”. You are either the owner, member of a group, or “other” – the owner of most things in the system is “root”, but you should never use root as your normal user within linux to avoid accidents and security problems.  So – the next best thing is to be member of the group that has rights on the item you want to use. For instance, in this case we want to access/control the ttyUSBx port. (Probably ttyUSB0, [“zero”], but it may be 1, 2 or 3 depending upon your computer/peripherals).

Back in the ’80s and early ’90s, most of us hooked up a telephone modem, which is a serial device, so they named the group given control over serial devices “dialout”.  Know it seems a weird name today, but that is how it came about and it still is in use.  Adding your account to Group dialout will give you the desired rights/control over serial communication on Linux, including ttyUSBx (usually ttyUSB0).

Second Step – let’s download and install those “other” packages for associated software programs you may eventually want to use in conjunction with CQRLOG and get them set up to automatically get updated with system updates by enabling their PPA repositories where we can, that way they will be “ready” when you are.

Use Administration | Synaptic Package Manager to install the following:

In filter type xplanet and then select the xplanet and xplanet-images (Mark for install) go ahead and Apply (install).. Then delete the xplanet from filter box.

In left column click on Ham Radio Universe and mark the following for installation:

Chirp (if not already installed – very handy if you have a uhf/vhf radio – not applicable to CQRLOG)
FLdigi (if not already installed)
TrustedQSL (need this if you use Logbook of the World)

Go ahead and “Apply”/install the packages then close Synaptic Package Manager

Note: We skipped over wsjt – will get that later by other means rather than old package

Open a terminal – we will be installing PPA Updates one line at a time Terminal;

sudo rm -f /etc/apt/sources.list.d/ubuntu-hams-ppa-­*
# type your password when prompted

sudo apt-add-repository ppa:ubuntu-hams-updates/ppa
# press ENTER when prompted

sudo apt-get update
# wait for the “$” prompt to reappear

That’s it, now Linux Mint will keep all your Ham Apps up to date automatically. You can refresh updates, and all the latest updates will be installed.

sudo add-apt-repository ppa:kamalmostafa/hamlib
# press ENTER when prompted

sudo apt-get update
# wait for the “$” prompt to reappear


Now for WSJTX: The version in the software center is way out of date, so you will want to add the PPA for this as well, If you already installed, no worry, this will update that version. Open termial, copy and paste: again one line at a time and hit enter, follow prompts.

sudo add-apt-repository ppa:ki7mt/wsjtx

sudo apt-get update

sudo apt-get install wsjtx

Now you will want to install the Encoder:

sudo add-apt-repository ppa:ki7mt/kvasd-installer

sudo apt-get update

sudo apt-get install kvasd-installer

– Open A terminal and type: kvasd-installer
– Then, select Install decoder from the menu.

If you have difficulty with WJSTx, as far as selecting the sound card, you will need to install this as well. Open Terminal:

sudo apt-get install libqt5multimediawidgets5 libqt5multimedia5-plugins

Note copied from K8WDX blog: Then set it up, and you should be good to go. more info on future releases can be found here: https://launchpad.net/~ki7mt I strongly suggest going to this site and reading through it, there are a couple of things to do to get the latest updates as well and info about the future of WJSTX. I just like to wait until the versions are out of the development stage before I take the plunge.

NOTE:  Most of the above are for the newer digital communication modes – something I will eventually want to get into and investigate.

Third Step – if you haven’t already done so, let’s install the latest CQRLOG package:

I’ve previously describe how to do so in the post entitled:

Ham with Linux – CQRLOG

OK, you can finally close terminal – open Update Manager, click on Refresh, then Install the new packages it found. Because you added the PPAs above, Update Manager will check and install updates to your Ham programs.

Its finally time to run CQRLOG!  (You will find it in your menu system, I recommend right-clicking on that menu item and pinning it to your panel).  When the program opens you will see the “Database Connection” window, which contains a default log file #1 entry. (You can edit the log name and add new logs later on).  For now, click on the default log to highlight it, then click “Open”.  The system “should” ask you to agree to download/install a couple of necessary databases – click Yes for each of them.  (It will check for updates each time you open the program after we get it configured).  The Database Connection window will close and the “New QSO” window will open.

Configuring CQRLOG

In New QSO click on File | Preferences which will open the Preferences window to start your configuration of CQRLOG.  Down the left side of Preferences is a vertical column of tabs which lead to pages of settings.  I won’t cover all of them but here are my current recommendations for some of the more important stuff – you will have to play with them to suit your own desires – but pay particular attention to the TRX control stuff below:

Program tab:

  • Select “Show statistics in” MHz
  • Select “Check for newer version of dxcc tables after program startup”
  • Select “Check for newer version of qsl managers database after program startup”
  • Select “Show distance in miles”
  • Select “get UTC time from computer time
  • Set “Grayline” to -1.25 (this setting worked for me on 05/24/2016)

Station tab:

  • Set “Call” to your FCC approved Call Sign
  • Set “Name” normally use your first name but…
  • Set “QTH” to your home area, (i.e. CA-USA, or San Diego County, USA)
  • Set “Loc” to your Grid Square Locator (Hint – go here and type in your zip code if unsure) – This is a critical entry for the system to work correctly, make certain you have it right.

New QSO tab: (These are in addition to the defaults – some may now be new defaults in the latest version)

  • For now, I left the “Default values” at the top alone, including “Comment for QSO”
  • Also left “Enable auto mark QSO QSL_S field” as marked but with no value
  • Set “Use spacebar to move between fields”
  • Set “Skip over mode and frequency when radio is connected”
  • Set “Enable autosearch on HamQTH.com/QRZ.com”
  • Set “If ‘QSL via’ field contains other than a call sign, move to ‘Comment to QSO’ field”
  • Set “Show recent QSO records for last” to 7 days (rather than 5)
  • Set “In previous QSO list show QSO with call/p, call/m, W6/call etc.”
  • Set “Always overwrite info from previous QSO with callbook data”
  • Set “Always overwrite only CQ, ITU zones, County and US state”
  • Set “Capitalise first letter in QTH field (yeah I know how to spell capitalize, but they are from Europe).

Visible Columns tab:

  • Set “Date”
  • Set “Time on”
  • Set “CallSign” and “IOTA”
  • Set “Mode”
  • Set “Freq” and “QSL sent date”
  • Set “RST sent”
  • Set “RST Received” and DXCC
  • Set “Name” and “Comment to QSO”
  • Set “QTH” and “WAZ”
  • Set “QSL sent”
  • Set “QSL received”, “State”, and “Received QSL, LoTW, eQSL”
  • Set “Country Name”

Bands tab:

  • Set each band you plan to use your rig on – for now I skipped, (left unselected), 136 kHz, 472 kHz then 5 MHz and everything 50 MHz or above.  Will revisit this tab as I gain more experience with my Amateur Extra license

TRX control tab:

  • Set “Path to rigctl binary” to /usr/bin/rigctld
  • Set “Radio one Desc.” to IC-718
  • Set “Host” to localhost
  • Set “Rig Model” to 313 ICOM IC-718 (using the drop-down menu)
  • Set “Device” to /dev/ttyUSB0 (that last character is a zero – need to verify yours may be 1, 2, 3, etc.)
  • Set “Poll Rate” to 500
  • Set “Port Number” to 4532
  • Click to “X” Run rigctld when program starts  <– this is *very* important for rig control
  • For now, leave the rest at their default settings

You should not need any additional arguments added for rigctld. CQRLOG will start it with the rig model number, (mine is -m 313), and that automatically sets it up for that specific radio

ROT control tab:

  • ***To be determined at a later date

Modes tab:

  • I would have left the defaults for a rig other than ICOM – (note on ICOM radios for rig control the CQRLOG FAQ says to set them all to zero – my IC-718 will not accept Bandwidth changes via CAT cable)

QTH profiles tab:

  • ***To be determined at a later date

Export tab:

  • I set each and every item on this page – if I am “exporting” my log, I want *everything*.

DXCluster tab:

  • Colors are purely a personal decision – the darker colors generally work better for my eyes, but I wound up selecting Red, Lime, Blue and Navy respectively
  • Set “Show only spots” to those freqs/bands you are interested in – mine currently spans from 1.8 MHz to 28 MHz
  • Set “Show country name in the DX cluster spot”
  • Set “Connect to DX cluster after program startup”

Fonts tab:

  • I left this at defaults, (for now)

WAZ, ITU zones tab:

  • Colors are purely a personal decision – I am currently using Red, Red, Blue, Blue, and Fuchsia, Fuchsia
  • Set “Show info” for both WAZ and ITU

IOTA tab:

  • I chose to set “New IOTA” to Red and QSL needed for IOTA to Blue
  • Set “Show info”

Membership tab:

  • ***I haven’t set this up yet as I haven’t joined anything associated with this tab

Bandmap Tab:

  • Set “Use the same color as the spot
  • Set “Ignore DX spots with freq equals to the start of the band (21.000, 14.000 etc., usually notes)”
  • ***I will need to revisit this one later on

xplanet support tab:

  • Set “Path for the xplanet” to /usr/bin/xplanet
  • I set “‘Window size” to 340 x 340 for now
  • Set “Show stations from” bandmap
  • Set “Projection” to azimuthal without background
  • Set “Show xplanet after program startup”
  • Set “Close xplanet with CQRLOG”
  • Set “Use this xplanet font color” my selection was “White” by default, works well.

Zip code tracking tab:

  • ***I left at default settings for now – will revisit this tab later

LoTW/eQSL support tab:

  • To use this tab, you will need an account with LoTW, (gained through TrustedQSL program), and register for an account on the eQSL web site.  I have done so, but with LoTW – now waiting on a snail-mail card from ARRL telling me how to proceed.  Note that part of this is to have a digital “certificate” file on your system to prove its actually “you” and your system doing the uploads to LoTW
  • Set “Include LoTW and eQSL confirmed countries in DXCC statistic”
  • Set “Use LoTW and eQSL confirmed countries for New country or New band etc. info”
  • Set “Show info in New QSO window if station uses LoTW/eQSL
  • Set “Use this color as a background in DX cluster and band map for stations using LoTW” (I chose Money Green)
  • Set “Use this color as a background in DX cluster and band map for stations using eQSL” (I chose Sky Blue)
  • Set “Upload to eQSL also data in COMMENT field”

CW interface tab:

  • ***Left at defaults until I discuss this with a very experienced Elmer

fldigi/wsjt interface tab:

  • ***Left at defaults until I have time to research this one

Auto backup tab:  I consider this one to be IMPORTANT!

  • Set “Enable autobackup after program ends
  • Set “Save backup to:” using the browse button – mine worked out to be /home/dave/.config/cqrlog/database/
  • Set “Backup file” by selecting “callsign, date and time (yourcall_yyyy-mm-dd_hh-mm-ss.adi)
  • Set “Compress backup with tar.gz

External viewers tab:

  • I left this one at defaults, it will probably stay that way for now

Callbook support tab:

  • Set Callbook search to either your HamQTH account or QRZ account.  Ham QTH is free – there is a minimal annual fee for QRZ – I elected to go with HamQTH for now – entering my User name and Password for that account in this tab

RBN support tab:

  • Left “Server:” at the default telnet address and port – telnet.reversebeacon.net:7000 – for now, (but know my friend will want to change it to his favorite)
  • Set “Login:” to your own callsign
  • For now, I also set “Watch for:” to my own callsign
  • Colors being subjective, I chose White, Purple, Maroon and Red in that order from the top down, (I believe these may now be the default colors)
  • Set “Delete old information after” 180 seconds, (I’m getting older, the default 60 seconds was too fast)

Online log upload tab:

  • Set “Enable upload to HamQTH” (if you have an account there)
  • Set in your Username and Password for HamQTH
  • I elected to “Set this” Blue “color to show information in status upload windowI left Clublog blank – not a member
  • Set “Use this” Red “color to show information in status upload window” in case I use Clublog in future
  • Left HRDLog.net entries blank
  • Set “Use this” Purple “color to show information in status upload window” in case I use HRDLog in future

Propagation tab:

  • Set “Show propagation as image
  • I was not happy with the tiny default display, so changed “Download data from:” to http://www.hamqsl.com/solar101pic.php
  • Set “Show A, K, SSN, FOF2 etc.”
  • Set “Show calculated prediction for HF bands”
  • Set “Show calculated prediction for VHF bands” if you are interested

I spent over a week, frustrated with a situation where the TRX control window would lose communication with the rig after about 20 seconds – after which I would be forced to refresh the rigctld process. It would regain comms only to fail again.  In that week I tried varying each and every setting on both the rig’s initial setup menu and in the preferences – but kept having this feeling I was missing something obvious.  Finally determined some other (unknown) process was periodically interfering with comms on device ttyUSB0, so I simply did a completely fresh install of Linux Mint 17.3 Cinnamon, then ran through the procedures above. CQRLOG has been running quite well and controlling our IC-718 rig very happily ever since.

A ton of credit for what you find on this page goes to K8WDX – his work, although on a previous version of CQRLOG and a different radio, inspired me to pursue installing everything needed now and for future work with those “other” digital modes.  Many thanks to K8WDX for sharing his own experiences.

I will be counting on help from a good friend, an experienced Ham who has done many years of DX, then will revisit the Log specific stuff, including LoTW/QSL settings, etc.  Have a lot to learn about that arena myself.



Ham Radio Control Libraries

USB Serial Converter support

Linux Ham apps, install | K8WDX

CQRLOG configure <–YouTube video on a previous version of CQRLOG also by K8WDX

This entry was posted by dave on Tuesday, May 24th, 2016 at 6:55 pm and is filed under Amateur Radio, Ham on Linux . You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

Comments are closed.