RIGCTL(1) Hamlib Utilities RIGCTL(1) (NAME) rigctl - (SYNOPSIS) rigctl [-hiIlLnouV] [-m id] [-r device] [-p device] [-d device] [-P type] [-D type] [-s baud] [-c id] [-t char] [-C parm=val] -Y [-v[-Z]] [command|-] (DESCRIPTION) . rigctl . Hamlib (BETA) . backend . (BUGS) . . (OPTIONS) GNU . . (`--') `=' . : -m, --model=id . dummy rig ( ) . ( "rigctl -l" ). : rigctl ( C API ) NET rigctl ( rigctld) . -r, --rig-file=device device . /dev/ttyS0 /dev/ttyS1 /dev/ttyUSB0 COM1 COM2 MS Windows. BSD Mac OS/X . . : 127.0.0.1:12345 "uh-rig" micro-ham . -p, --ptt-file=device device Push-To-Talk . -d, --dcd-file=device device Data Carrier Detect . -P, --ptt-type=type type () Push-To-Talk. `RIG' ( CAT) `DTR' `RTS' `PARALLEL' `CM108' `GPIO' `GPION' `NONE' PTT backend (override) . DTR PTT frontend Hamlib . NONE PTT backend / PTT . -D, --dcd-type=type type () Data Carrier Detect. `RIG' ( CAT) `DSR' `CTS' `CD' `PARALLEL' `CM108' `GPIO' `GPION' `NONE'. -s, --serial-speed=baud baud. backend ( -m ) . -c, --civaddr=id id CI-V . Icom Ten-Tec . : id (decimal) 0x (hexadecimal) . -t, --send-cmd-term=char char send_cmd. ASCII CR (`0x0D') . ASCII ASCII "0x" . . "-1" rigctl . send_cmd . Kenwood "-t ';'" rigctl . (EXAMPLES) . -L, --show-conf -m . -C, --set-conf=parm=val[,parm=val] () . : async: True . transceive . auto_power_on: True auto_power_off: True auto_disable_screensaver: True dcd_type: Data Carrier Detect ( ) dcd_pathname: Data Carrier Detect ( ) disable_yaesu_bandselect: True Yaesu dtr_state: ON DTR OFF Unset freq_skip: !=0 TX_VFO RX RX_VFO TX -- gpredict TARGETABLE_VFO lo_freq: VFO post_write_delay: ptt_share: True ptt ptt_type: Push-To-Talk ptt_pathname: Push-To-Talk ptt_bitnum: GPIO Push-To-Talk retry: rts_state: ON DTR OFF Unset twiddle_timeout: VFOB VFOB twiddle_rit: get_freq VFOB RIT timeout: write_delay: tuner_control_pathname: / 0/1 / -L . -u, --dump-caps -m . -l, --list Hamlib . . : Shift-PageUp/Shift-PageDown X cmd Windows . more(1) less(1) (pipe) "rigctl -l | more". -o, --vfo vfo. VFO ( set_vfo) . VFO `currVFO' . -n, --no-restore-ai rigctl (AI) . rigctl AI . -i, --read-history (: $HOME/.rigctl_history) . rigctl Readline ( READLINE ). : RIGCTL_HIST_DIR : "RIGCTL_HIST_DIR=~/tmp rigctl -i". RIGCTL_HIST_DIR HOME . -I, --save-history ( () -i ) (: $HOME/.rigctl_history) . . rigctl Readline ( READLINE ). : RIGCTL_HIST_DIR "RIGCTL_HIST_DIR=~/tmp rigctl -I". RIGCTL_HIST_DIR HOME . -v, --verbose (verbose) ( (DIAGNOSTICS) ). -Y,--ignore-err -Z, --debug-time-stamps . -v . -h, --help . -V, --version rigctl . -!, --cookie -#, --skip_init . - . (Standard Input) . : . --set-conf --show-conf . . Hamlib . . . . : M LSB 2400 Hamlib set get set get . `\' . : "\dump_caps" backend . : . Hamlib . (Standard Input) READLINE rigctl (`-') (stdin) . (whitespace) . `#' `#' . ( ): $ cat <<.EOF. >cmds.txt > # File of commands > v f m # query rig > V VFOB F 14200000 M CW 500 # set rig > v f m # query rig > .EOF. $ rigctl -m1 - ( set . get .): Q|q rigctl rigctl (interactive). rigctl (rig) backend . rigctl rigctld ( ) TCP/IP rigctld rigctld TCP/IP . F, set_freq 'Frequency' 'Frequency' Hz. Frequency . f, get_freq 'Frequency' Hz. VFO hamlib . ( Icom) VFO VFO hamlib . rigctld VFO vfo . M, set_mode 'Mode' 'Passband' 'Mode' 'Passband'. Mode (token) : `USB' `LSB' `CW' `CWR' `RTTY' `RTTYR' `AM' `FM' `WFM' `AMS' `PKTLSB' `PKTUSB' `PKTFM' `ECSSUSB' `ECSSLSB' `FA' `SAM' `SAL' `SAH' `DSB'. Passband Hz -1 `0' backend . IC7300 1 2 3 . : `?' ( ) Mode Mode backend . Mode backend . m, get_mode 'Mode' 'Passband'. Mode (token) Passband Hz set_mode . V, set_vfo 'VFO' 'VFO'. VFO (token) : `VFOA' `VFOB' `VFOC' `currVFO' `VFO' `MEM' `Main' `Sub' `TX' `RX' `MainA' `MainB' `MainC' `SubA' `SubB' `SubC'. VFO ( --vfo ) VFO : $ rigctl -m 2029 -r /dev/rig -o Rig command: V VFO: VFOB Rig command: v, get_vfo 'VFO' . VFO (token) set_vfo . J, set_rit 'RIT' 'RIT'. RIT Hz + - . `0' RIT ( Receiver Incremental Tuning) VFO . : RIT set_func . RIT RIT `0' . j, get_rit 'RIT' Hz. . Z, set_xit 'XIT' 'XIT'. XIT Hz + - . `0' XIT ( Transmitter Incremental Tuning) VFO . : XIT set_func . XIT XIT `0' . z, get_xit 'XIT' Hz. . T, set_ptt 'PTT' 'PTT'. PTT : `0' ( RX) `1' ( TX) `2' ( TX) `3' ( TX). t, get_ptt 'PTT'. PTT set_ptt . S, set_split_vfo 'Split' 'TX VFO' 'Split'. Split `0' = Normal () `1' = Split (). 'TX VFO'. TX VFO (token) : `VFOA' `VFOB' `VFOC' `currVFO' `VFO' `MEM' `Main' `Sub' `TX' `RX'. s, get_split_vfo 'Split'..IP Split `0' = Normal `1' = Split . 'TX VFO'. TX VFO set_split_vfo . I, set_split_freq 'Tx Frequency' 'TX Frequency' . . i, get_split_freq 'TX Frequency' . . K, set_split_freq_mode 'TX Frequency' 'TX Mode' 'TX Passband' 'TX Frequency' 'TX Mode' 'TX Passband'. set_split_mode . k, get_split_freq_mode split. X, set_split_mode 'TX Mode' 'TX Passband' 'TX Mode' 'TX Passband'. TX Mode : `USB' `LSB' `CW' `CWR' `RTTY' `RTTYR' `AM' `FM' `WFM' `AMS' `PKTLSB' `PKTUSB' `PKTFM' `ECSSUSB' `ECSSLSB' `FA' `SAM' `SAL' `SAH' `DSB'. TX Passband `0' . : `?' () TX Mode TX Mode . TX Mode . x, get_split_mode 'TX Mode' 'TX Passband'. TX Mode TX Passband set_split_mode . Y, set_ant 'Antenna' 'Option' 'Antenna' 'Option'. Number (`1' `2' `3' ...). Option . Icom Tx Rx IC-7851 . . . IC-7851 FTDX3000 ( ) : 1 = TX/RX = ANT1 FTDX3000=ANT1/ANT3 2 = TX/RX = ANT2 FTDX3000=ANT2/ANT3 3 = TX/RX = ANT3 FTDX3000=ANT3 4 = TX/RX = ANT1/ANT4 5 = TX/RX = ANT2/ANT4 6 = TX/RX = ANT3/ANT4 y, get_ant 'Antenna' 'Antenna' 0 Antenna TX > 0 (`1' `2' `3' ...). Option . Icom RX only . b, send_morse 'Morse' 'Morse'. Yaesu memory# (- ) ( memory#1 ) : rigctl -m 3073 -r /dev/ttyUSB0 b "CQ CQ DE ME" Yaesu message#1: rigctl -m 1035 -r /dev/ttyUSB0 b 1 0xbb, stop_morse . 0xbc, wait_morse -- full break-in . 0x94, send_voice_mem 'Msgnum' 'Msgnum' 0xab, stop_voice_mem 0x8b, get_dcd 'DCD' (squelch): `0' () `1' (). 0x8d, set_twiddle 'Timeout' 'Timeout' twiddle . 0x8e, get_twiddle 'Timeout' twiddle . R, set_rptr_shift 'Rptr Shift' 'Rptr Shift'. Rptr Shift : `+' `-' `None'. r, get_rptr_shift 'Rptr Shift'. `+' `-' `None' . O, set_rptr_offs 'Rptr Offset' 'Rptr Offset' . o, get_rptr_offs 'Rptr Offset' . C, set_ctcss_tone 'CTCSS Tone' 'CTCSS Tone' . c, get_ctcss_tone 'CTCSS Tone' . D, set_dcs_code 'DCS Code' 'DCS Code'. d, get_dcs_code 'DCS Code'. 0x90, set_ctcss_sql 'CTCSS Sql' 'CTCSS Sql' . 0x91, get_ctcss_sql 'CTCSS Sql' . 0x92, set_dcs_sql 'DCS Sql' 'DCS Sql'. 0x93, get_dcs_sql 'DCS Sql'. 0x95, set_cache 'Timeout' . 0x96, get_cache . 0x97, uplink 'Uplink' VFO 'Uplink' (1=Sub 2=Main). N, set_ts 'Tuning Step' 'Tuning Step' . n, get_ts 'Tuning Step' . U, set_func 'Func' 'Func Status' 'Func' 'Func Status'. Func : `ABM' `AFC' `AFLT' `AIP' `ANF' `ANL' `APF' `ARO' `BC2' `BC' `COMP' `CSQL' `DIVERSITY' `DSQL' `DUAL_WATCH' `FAGC' `FBKIN' `LOCK' `MBC' `MN' `MON' `MUTE' `NB2' `NB' `NR' `OVF_STATUS' `RESUME' `REV' `RF' `RIT' `SATMODE' `SBKIN' `SCEN' `SCOPE' `SEND_MORSE' `SEND_VOICE_MEM' `SPECTRUM' `SPECTRUM_HOLD' `SQL' `SYNC' `TBURST' `TONE' `TRANSCEIVE' `TSQL' `TUNER' `VOX' `VSC' `XIT'. ABM -- AFC -- / AFLT -- AF AIP -- RF ( AIP Kenwood IPO Yaesu ) ANF -- (DSP) ANL -- APF -- ARO -- BC -- (Beat Canceller) BC2 -- COMP -- CSQL -- DCS DIVERSITY -- / (Diversity) DSQL -- DUAL_WATCH -- / FAGC -- (Fast AGC) FBKIN -- ( CW) LOCK -- MBC -- MN -- (Manual Notch) MON -- MUTE -- NB -- (Noise Blanker) NB2 -- NR -- (DSP) OVF_STATUS -- : 0= 1= RESUME -- REV -- RF -- RTTY RIT -- (RIT) SATMODE -- / SBKIN -- ( CW) SCEN -- / SCOPE -- / SEND_MORSE -- CW () SEND_VOICE_MEM -- SSB SPECTRUM -- / SPECTRUM_HOLD -- / SQL -- / SYNC -- VFO TBURST -- TONE -- CTCSS ( TX) TRANSCEIVE -- / TSQL -- / CTCSS ( RX) TUNER -- VOX -- (VOX) VSC -- (Voice Scan Control) XIT -- (XIT).IP Func Status (non-null) "activate" () "de-activate" () TRUE/FALSE C ( `0' ). : `?' () Func (set function) backend . backend . u, get_func 'Func' 'Func Status'. Func Status (non-null) Func set_func . : `?' () Func (get function) backend . backend . L, set_level 'Level' 'Level Value' 'Level' 'Level Value'. Level : `AF', `AGC', `AGC_TIME', `ALC', `ANTIVOX', `APF', `ATT', `BAL', `BAND_SELECT', `BKINDL', `BKIN_DLYMS', `COMP', `COMP_METER', `CWPITCH', `ID_METER', `IF', `KEYSPD', `METER', `MGC', `MGF', `MGL', `MICGAIN', `MONITOR_GAIN', `NB', `NOTCHF', `NOTCHF_RAW', `NR', `PBT_IN', `PBT_OUT', `PREAMP', `RAWSTR', `RF', `RFPOWER', `RFPOWER_METER', `RFPOWER_METER_WATTS', `SLOPE_HIGH', `SLOPE_LOW', `SPECTRUM_ATT', `SPECTRUM_AVG', `SPECTRUM_EDGE_HIGH', `SPECTRUM_EDGE_LOW', `SPECTRUM_MODE', `SPECTRUM_REF', `SPECTRUM_SPAN', `SPECTRUM_SPEED', `SQL', `STRENGTH', `SWR', `TEMP_METER', `USB_AF', `USB_AF_INPUT', `VD_METER', `VOXDELAY', `VOXGAIN'. Level Value (float) (integer) . AGC : `0' = OFF `1' = SUPERFAST `2' = FAST `3' = SLOW `4' = USER `5' = MEDIUM `6' = AUTO. (rigs) . : rigctl -m MODEL_ID -u | grep "AGC levels" Windows: rigctl -m MODEL_ID -u | find "AGC levels" (Level units) 0.0-1.0 0=0% 1.0=100% ( BAL 50% ) AF, ALC, ANTIVOX, BAL, COMP, MICGAIN, MONITOR_GAIN, NOTCHF_RAW, NR, RF, RFPOWER, RFPOWER_METER, USB_AF, VOXGAIN (Amps) ID_METER(A) (dB) NL, COMP_METER, PREAMP, ATT, SLOPE_LOW, SLOPE_HIGH, SPECTRUM_REF, SPECTRUM_ATT, STRENGTH () TEMP_METER(C) (Hz) CWPITCH, IF, NOTCHF, PBT_IN, PBT_OUT, SPECTRUM_EDGE_LOW, SPECTRUM_EDGE_HIGH, SPECTRUM_SPAN (Seconds) VOXDELAY(ds), BKINDL(ms), BKIN_DLYMS(ms) rig RAWSTR, BANDSELECT ( -- ) SWR SWR (Volts) VD_METER Lookup - level 0/0/0 lookup METER RIG_METER_XXXX 1=SWR, 2=COMP, 4=ALC, 8=IC, 16=DB, 32=PO, 64=VDD, 128=Temp AGC 0=None, 1=SuperFast, 2=Fast, 3=Slow, 4=User, 5=Medium, 6=Auto : AGC -- AGC Level dumpcaps ( rigctl -m 1035 -u | grep AGC) SPECTRUM_MODE 0=None, 1=Center, 2=Fixed, 3=Center Scroll, 4=Fixed Scroll SPECTRUM_AVG rig METER -- SWR,COMP,ALC,IC/ID,DB,PO,VDD,TEMP Lookup l METER meter number=name (Watts) RFPOWER_METER_WATTS (WPM) KEYSPD : `?' () Level (set level) backend . backend . l, get_level 'Level' 'Level Value'. Level Value (float) (integer) Level set_level . : `?' () Level (get level) backend . backend . P, set_parm 'Parm' 'Parm Value' 'Parm' 'Parm Value'. Parm : `AFIF', `AFIF_ACC', `AFIF_LAN', `AFIF_WLAN', `ANN', `APO', `BACKLIGHT', `BANDSELECT', `BAT', `BEEP', `KEYERTYPE', `KEYLIGHT', `SCREENSAVER', `TIME'..IP : `?' () Parm (set parameter) (backend) . . ANN -- "Announce" ann_t APO -- int BACKLIGHT -- LCD float [0.0 ... 1.0] BEEP -- int (0,1) TIME -- hh:mm:ss (int) 00:00:00 BAT -- float [0.0 ... 1.0] KEYLIGHT -- on/off SCREENSAVER -- AFIF -- 0=AF audio 1=IF audio -- IC-7300/9700/705 BANDSELECT -- BAND160M BAND80M.... ? KEYERTYPE -- Icom 0 1 2 STRAIGHT BUG PADDLE p, get_parm 'Parm' 'Parm Value'. Parm Value float integer Parm set_parm . : `?' () Parm (get parameter) . . B, set_bank 'Bank' 'Bank'. . E, set_mem 'Memory#' 'Memory#'. e, get_mem 'Memory#'. G, vfo_op 'Mem/VFO Op' 'Mem/VFO Op'. Mem/VFO Operation : `CPY' `XCHG' `FROM_VFO' `TO_VFO' `MCL' `UP' `DOWN' `BAND_UP' `BAND_DOWN' `LEFT' `RIGHT' `TUNE' `TOGGLE'. : `?' () Mem/VFO Op Set Mem/VFO Op . Mem/VFO Op . g, scan 'Scan Function' 'Scan Channel' 'Scan Function' 'Scan Option'. Scan Function : `DELTA', `MEM', `PLT', `PRIO', `PROG', `SLCT', `STOP', `VFO'. Scan Option . Scan Option Yaesu 0=STOP 1=UP 2=DOWN. Scan Option Icom G . Scan Option Kenwood . : `?' () Scan Fct Scan Function . Scan Function . H, set_channel 'Channel' 'Channel'. . h, get_channel 'Channel' 'readonly' . readonly!=0 . readonly=0 . A, set_trn 'Transceive' 'Transceive'. Transceive : `OFF' `RIG' `POLL'. Transceive . : `?' () Transceive Transceive . Transceive . a, get_trn 'Transceive'. Transceive ( ) set_trn . *, reset 'Reset' 'Reset' . Reset : `0' = `1' = `2' = VFO `4' = `8' = (Master reset). (bitmask) include/hamlib/rig.h OR . 0x87, set_powerstat 'Power Status' 'Power Status'. Power Status : `0' = `1' = `2' = ( standby) `4' = ( standby). 0x88, get_powerstat 'Power Status' set_powerstat . 0x89, send_dtmf 'Digits' DTMF 'Digits'. 0x8a, recv_dtmf DTMF 'Digits'. 0xac, set_conf 'Token' 'Value' 'Token' 'Value'. 0xad, get_conf 'Token' 'Token'. _, get_info . 0xf5, get_rig_info VFO . 0xf1, halt rigctl rigctld . 0xf3, get_vfo_info 'VFO' VFO . 0xf4, get_vfo_list VFO . 0xf6, get_modes (modes). 0xf7, get_mode_bandwidths 'Mode' 'Mode'. : get_modes. dump_state . 1, dump_caps (dump) . (TODO): . . : ! Dummy . VFO << VFO>> . 2, power2mW 'Power [0.0..1.0]' 'Frequency' 'Mode' 'Power mW' . 0.0...1.0 ( ) . 'Frequency' 'Mode' . VFO VFO . 3, dump_conf (dump) . 4, mW2power 'Power mW' 'Frequency' 'Mode' 'Power [0.0..1.0]' . ( ) 0.0 ... 1.0 . 'Frequency' 'Mode' . VFO VFO . w, send_cmd 'Cmd' . . \0xAA\0xBB . 'Reply' ASCII ( ). SmartSDR : w "C0|set slice 0 tx=1" send-cmd-term . . W, send_cmd_rx 'Cmd' nbytes_or_terminator_char nbytes ( ;). . <= (timeout) . ';' Kenwood/Yaesu . . \0xAA\0xBB . 'Reply' ASCII ( ). send-cmd-term . . set_clock 'DateTime' 'DateTime' -- . / (debug) . ISO8601 . YYYY-MM-DDTHH:MM:SS.SSS+ZZ (where +ZZ is either -/+ UTC offset HH) YYYY-MM-DDTHH:MM:SS.SSS+ZZZZ (where +ZZZZ is either -/+ UTC offset HHMM) YYYY-MM-DDTHH:MM:SS+ZZ YYYY-MM-DDTHH:MM:SS+ZZZZ YYYY-MM-DDTHH:MM+ZZ YYYY-MM-DDTHH:MM+ZZZZ YYYY-MM-DD (sets date only) local (sets both clocks to local time) utc (sets both clocks to utc time) : Icom UTC . ... 4PM EST 2021-12-01T16:00:00-0500 ... GMT GMT UTC . Icom : Kenwood NTP . NTP - . UTC . get_clock 'RigTime' -- . ISO8601 YYYY-MM-DDTHH:MM:SS.sss+ZZ +ZZ UTC -/+ . chk_vfo 'Status' vfo (Status) . -o rigctl rigctld set_vfo_opt . set_vfo_opt 'Status' 'Status' (Status) vfo 1= 0=. -o rigctl rigctld . . set_separator 'SeparatorChar' 'SeparatorChar' rigctld ( # ). tcprequest node-red . . get_separator 'SeparatorChar' (SeparatorChar) . pause 'Seconds' 'Seconds' () . password 'Password' rigctld -A rigctld . rigctld . ( ) set_lock_mode 'Locked' (1) (0) ( rigctld). . CW Skimmer FM IC-7300 . spot spotting VFOA . CW Skimmer "set_lock_mode 1" CW Skimmer "set_lock_mode 0" . get_lock_mode : 1= 2= ( rigctld ). send_raw 'Terminator' 'String' ASCII 0xnn xnn -- . (terminator) CR LF ; ICOM 1-100 ( ) 0 -1 ( ). ( ; / ): Windows Unix/Linux : send_raw icom 0xFE:0xFE:0x94:0x03:0xFD Note: colon-separated does not have to be escaped on Unix/Linux send_raw -1 0xFE:0xFE:0x94:0x03:0xFD send_raw 14 0xFE:0xFE:0x94:0x03:0xFD Note that ASCII commands still require escaping the semicolon on Unix/Linux send_raw \; FA\;MD\; Windows: send_raw ; FA;MD; send_raw icom 0xFE;0xFE;0x94;0x03;0xFD send_raw -1 0xFE;0xFE;0x94;0x03;0xFD send_raw 14 0xFE;0xFE;0x94;0x03;0xFD Unix/Linux: send_raw icom 0xFE;0xFE;0x94;0x03;0xFD send_raw \; FA\;MD\; send_raw -1 0xFE;0xFE;0x94;0x03;0xFD send_raw 14 0xFE;0xFE;0x94;0x03;0xFD client_version 'String' rigctld . hamlib_version Hamlib / ISO8601 . test . . set_gpio 'GPIO#' '0/1' GPIO1 GPIO2 GPIO3 GPIO4 ptt GPIO . 1,2,3,4 . get_gpio 'GPIO#' GPIO1 GPIO2 GPIO3 GPIO4 ptt GPIO . 1,2,3,4 . skip_init -- rigctl . Readline (configure) rigctl Readline . Readline Readline . rigctl "rigctl" Readline ($HOME/.inputrc ) rigctl . Readline Readline . . . -i/--read-history -I/--save-history rigctl / ( -i -I ) rigctl . . . $HOME/.rigctl_history RIGCTL_HIST_DIR . RIGCTL_HIST_DIR HOME . . Readline . Readline Readline rigctl . : Readline MS Windows Hamlib . rigctl MS Windows `cmd' . (DIAGNOSTICS) -v --verbose stderr : -v BUG -vv ERR -vvv WARN -vvvv VERBOSE -vvvvv TRACE. (verbose) . TRACE . rigctl : 0 1 2 Hamlib . (EXAMPLES) rigctl Yaesu FT-920 USB Linux : $ rigctl -m 1014 -r /dev/ttyUSB1 rigctl Yaesu FT-920 COM1 MS Windows TRACE stderr: > rigctl -m 1014 -r COM1 -vvvvv rigctl Yaesu FT-920 USB (baud rate) (stop bits): $ rigctl -m 1014 -r /dev/ttyUSB1 -s 4800 -C stop_bits=2 rigctl Elecraft K3 USB w: $ rigctl -m 2029 -r /dev/ttyUSB0 -t';' rigctld 2 ("NET rigctl") TCP : $ rigctl -m 2 -r localhost:4532 F 7253500 M LSB 0 set_chan . ... : Hamlib (COPYRIGHT) Hamlib . (C) 2000-2011 Stephane Fillod (C) 2000-2018 Hamlib ( ) (C) 2010-2020 Nate Bargmann COPYING . . (SEE ALSO) less(1), more(1), rigctld(1), hamlib(7) (COLOPHON) Hamlib Git (daily snapshots) hamlib.org . Hamlib 2026-01-06 RIGCTL(1)