Skip to content

CAT Setup

In 15 minutes from "rig and Mac are sitting next to each other" to "frequency and mode appear automatically in the logger".

IC-705 without a cable?

Since 1.13.0 the IC-705 can also be controlled directly over WLAN — no USB cable needed: Tutorial: Connect the IC-705 over WLAN.

Requirements

  • A rig with a CI-V or serial interface (~200 models in the HAM-Tools bundle)
  • A USB cable (rig-specific, e.g. CT-17 for Icom, OPC-478 for older Icom, USB audio cable for Yaesu)
  • Possibly a driver for the USB-serial chip (FTDI, Silicon Labs, Prolific) — usually not needed on macOS Sonoma+

Step 1 — Connect the Cable + Driver Check

  1. Turn the rig on, connect it to the Mac with the USB cable
  2. Open Terminal, test:
    bash
    ls /dev/cu.* | grep -iE "usbserial|slab|usbmodem"
  3. You should see at least one entry, e.g.:
    • /dev/cu.usbserial-AB0OJWMD (FTDI chip)
    • /dev/cu.SLAB_USBtoUART (Silicon Labs)
    • /dev/cu.usbmodem14201 (USB CDC, many modern Icoms)

No entry? Then the driver is missing:

  • FTDI: macOS has shipped it since ~10.9, nothing should be needed
  • Silicon Labs (CP210x): download at silabs.com
  • Prolific PL2303: problematic on modern macOS versions, better to replace the adapter

Step 2 — Choose a Rig Profile

  1. Open HAM-Tools → Settings → CAT (⌘, → "CAT" tab)
  2. Open the Rig Profile dropdown — the bundle contains ~200 models
  3. Find and select your model, e.g.:
ManufacturerExamples
IcomIC-7300, IC-7610, IC-705, IC-9700, IC-7100, IC-718
YaesuFT-991A, FT-DX10, FT-DX101, FT-857, FT-897, FT-817
KenwoodTS-590, TS-890, TS-2000, TS-480
ElecraftK3, K3S, K4, KX2, KX3

If your model isn't there: use "Hamlib Generic" as a fallback — most functions work, more exotic buttons may not.

Step 3 — Set Serial Port + Baud

After selecting the rig profile:

  1. The Serial Port dropdown opens automatically — a /dev/cu.* list
  2. Choose the port you identified in Step 1
  3. The baud rate is preset by the profile (e.g. IC-7300 = 19200, IC-7610 = 115200)
  4. The CI-V address is only relevant for Icom — the default is 0x94 for the IC-7300, check the rig menu

Check the baud in the rig

Icoms default to "Auto" for baud — usually works, but is slower and less reliable than a fixed value. In the rig menu (e.g. IC-7300: Menu → SET → Connectors → CI-V → CI-V Baud Rate) set the same value as in HAM-Tools.

Step 4 — Start the Connection

  1. In CAT settings: turn on the "CAT connection active" toggle
  2. The status pill at the top right shows:
    • 🔴 Disconnected → click the toggle, possibly an error in the log line below
    • 🟡 Connecting… → the rigctld subprocess starts, healthcheck runs
    • 🟢 Connected → all good, the frequency updates live in the main window

When 🟢: turn the rig's VFO and watch whether HAM-Tools follows the frequency.

What Runs in the Background?

HAM-Tools ships with a bundled rigctld (Hamlib) as a helper binary at HAM-Tools.app/Contents/Helpers/rigctld. When you activate the CAT connection, a subprocess is started:

rigctld -m <rig-id> -r /dev/cu.usbserial-X -s <baud> -t 4532

HAM-Tools then talks to rigctld over TCP on port 4532. If you want more diagnostics:

bash
# In a second Terminal:
nc 127.0.0.1 4532
f          # query frequency
m          # query mode
\get_freq  # alternative command

What Happens After a Successful Connection?

EffectWhere it's visible
Frequency liveMain window radio panel, in the logger QSO form, in the spot bridge
Mode liveRST default follows (CW → 599, SSB → 59, RTTY → 599)
Band autoCalculated from frequency, preset in the QSO form
Cabrillo mismatch warningWhen the contest category doesn't match the mode
Macros F1–F8Send CW directly via send_morse, or trigger SSB audio with PTT
Icom Voice Keyer V1–V44-button row in all entry forms

Common Problems

"Failed to open serial port"
→ Another program is holding the port (often: an old rigctld instance, fldigi, WSJT-X). Close the other app, or kill rigctld manually: pkill rigctld

Frequency is read but not written
→ Check "CI-V Transceive" (Icom) or "CAT Rate" (Yaesu) in the rig menu. Some models explicitly need "Send Freq on Change" = ON.

PTT doesn't work / no transmit
→ Some setups need a separate PTT cable, others can do PTT via CAT. In HAM-Tools: the rig profile has supportsPTT: true/false. If false, you have to handle PTT externally (VOX, footswitch, separate interface).

Connection drops after a few seconds
→ Baud mismatch between rig and HAM-Tools. Set both to a fixed value (e.g. 19200 for the IC-7300, 38400 for the FT-991A).

How do I link FLDigi / WSJT-X at the same time?
→ First, in Settings → CAT, enable the "Share CAT" (keep rigctld open for other programs) switch — without it, HAM-Tools holds the port exclusively and WSJT-X can't reach the radio. Then click "Start" in HAM-Tools. In WSJT-X / fldigi, set: Rig = "Hamlib NET rigctl", network server = 127.0.0.1:4532, PTT = CAT, poll interval 1 s. That way both programs share the rig through HAM-Tools' rigctld — the server stays open even when you disconnect HAM-Tools' CAT connection. Details: CAT → CAT Sharing.

Next Steps

HAM-Tools © HB9HJI · Funkwelt