Scroll to navigation

RIGSWR(1) Hamlib Utilities RIGSWR(1)


rigswr - measure VSWR vs frequency.


rigswr [-hvV] [-m id] [-r device] [-s baud] [-c id] [-C parm=val] [-p device] [-P type] start_freq stop_freq [freq_step]


rigswr uses Hamlib to control a radio to measure VSWR (Voltage Standing Wave Ratio) over a frequency range.

It scans frequencies from start_freq to stop_freq with an optional increment of freq_step (default step is 100 kHz). All values must be entered as an integer in Hertz (cycles per second).

Note: rigswr assumes that start_freq is less than or equal to stop_freq. If it is greater, rigswr will exit without doing anything.

For each frequency, it transmits at 25% of total POWER during 0.5 second in CW mode and reads VSWR.

Frequency and the corresponding VSWR are then printed on stdout.

To work correctly, rigswr needs a radio that can measure VSWR and a Hamlib backend that supports reading VSWR from the radio.

Keep in mind that Hamlib is BETA level software. While a lot of backend libraries lack complete radio support, the basic functions are usually well supported.

Please report bugs and provide feedback at the e-mail address given in the BUGS section below. Patches and code enhancements sent to the same address are welcome.


This program follows the usual GNU command line syntax. Short options that take an argument may have the value follow immediately or be separated by a space. Long options starting with two dashes (‘-’) require an ‘=’ between the option and any argument.

Here is a summary of the supported options:

Select radio model number.
See model list (use “rigctl -l”).
Use device as the file name of the port connected to the radio.
Often a serial port, but could be a USB to serial adapter. Typically /dev/ttyS0, /dev/ttyS1, /dev/ttyUSB0, etc. on Linux, COM1, COM2, etc. on MS Windows. The BSD flavors and Mac OS/X have their own designations. See your system's documentation.
Set radio serial speed to baud rate.
Uses maximum serial speed from radio backend capabilities as the default.
Use id as the CI-V address to communicate with the radio.
Only useful for Icom and some Ten-Tec radios.
Note: The id is in decimal notation, unless prefixed by 0x, in which case it is hexadecimal.
Set radio configuration parameter(s), e.g. stop_bits=2.
Use the -L option of rigctl for a list of configuration parameters for a given model number.
Use device as the file name of the Push-To-Talk port using a device file as with the -r option above.
This is only needed if the radio doesn't have CAT PTT control and requires a separate device port to key the transmitter.
Use type of Push-To-Talk device.
Supported types are RIG (CAT), DTR, RTS, PARALLEL, NONE.
Set verbose mode, cumulative (see DIAGNOSTICS below).
Show a summary of these options and exit.
Show version of rigswr and exit.

Note: Some options may not be implemented by a given backend and will return an error. This is most likely to occur with the --set-conf option.


The -v, --verbose option allows different levels of diagnostics to be output to stderr and correspond to -v for BUG, -vv for ERR, -vvv for WARN, -vvvv for VERBOSE, or -vvvvv for TRACE.

A given verbose level is useful for providing needed debugging information to the email address below. For example, TRACE output shows all of the values sent to and received from the radio which is very useful for radio backend library development and may be requested by the developers.


rigswr exits with:

if all operations completed normally;
if there was an invalid command line option or argument;
if an error was returned by Hamlib;
if the rig doesn't have the required capabilities.


Scans frequencies between 14.000 MHz and 14.200 MHz with 50 kHz step on a TS-850 and records VSWR measurements in file cswr (typed text shown in bold):

$ rigswr -m 2009 -r /dev/ttyS1 14000000 14200000 50000 > cswr

After completion, cswr contains the following lines:

14000000 1.50
14050000 1.31
14100000 1.22
14150000 1.07
14200000 1.07

The result can be plotted with gnuplot(1):

$ gnuplot
set data style linespoints
set grid
plot cswr


Depending on keyer/QSK setup, transmissions in CW mode may not be modulated thus possibly giving a wrong result. Please report this situation if it happens.

Report bugs to:

Hamlib Developer mailing list


This file is part of Hamlib, a project to develop a library that simplifies radio, rotator, and amplifier control functions for developers of software primarily of interest to radio amateurs and those interested in radio communications.

Copyright © 2004 Thierry Leconte
Copyright © 2004-2011 Stephane Fillod
Copyright © 2007,2018-2020 Nate Bargmann

This is free software; see the file COPYING for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


gnuplot(1), rigctl(1), hamlib(7)


Links to the Hamlib Wiki, Git repository, release archives, and daily snapshot archives are available via

2020-09-09 Hamlib