Rigctld on the LAN: Patch Hamlib 4.7.2, Lock Down CAT, and Retest WSJT-X Control

author
10 minutes, 47 seconds Read

Join our Exclusive Newsletter

Why Hamlib 4.7.2 rigctld security matters in a digital-mode station

If your digital station uses WSJT-X, JS8Call, logging software, amplifier software, or a station dashboard, there is a good chance Hamlib is somewhere in the control path. Hamlib provides the radio-control layer used by many amateur-radio programs, and rigctld is the network daemon that lets those programs talk CAT to a radio over TCP instead of directly opening the serial, USB, or network CAT port.

That convenience is useful in a modern shack. A single radio may be controlled from a logging computer, a digital-mode laptop, and a monitoring screen across the room. But it also means CAT control becomes a network service. When Hamlib 4.7.2 lists rigctld CVE fixes along with multiple radio-control bug fixes, the right response is not panic. The right response is to patch deliberately, reduce unnecessary exposure, and retest your digital-mode workflow before the next operating session.

This guide focuses on the practical station problem: how to fix CAT control safely after current Hamlib updates, especially where WSJT-X is part of the weak-signal operating chain.

Understand the control path before changing anything

Before updating software, map the path between WSJT-X and the transceiver. A typical direct setup looks like this:

  • WSJT-X opens a USB serial CAT port directly.
  • WSJT-X uses Hamlib internally or through its installed support files.
  • The radio changes frequency, mode, split status, and PTT according to the application settings.

A rigctld setup adds a network layer:

  • rigctld runs on the shack computer, radio server, or small Linux box attached to the radio.
  • rigctld opens the radio CAT port.
  • WSJT-X connects to rigctld, commonly by hostname or IP address and a TCP port such as 4532.
  • Other client applications may also query or command the daemon.

The security difference is important. With direct CAT, an application must have access to the local serial or USB device. With rigctld, anything that can reach the daemon and speak the control protocol may be able to ask the radio to change state. That may include frequency changes, mode changes, PTT commands, VFO selection, or other model-dependent actions. The exact command set depends on the rig, backend, and configuration, but the principle is simple: do not expose radio control to networks that do not need it.

Patch the correct Hamlib component

The Hamlib project download and release pages are the primary places to check the current package and release information. Start with the official Hamlib download page and the Hamlib releases page. The release notes for Hamlib 4.7.2 identify security fixes affecting rigctld and list multiple radio-control fixes. If you run rigctld, the daemon host is the system that matters most.

Use the update method that matches how Hamlib was installed:

  • Linux package install: Prefer your distribution package manager if it already provides the fixed version. After updating, restart rigctld and confirm the version actually changed.
  • Source build: If you built Hamlib manually, rebuild and reinstall cleanly. Avoid leaving an older rigctld earlier in the system path.
  • Windows station: Check whether you are running a standalone rigctld build or relying on Hamlib components bundled with another application. Do not randomly copy DLL files into application folders unless official documentation for that application tells you to do so.
  • Single-board computer or radio server: Patch the server attached to the transceiver, not only the laptop running WSJT-X.

After the update, verify with the appropriate command for your system, such as checking rigctld or rigctl version output. Also confirm which binary is being launched. On Unix-like systems, path confusion is common when one copy lives under /usr/bin and another under /usr/local/bin.

Do not confuse WSJT-X updates with rigctld updates

WSJT-X and Hamlib are related in many stations, but they are not the same project. The official WSJT-X downloads page identifies WSJT-X 3.0.1 as the current general-availability release, and the WSJT-X project page is the authoritative starting point for WSJT-X information.

If WSJT-X talks directly to the radio, its bundled or linked Hamlib support may be the one in use. If WSJT-X talks to rigctld over the LAN, then the critical patch is on the rigctld host. Updating WSJT-X alone will not necessarily patch a separate network daemon, and updating rigctld alone will not necessarily change WSJT-X direct-control behavior.

For a stable station, update one layer at a time when practical. First patch and validate rigctld. Then confirm WSJT-X still connects and controls the radio. If you also update WSJT-X, perform a second round of control checks rather than assuming the previous test still applies.

Lock down rigctld on the LAN

The safest rigctld service is reachable only by the computers that genuinely need CAT control. A weak-signal station does not normally need rigctld reachable from the internet, a guest Wi-Fi network, or every device on the home LAN.

Bind to the smallest useful address

rigctld has options for listening address and port. On many installations, the practical decision is whether it should listen only on the local machine or on a LAN address. If all control clients run on the same computer, bind rigctld to localhost. If WSJT-X runs on a separate shack laptop, bind to the specific LAN interface rather than every interface when your platform and startup method support it.

A local-only service is appropriate for many stations. For example, if rigctld and WSJT-X are on the same Linux desktop, there is usually no reason for other LAN hosts to see the daemon. If a logging program also runs on the same desktop, it can still connect to localhost.

Use firewall rules as the real boundary

Do not rely on obscurity, an unusual port number, or the assumption that nobody knows what rigctld is. Use the host firewall or router policy to allow only known station clients. A practical rule might allow the digital-mode laptop to reach the rigctld host on the chosen TCP port while blocking all other subnets and guest networks.

Avoid port forwarding from the internet to rigctld. If you have a legitimate remote-station use case, place the service behind a VPN or another authenticated remote-access method and comply with amateur-service control, identification, and licensing rules. Technical reachability is not the same as legal remote control authority.

Segment casual devices away from station control

Smart TVs, guest phones, general household devices, and workshop computers do not need CAT access. If your router supports separate VLANs or guest networks, keep the radio-control host and approved operating computers together while keeping unrelated devices elsewhere. Even a simple guest Wi-Fi separation is better than putting every device on the same flat network.

Prevent software fights over the radio

Security is not the only reason to control access. CAT conflicts can ruin digital-mode operation. FT8, FST4, MSK144, and related weak-signal modes depend on accurate timing, correct frequency selection, and predictable PTT behavior. If two programs command the radio at once, the result may be an unexpected band change, failed transmit cycle, wrong split setting, or mode mismatch.

Choose a control policy:

  • One frequency master: Let WSJT-X control frequency during a digital session, while the logger only reads frequency if possible.
  • One PTT authority: Decide whether PTT is controlled by CAT, VOX, a serial line, or another interface. Avoid two PTT methods unless you have a specific, tested reason.
  • Read-only clients where possible: Waterfall displays, loggers, and dashboards often need frequency data more than command authority.
  • Restart cleanly: If CAT becomes erratic, close clients, restart rigctld, then reconnect clients in a known order.

rigctld can make multi-client control easier, but it does not magically resolve every command conflict. Good station discipline still matters.

Retest WSJT-X CAT control after patching

After patching Hamlib 4.7.2 and tightening access, retest WSJT-X without immediately transmitting on the air. The goal is to prove that the radio and software agree before RF leaves the station.

Step 1: Confirm the daemon starts cleanly

Start rigctld using the same service file, shortcut, or command you normally use. Confirm that it reports the expected rig model or backend, serial device or network path, baud rate, and listening address. If you changed the bind address or firewall, test from the exact WSJT-X computer rather than from the server itself only.

Step 2: Check basic CAT queries

Use a simple client or WSJT-X radio test function to query frequency and mode. The radio display and software should agree. If the frequency is wrong, do not proceed to transmit testing. Check the rig model selection, VFO setting, CI-V or CAT address where applicable, baud rate, stop bits, and whether another program already owns the port.

Step 3: Test controlled changes

Change frequency within the same band using the software and verify that the radio follows. Then change the radio VFO manually and verify that the software updates. Some radios and settings report status only after polling, so allow a moment before declaring failure.

Step 4: Validate split and mode behavior

WSJT-X digital operation often uses specific split or fake-it behavior depending on configuration and radio capability. Confirm that your chosen split method still behaves as expected. Also verify that the radio is in the intended data or USB mode for the band and mode you are using. Incorrect mode selection can shift audio passband behavior, filtering, or transmit audio routing.

Step 5: Test PTT safely

For PTT testing, use a dummy load when appropriate, reduce power, or otherwise follow safe station practice. Make sure no unintended amplifier, tuner, transverter, or high-power chain is keyed during initial checks. Watch the radio, wattmeter, and software state. PTT should engage and release reliably. If it sticks or chatters, stop and troubleshoot before returning to normal operation.

Common failure modes after an update

Most post-update CAT problems are ordinary configuration mismatches rather than exotic defects. Work through the simple issues first.

  • Wrong rigctld binary: The system still launches an older copy. Check the path and service definition.
  • Firewall too strict: Local tests pass, but the WSJT-X computer cannot reach the daemon. Allow only the required client and port.
  • Bind address changed: rigctld is listening on localhost, but WSJT-X is on another computer. Either run WSJT-X locally or bind to the correct LAN interface and firewall it properly.
  • Serial permissions changed: On Linux, the service user may lack permission for the USB serial device. Check group membership and udev rules if used.
  • USB device name changed: The radio moved from one tty device name to another after reboot. Use stable device identifiers where possible.
  • Rig model mismatch: A generic backend may partly work but fail on mode, split, or PTT. Select the most appropriate supported model for your radio.
  • Multiple clients commanding at once: A logger, amplifier controller, or old rig-control window is still connected and issuing commands.

Safety and regulatory caveats

CAT control can key a transmitter. Treat it as part of the transmit chain, not merely a convenience feature. Keep RF exposure compliance, station identification, band privileges, power limits, and remote-control rules in mind. US amateurs should follow current FCC rules and applicable band privileges; operators outside the United States should consult their own regulator. Local electrical safety, lightning protection, grounding practices, and antenna clearances still apply regardless of how polished the software setup looks.

If you use remote access, remember that authentication, control-operator responsibility, and reliable shutdown matter. A reachable desktop session or VPN does not remove the need for lawful operation and a fail-safe way to stop transmission.

FAQ

Does Hamlib 4.7.2 mean my station was compromised?

No conclusion like that follows automatically. A security-fix release means you should patch and reduce exposure. It does not prove that your station was attacked. Review your network exposure, firewall rules, and logs if available, but avoid assuming the worst without evidence.

Should rigctld be available across my whole home network?

Usually no. Make it reachable only where needed. For many stations, localhost is enough. For a LAN-based digital station, limit access to the specific operating computer or subnet used for the shack.

Can I keep using WSJT-X 3.0.1?

WSJT-X 3.0.1 is listed by the official WSJT-X site as the current general-availability release. Whether you should update or reinstall depends on your station and platform, but do not assume a WSJT-X update automatically patches a separate rigctld daemon.

Is changing the rigctld port enough?

No. A nondefault port may reduce casual noise, but it is not a security boundary. Use binding, firewall rules, network segmentation, and authenticated remote access where remote operation is needed.

Key takeaways

  • Hamlib 4.7.2 rigctld security fixes are a good reason to patch any station that exposes rigctld on a LAN.
  • Patch the daemon host, not just the laptop or the digital-mode application.
  • Bind rigctld to localhost unless another computer genuinely needs access.
  • Use firewall rules or network segmentation so only approved station clients can reach CAT control.
  • Retest WSJT-X CAT, frequency, mode, split, and PTT behavior before normal operating.
  • Never expose rigctld directly to the internet; use properly secured remote-access methods and follow applicable amateur-radio rules.

A well-run digital station is not just sensitive on receive. It is predictable, controlled, and intentionally limited. Patch Hamlib, lock down CAT, and verify WSJT-X control before the next weak-signal opening.

Similar Posts