I wanted Gpredict to drive my IC-7100 automatically during satellite passes, handling both Doppler correction and mode switching without me riding the VFO by hand. Gpredict doesn’t talk to radios directly; it hands rig control off to Hamlib’s rigctld, which sits between Gpredict and the radio over CI-V. Here’s how I got the two talking on Linux.

Find the Hamlib model number Link to heading

Hamlib needs to know which model you’re using. List the supported rigs and grep for the IC-7100:

rigctl -l | grep -i 7100

Start rigctld Link to heading

The IC-7100 is Hamlib model 3070. With the radio connected via USB, start rigctld:

rigctld -m 3070 -r /dev/ttyUSB0 -s 9600 -t 4532
Flag Description
-m 3070 IC-7100 Hamlib model
-r /dev/ttyUSB0 serial device
-s 9600 baud rate (match the CI-V baud rate set on the radio; try 19200 or 115200 if 9600 doesn’t work)
-t 4532 TCP port Gpredict connects to (4532 is the default)

rigctld will keep running in the foreground, listening for TCP connections and translating them into CI-V commands for the radio.

Configure Gpredict Link to heading

With rigctld running, point Gpredict at it:

  1. Open Edit > Preferences > Interfaces, then the Rigs tab
  2. Click Add new and set Host to localhost and Port to 4532

Gpredict radio interface preferences dialog for the IC-7100, configured with host localhost and port 4532

  1. Save the configuration, then open the radio control toolbar in the satellite tracking window and hit Engage to connect

Once engaged, Gpredict streams Doppler-corrected downlink and uplink frequencies to rigctld, which forwards them to the IC-7100 in real time as the satellite moves through its pass.

Gpredict Radio Control window tracking the ISS on the IC-7100, showing Doppler-corrected downlink and uplink frequencies with AOS in 12:30

Fix permission errors on /dev/ttyUSB0 Link to heading

If rigctld can’t open the serial device, it’s almost always a permissions issue. Add your user to the dialout group:

sudo usermod -aG dialout $USER

Log out and back in for the group change to take effect.