hamwaves.com
;

Hamlib: Computer Aided Transceiver under GNU/Linux

Serge Stroobandt, ON4AA

Copyright 2015–2018, licensed under Creative Commons BY-NC-SA

  1. Home
  2. Linux Ham
  3. Hamlib CAT

This page is still under construction.

Introduction

Hamlib de facto overwhelming

Read the transceiver manual

The ROM of the Yaesu FT-990 should be at least version 1.3. This can be checked as follows:

Switch the FT-990 off. Press simultaneously the buttons 1.5 and 7.0 whilst switching the transceiver back on. The ROM version will be displayed at the end of the self test. DK5TX has a couple more suggestions, should you still experience any problems.

Yaesu FT-990 HF transceiver

Yaesu FT-990 HF transceiver

microHAM Digi Keyer

If you own a modern transceiver with a USB port which presents audio as a sound device, you may skip this part.

Many transceiver interfaces work with GNU/Linux. However, as with all hardware under GNU/Linux, always check for Linux support on the web before acquiring a new interface! Because they are quite popular and I had one lying around, this article will focus on the excellent microHAM interface products.

Front panel of the microHAM Digi Keyer

Front panel of the microHAM Digi Keyer

The good news is Matthias (Max) Moeller, DJ5QV, was so kind to code and share the mhuxd microHAM Unix daemon. In doing so, he could count with the help of Joe Subich, W4TV of microHAM for providing protocol specifications. The daemon should support all microHAM interface products.

On Ubuntu-derived systems, it is best to install mhuxd by adding its PPA repository. This will ensure updates are installed automatically when they become available. Type the following commands (without the $ prompt) in a terminal window:

$ sudo add-apt-repository ppa:dj5qv/mhuxd-0.5
$ sudo apt-get update
$ sudo apt-get install mhuxd

The mhuxd daemon should immediately start running in the background. You can check that and perform the initial configuration by opening the following URL in your browser: http://localhost:5052 Bookmark this URL as you may need it again occasionally. Note that microHAM interfaces are powered by the transceiver; not the computer.

Summary screen of the mhuxd daemon available at http://localhost:5052, showing the keyer’s firmware version.

Summary screen of the mhuxd daemon available at http://localhost:5052, showing the keyer’s firmware version.

Caveat: Upgrade to the latest firmware!

Once mhuxd is installed, first, make absolutely sure your microHAM keyer is running the latest firmware! Failing to do so, guarantees problems with MMTTY PTT keying over the FSK port —as I experienced first-hand.

The firmware for the micro/Digi/CW keyers (MK/CK/DK) goes under the name of mmk. Hidden deep within its change file mmk_change_log.txt, the November 22, 2007 entry reads:

«Some changes in keyer protocol and settings format was introduced to be compatible with router v5.1.0. Hence firmware MUST be upgraded and power-up settings MUST be again stored to EEPROM of keyer.»

Installing new keyer firmware is the one and only instance where you are probably quicker off borrowing a Windows™ computer. In less than 10 minutes, you get the job done. Just install the Windows™ microHAM USB Device Router and let this program upgrade your keyer to the latest version of the appropriate firmware. Keep your transceiver and cabling at hand too, because —remember— the keyer gets its power from the transceiver.

microHAM port routing

In this step, the CAT, PTT and FSK channels of the microHAM keyer will be assigned to a Linux device virtual serial port. Also make sure to tick off RTS-PTT for each of these virtual serial ports. Strictly speaking, MMTTY will T/R key your transceiver over RTS-PTT on the CAT1 port only, whereas MMTTY FSK tone keying will occur over the FSK1 port. Nonetheless, RTS-PTT on both FSK1 and PTT1 is also configured for use with other programs.

Digi Keyer port routing
channel RTS-PTT virtual serial port
CAT1 /dev/mhuxd/cat1
PTT1 /dev/mhuxd/ptt1
FSK1 /dev/mhuxd/fsk1
Configuration and routing of the mhuxd deamon virtual serial ports for the microHAM Digi Keyer

Configuration and routing of the mhuxd deamon virtual serial ports for the microHAM Digi Keyer

To make the mhuxd device ports accessible from your account, add your username to the mhuxd group. Log out for this change to take effect.

$ sudo adduser $USER mhuxd

In the rare event of a mhuxd daemon crash, there is no need to restart your computer. Typing the following command in a terminal window should do as long as your system is not using systemd.

$ sudo service mhuxd restart

Specifying the CAT protocol

The CAT1 port on the microHAM interface needs to be informed about the serial protocol parameters which are specific to your transceiver brand and model. Consult your transceiver manual for the proper settings. This CAT port will be used by Win-Test —not MMTTY— to read and control your transceiver.

Computer-aided transceiver protocol parameters for interfacing with the Yaesu FT-990. Consult your transceiver manual for the proper settings.

Computer-aided transceiver protocol parameters for interfacing with the Yaesu FT-990. Consult your transceiver manual for the proper settings.

microHAM RTTY setup

Additional microHAM settings for RTTY are not discussed here. Please, refer to my RTTY Contesting article for those details.

Hamlib utilities

First, install the libhamlib-utils package with your package manager:

$ sudo apt install libhamlib-utils

Testing

FT-990 ROM v1.30 rigtcl parameters
parameter value
radio model -m 116
rig serial device -r /dev/mhuxd/cat1
serial speed --speed=4800
extra arguments --set-conf=stop_bits=2
poll rate 1500 ms
port 4532
$ rigctld -m 116 -r /dev/mhuxd/cat1 --speed=4800 --set-conf=stop_bits=2 -L -vvvvv
$ rigctl -m 116 -r /dev/mhuxd/cat1 --speed=4800 --set-conf=stop_bits=2
$ grig -m 116 -r /dev/mhuxd/cat1 --speed=4800 --set-conf=stop_bits=2

CQRLOG

CQRLOG

CQRLOG TRX control settings for Yaesu FT-990 CAT control over a USB to serial port converter on Xubuntu LTS 14.04

CQRLOG TRX control settings for Yaesu FT-990 CAT control over a USB to serial port converter on Xubuntu LTS 14.04

5
Creative Commons Licence
This work is licensed under a Creative Commons Attribution‑NonCommercial‑ShareAlike 4.0 International License.
Other licensing available on request.
GNU GPL v3
Unless otherwise stated, all originally authored software on this site is licensed under the terms of GNU GPL version 3.
cookie
This static web site has no backend database.
Hence, no personal data is collected and GDPR compliance is met.
Moreover, this domain does not set any first party cookies.

All Google ads shown on this web site are, irrespective of your location,
restricted in data processing to meet compliance with the CCPA and GDPR.
However, Google AdSense may set third party cookies for traffic analysis and
use JavaScript to obtain a unique set of browser data.
Your browser can be configured to block third party cookies.
Furthermore, installing an ad blocker like EFF's Privacy Badger
will block the JavaScript of ads.
Google's ad policies can be found here.
This page employs a Python Bottle server‑side script.
This page includes an open-source client-side script, written in Python and
transcoded by Brython to make it run as secure JavaScript in the browser.
Static XHTML generated from Markdown by Pandoc and
the GNU/Linux make, sed and gpp commands.
LaTeXmath markup rendered with MathJax.
BibTeX references are best read with JabRef.
Unattended CSS typesetting with Prince.
This work is published at https://hamwaves.com/hamlib/en/.
profile for Serge Stroobandt on Stack Exchange, a network of free, community-driven Q&A sites
GnuPG
Use my OpenPGP public key to encrypt messages for:

echo c2VyZ2VAc3Ryb29iYW5kdC5jb20K |base64 -d
Last update: Wednesday, September 1, 2021.