This will enable CAT control on your Mac running WSJT-X with the (tr)uSDX and possibly other USDX rigs as well. WSJT-X uses Hamlib to connecto to and manage CAT on different radios. The problem (thanks to Guido PE1NNZ for identifying), is that Hamlib resets the port when it connects. This causes the radio to reset and then it's not yet available when Hamlib tries to connect. We can work around that by blocking the ability for Hamlib to reset the port. The simplest way to do that is to have the port already in use when Hamlib starts up.
I was not able to achieve that using the Hamlib built into WSJT-X. However, by installing Hamlib separately, and running it in TCP server mode (acts like a network server), I was able to get this all to work.
You need to install hamlib
with brew install hamlib
. If you don't have brew
already, then you will need
to either install it, or use a different method for installing hamlib
. Once that is installed, you should
be able to run rigtctld
on its own.
- Connect the (tr)USDX to external power first
- Connect the USB cable to the rig
- Copy the shell script above into your path (e.g.
/usr/local/bin
) - Run
chmod 755 <where you put it>
to make it executable - Run the script with
urig
if it's in your path or./urig
if it's in the current directory
Once that says 'rigctld' running
, you can start WSJT-X. Configure WSJT-X like the screenshot included in
this gist.
I have an M1 Mac Book Pro running mac OS 14.2.1. I am connected to my (tr)uSDX radio through an Apple USB-C to USB adaptor.
I don't know much about com ports or UNIX scripts but I determine that I needed to use "/dev/tty.usbserial-110" as my Serial Port setting in WSJT-X. I then had to modify the script a bit to PORT=
ls -tr "/dev/tty.usbserial-110" | tail -1
. Not sure if this is the correct syntax but it did allow the script to complete correctly. From there I upped the Baud Rate to 115200 per your note and Test CAT went green!Thanks for this script and the helpful details, I would not have gotten up and running without it.