Grig Developer Info

If you consider yourself to be an advanced Linux user, or maybe even a free software developer, you will find the information on this page useful.

Latest Source Code

If you want to try the latest source code you should get it directly from the CVS repository. This page gives you detailed instructions on how you can access the CVS repository. Remeber to use grig2 instead of modulename.

If you just want to browse the source code in a convenient way, you may also find the ViewVC web interface interesting.

Grig User Support

Web Forum

Gpredict has its own forum on where you can ask for support or discuss anything related to gpredict. You have to subscribe in order to post your comments and questions.

Mailing lists

The groundstation-user mailing list is intended for everything related the installation, use, and discussions of grig. Announcements of new releases are also sent to this list. You will have to subscribe, otherwise your posts will be blocked (spam prevention). See the list information page for details.

The groundstation-developer mailing list is for the development of grig. You should not post questions related to the installation or use of grig, except if it may be related to a bug. It is okay to discuss feature requests on this list. Announcements of new releases are also sent to this list.
You will have to subscribe, otherwise your posts will be blocked (spam prevention). See the list information page for details.

Notification of New Releases

You can get automatic notication of new releases via any of the following means:

  • Subscribe toGrig Announcements on the web forum
  • Subscribe to the Grig news feed (RSS or Atom) on my website
  • Subscribe to the goundstation-user mailing list..
  • Subscribe to Grig at Freshmeat. You will need an account at Freshmeat in order to that.
  • Subscribe to new releases at SourceForge. This requires that you have an account at SourcForge. If you have that, go to download page and click on the Monitor icon.
  • Moditor the new software releases at

Submitting Bugs

If you believe that you have found a bug in grig, you can submit a report via the bug tracker. Please include a detailed description of the bug, how to reproduce it, and the environment you are using. The bug tracker will give you the possibility to monitor the evolution of your report, i.e. when the bug is fixed, closed, etc.

Feature Requests

If there is a feature that you would like to see in grig, you can submit a request via the feature request tracker. Please try to be as specific as possible in the description of the requested feature, otherwise we may not understand what you mean. It is also a good idea to monitor your request so that you can get notified of any progress or enquiries of further elaboration.

Grig Documents

There is a manual page which you can read by typing

man grig

in your terminal. 

The manual page is reproduced below.



grig – graphical user interface for the Ham Radio Control Libraries (hamlib)



grig [OPTION]…



Grig is a simple Ham Radio control (CAT) program based on the Ham Radio Control Libraries. It is intended to be highly generic presenting the user to the same graphical user interface regardless of which radio is being controlled.

Grig does not store any radio configuration, instead it takes a number of command line options.

-m, –model=ID
select radio model number; see –list
-r, –rig-file=DEVICE
set device of the radio, eg. /dev/ttyS0
-s, –speed=BAUD
set transfer rate (serial port only)
-c, –civ-addr=ID
set CI-V address (decimal, ICOM only)
-C, –set-conf=par=val[,par2=val2]
set additiional configuration parameters
-d, –debug=LEVEL
set hamlib debug level (0..5)
-D, –delay=VALUE
set delay between commands in msec (see below)
-n, –nothread
use timeout calls instead of thread (see below)
-l, –list
list supported radios and exit
-p, –enable-ptt
enable ptt control
-P, –enable-pwr
enable power status control
-h, –help
show a brief help message and exit
-v, –version
show version information and exit

Example: Start grig using YAESU FT-990 connected to the first serial port, using 4800 baud and debug level set to warning:

     grig -m 116 -r /dev/ttyS0 -s 4800 -d 3

or if you prefer the long options:

     grig –model=116 –rig-file=/dev/ttyS0 –speed=4800 –debug=3

It is usually enough to specify the model ID and the DEVICE.

If you start grig without any options it will use the Dummy backend and set the debug level to 0 (RIG_DEBUG_NONE). If you do not specify the transfer rate for the serial port, the default serial speed will be used by the backend and even if you specify a value, it can be overridden by the backend. If you omit the radio device (port) grig will use /dev/ttyS0 or localhost if the selected radio is RPC-rig.



0 No debug, keep quiet.
1 Serious bug.
2 Error case (e.g. protocol, memory allocation).
3 Warnings.
4 Verbose information.
5 Trace.

Grig has its own debug message handler, which will manage messages from hamlib too. The messages are printed to STDERR by default but they can be redirected to a file. In bash shell you would write something like:

     grig [options] 2> grig.log

You can then use the Message Window in the View menu to view these messages. The debug messages printed by grig a formatted in a structured way with each line containing both time, source and level of the message. Each field is separated with ;; so you can also import the log file into a spread sheet for further analysis.



Grig 0.7.2 supports the most commonly used CAT command implemented by hamlib. These include frequency, mode, filter and various level settings. Please note that not all features have been thoroughly tested since I don’t have access to any modern high-end radios. Therefore, comments regarding success or failure in using grig will be highly appreciated.



Buffer Overflow in Radio
By default, grig tries to execute rig commands as fast as possible in order to achieve an almost real-time remote control experience. This strategy has turned out to cause problems with some radios, probably because these radios acknowledge the reception of a command before executing them, whereby the next command will be sent before the previous one has terminated. To avoid any possible buffer overflow in these situations, one can try to experiment with the -D or –delay command line argument, which will put the specified delay in between each executed command. The default value is 10 milliseconds and the smallest possible value is 1 millisecond (if one specifies 0 millisecond on the command line, the default value will be
 used). If you find a value which is better for your radio than the default value, please let us know about it.
Daemon Never Starts on FreeBSD
There have been reports on that the new, thread-based daemon process is never started on FreeBSD, while the old, timeout-based daemon worked fine. It is therefore possible to choose the two ways to run the daemon process. The default is the new thread based daemon, but if you use FreeBSD and nothing seems to work after start-up you can select the timout-based daemon with the -n or –nothread command line option.
Connection Settings
Once you have started grig you can not change the radio settings (model, device, speed). You will have to restart the program if you want to change any of these settings.
Multiple Radios
Grig can control only one radio at the time. There are, however, no problems in starting several instances of grig as long as they do not try to control the same radio. An exception to this is the RPC-rig backend in which case the rpc rig daemon will act as a server while grig or any other hamlib frontends will act as a clients.
Power OFF State
On some radios, grig does not cope very well with the power off state. It is yet not known whether this is a bug in the hamlib backend or in grig and we will definitely appreciate your input. The situation gets even more complicated due to the fact that different radios behave in a different ways when they are powered OFF; some of them will continue to respond to remote commands, while others will not. Even the same radio, like the FT-817, can behave differently depending on whether it is powered from internal batteries or external power supply. Grig tries to handle this mess by suspending all rig commands while in power OFF state. Only the power ON command will be sent to the rig. By default, the power status control is disabled and must explicitly be enabled using the -P or –enable-pwr command line switch.
PTT Control
Similar to the power state, the PTT has caused strange behaviour on some radios. Consequently, it has been disabled by default but can be enabled using the -p or –enable-ptt command line aguments.




Written by Alexandru Csete, OZ9AEC.


Report bugs to <groundstation-developer *at*>.
Bugs related to hamlib should be reported directly to the hamlib developers at <hamlib-developer *at*>.


Copyright © 2001-2006 Alexandru Csete.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.




This document was created by man2html, using the manual pages.
Time: 17:52:09 GMT, January 07, 2007

Grig Download Information

Currently, I can only guarantee installation support for source package, although binary packages may be available from third parties. Brief installation instructions and notes are given below. Please also study the documents available in the source package.

Source Packages

The latest source distribution can be downloaded from the SourceForge download area.

Unpack the source package with:

     tar -xvfz grig-x.y.z.tar.gz

Change to the grig-x.y.z directory and build grig:

make install

The last step usually requires you to become root, otherwise you may not have the required permissions to install grig. If you can not or do not want to install grig as root, you can install grig into a custom directory by adding –prefix=somedir to the ./configure step.

If the configure step fails with an error, examine the output. It will usually tell you which package or libraries you need in order to build grig. Please note, the you also need the so-called development packages. In many GNU/Linux systems you can just install the GNOME Development stuff, but I would recommend to just install everything if you can (except if you are running Debian ;-).

Of course, you will also need Hamlib installed and working properly on your system before you can install grig.

If you encounter any show-stoppers, feel free to ask for help, see User Support.

Debian Packages

Joop Stakenborg is kind enough to maintain debian packages for grig. The latest versions of Grig are usually available on testing and unstable. If not, you can check this page for status.


There are native Ubuntu packages for grig, but they may not be quite up to date. You may want to try the debian package instead.

Fedora Core

Grig is included in Fedora Core, see the status here.

Suse Linux

No recent info available. You can try the Fedora RPM.


No recent info available. You can try the Fedora RPM.


Grig is available from freshports.

Mac OS X

The source code can be built the same way as under Linux:

make install

This has been reported to work and, since I do not have any Mac, I can not provide any support beyond this. Sorry.


Well, it is possible, it works fine, but I don’t support it anymore. Try Linux instead 😉

Grig Screenshots

Below you can see some standards screenshots of Grig. You can browser the full set of grig screenshots and diagrams in my Grig picture gallery.


The Main Window

The main window gives you access to the most common functions including frequency, mode, filter and AGC controls. Besides being the most common, these CAT commands are available on most radios with CAT capability.

Grig main window


Radio Info Dialog

The info dialog gives you a quick overview of the CAT capabilities of your radio. The info dialog is accessible from the menu bar via the Radio menu.

Radio info dialog


Receiver Level Controls

Grig supports most of the available level settings from hamlib for both RX and TX. This screenshot shows the receiver level controls. The transmitter level controls look very similar to this one.

Receiver level controls


Debug Message Window

The message window can be used to analyse previously captured debug messages coming from both hamlib and grig. It can also be used real-time, although the performance may become an isuue when using very detailed debug levels.

Debug message window


About Grig

Grig is a simple Ham Radio control (CAT) program based on the Ham Radio Control Libraries (Hamlib). It is intended to be highly generic presenting the user to the same graphical user interface regardless of which radio is being controlled.

Grig supports the most commonly used CAT commands that are implemented by Hamlib, and integrates well with other ham radio programs like Xlog and gMFSK. Thanks to Hamlib, grig works with most CAT-capable amateur radios. You can check out the Supported Radios page at the Hamlib website.

Grig is free software licensed under the GNU General Public License. This gives you the freedom to use and modify gpredict to suit your needs. Moreover, gpredict is available for most platforms including Unix/Linux, Mac OS X, and Windows.


Grig main window
Grig main window.


Please note that I have had very little spare time to work on Grig over the last few years. Therefore I am looking for people to take over and maintain it.