Skip to content

rig-service

One shared rigctld for the station's rig, as a systemd user service

What it does

Runs one hamlib rigctld for the operator, a systemd user service bound to 127.0.0.1:4532, carrying the station's radio. Every program that speaks hamlib's NET rigctl — WSJT-X, fldigi, JS8Call, Pat, gpredict and the rest — points at that one port instead of each opening the serial port itself. For a radio with no CAT it runs hamlib's dummy model keying an RTS or DTR line, so those programs are configured for it exactly as for a CAT rig.

Why you would want it

One program owns the serial port; every other program shares it. Two programs opening the port directly is the classic digital-modes failure, and its symptom is erratic behaviour rather than an error. This settles it once: say which radio is on the station with hammunition station set --rig, and the service is there at every login.

Before it will work

The station's rig values (hammunition station set --rig …). Membership of dialout, which the rig hardware class adds — log out completely afterwards, because a group added mid-session does not reach the user manager. With the rig values unset the service is deferred and the rest of an install proceeds (D-035).

How it installs

  • apt: libhamlib-utils

Known problems

Loopback is not per-user: any local account and any local process can connect to 127.0.0.1:4532 and key the transmitter, and rigctld has no password (its -A option is "not implemented"). On a single-operator laptop that is the operator's own software; on a shared machine it is a transmitter anyone logged in can key. Two operators logged in at once would each try to start a rigctld on 4532 and the second fails to bind — the station is one operator's. Changing a rig value reaches the service only through a reinstall of this unit, which station set prints when it changes one. Not yet run against a real radio: the service at login, the UV-50PRO's keying line and start-up keying, --unattended across a logout, and the loopback filter with real clients are the bench's (D-073); docs/guides/rig-control.md says what was measured.

Keeping it current

  • probe: apt policy
  • strategy: apt_upgrade

Where to get help with the software itself

The Hamlib project's mailing list for rigctld and backend questions.

Source: catalog/packages/rig-service.yaml