gqrx/README.md

240 lines
6.5 KiB
Markdown
Raw Normal View History

2013-02-20 21:05:30 +00:00
Gqrx
====
2016-10-02 20:35:15 +00:00
Gqrx is an open source software defined radio (SDR) receiver implemented using
2020-11-02 01:50:04 +00:00
[GNU Radio](https://gnuradio.org) and the [Qt GUI toolkit](https://www.qt.io/).
2016-11-22 15:10:01 +00:00
Currently it works on Linux and Mac with hardware supported by gr-osmosdr,
including Funcube Dongle, RTL-SDR, Airspy, HackRF, BladeRF, RFSpace, USRP and
SoapySDR.
2013-07-05 14:40:15 +00:00
2016-10-02 20:35:15 +00:00
Gqrx can operate as an AM/FM/SSB receiver with audio output or as an FFT-only
instrument. There are also various hooks for interacting with external
2020-11-02 01:44:52 +00:00
applications using network sockets.
2012-09-30 02:24:51 +00:00
2013-08-02 11:41:22 +00:00
Download
--------
2011-07-25 14:32:30 +00:00
2020-11-02 01:44:52 +00:00
Gqrx is distributed as a source code package and binaries for Linux and Mac.
2016-09-29 21:32:15 +00:00
Alternate Mac support is available through macports and homebrew.
2013-08-02 11:41:22 +00:00
Usage
-----
2020-11-02 02:43:12 +00:00
It is strongly recommended to run the `volk_profile` utility before
2020-11-02 01:44:52 +00:00
running gqrx. This will detect and enable processor-specific optimisations and
2015-12-09 21:39:56 +00:00
will in many cases give a significant performance boost.
2015-11-09 22:32:06 +00:00
The first time you start gqrx it will open a device configuration dialog.
Supported devices that are connected to the computer are discovered
automatically and you can select any of them in the drop-down list.
2013-08-02 11:41:22 +00:00
If you don't see your device listed in the drop-down list it could be because:
2015-12-09 21:39:56 +00:00
- The driver has not been included in a binary distribution
2013-08-02 11:41:22 +00:00
- The udev rule has not been properly configured
2015-11-09 22:32:06 +00:00
- Linux kernel driver is blocking access to the device
2013-08-02 11:41:22 +00:00
2015-12-09 21:39:56 +00:00
You can test your device using device specific tools, such as rtl_test,
airspy_rx, hackrf_transfer, qthid, etc.
2013-08-02 11:41:22 +00:00
2015-11-09 22:32:06 +00:00
Gqrx supports multiple configurations and sessions if you have several devices
or if you want to use the same device under different configurations. You can
2020-11-02 01:44:52 +00:00
load a configuration from the GUI or using the `-c` command line argument. See
`gqrx --help` for a complete list of command line arguments.
2013-08-02 11:41:22 +00:00
2013-11-18 12:55:40 +00:00
Tutorials and howtos are being written and published on the website
2020-11-02 01:44:52 +00:00
https://gqrx.dk/
2013-11-18 12:55:40 +00:00
2013-08-02 11:41:22 +00:00
Known problems
--------------
See the bug tracker on Github: https://github.com/csete/gqrx/issues
Getting help and reporting bugs
-------------------------------
2015-12-09 21:39:56 +00:00
There is a Google group for discussing anything related to Gqrx:
2015-11-09 22:32:06 +00:00
https://groups.google.com/forum/#!forum/gqrx
This includes getting help with installation and troubleshooting. Please
remember to provide detailed description of your problem, your setup, what
steps you followed, etc.
2013-08-02 11:41:22 +00:00
2015-12-09 21:39:56 +00:00
Please stick around and help others with their problems. Otherwise, if only
developers provide user support there will be no more time for further
development.
2013-08-02 11:41:22 +00:00
Installation from source
------------------------
2015-12-09 21:39:56 +00:00
Gqrx can be compiled using qmake or cmake.
2013-08-02 11:41:22 +00:00
The source code is hosted on Github: https://github.com/csete/gqrx
To compile gqrx from source you need the following dependencies:
2020-02-02 12:36:42 +00:00
- GNU Radio 3.8 with the following components:
2013-07-08 19:51:18 +00:00
- gnuradio-runtime
- gnuradio-analog
2020-02-02 12:36:42 +00:00
- gnuradio-audio
2013-07-08 19:51:18 +00:00
- gnuradio-blocks
2020-02-02 12:36:42 +00:00
- gnuradio-digital
2013-07-08 19:51:18 +00:00
- gnuradio-fft
2020-02-02 12:36:42 +00:00
- gnuradio-filter
2015-12-07 21:29:40 +00:00
- gnuradio-pmt
2013-04-20 11:17:31 +00:00
- The gr-iqbalance library (optional)
2016-09-29 21:32:15 +00:00
- Drivers for the hardware you want to have support for:
- Funcube Dongle Pro driver via gr-fcd
- UHD driver via gr-uhd
2013-07-18 22:22:01 +00:00
- Funcube Dongle Pro+ driver from https://github.com/dl1ksv/gr-fcdproplus
2020-11-02 01:50:04 +00:00
- RTL-SDR driver from https://git.osmocom.org/rtl-sdr
- OsmoSDR driver from https://git.osmocom.org/osmo-sdr
- HackRF driver from https://github.com/mossmann/hackrf
- Airspy driver from https://github.com/airspy/airspyone_host
2016-09-29 21:32:15 +00:00
- SoapySDR from https://github.com/pothosware/SoapySDR
- RFSpace driver is built in
2020-11-02 01:50:04 +00:00
- gnuradio-osmosdr from https://git.osmocom.org/gr-osmosdr
2020-11-02 01:44:52 +00:00
- pulseaudio or portaudio (Linux-only and optional)
2016-09-29 21:32:15 +00:00
- Qt 5 with the following components:
- Core
- GUI
- Network
2016-09-29 21:32:15 +00:00
- Widgets
2020-11-02 01:44:52 +00:00
- Svg (runtime-only)
2018-03-03 11:39:40 +00:00
- pkg-config
- cmake version >= 3.2.0 if you wish to build using cmake.
2016-09-29 21:32:15 +00:00
2015-12-09 21:39:56 +00:00
To build using qmake, you can either open the gqrx.pro file in Qt Creator and
build, or on the command line:
<pre>
$ git clone https://github.com/csete/gqrx.git gqrx.git
$ cd gqrx.git
$ mkdir build
$ cd build
$ qmake ..
$ make
</pre>
2011-07-28 10:08:39 +00:00
2015-12-09 21:39:56 +00:00
Using cmake, gqrx can be compiled from within Qt Creator or in a terminal:
2011-07-28 10:08:39 +00:00
For command line builds:
2013-08-02 11:41:22 +00:00
<pre>
$ git clone https://github.com/csete/gqrx.git gqrx.git
$ cd gqrx.git
2015-12-09 21:39:56 +00:00
$ mkdir build
$ cd build
$ cmake ..
$ make
2013-08-02 11:41:22 +00:00
</pre>
2020-11-02 01:44:52 +00:00
On some systems, the default cmake release builds are "over-optimized" and
2015-12-09 21:39:56 +00:00
perform poorly. In that case try forcing -O2 using
<pre>
export CXXFLAGS=-O2
</pre>
before the cmake step.
For Qt Creator builds:
<pre>
$ git clone https://github.com/csete/gqrx.git gqrx.git
$ cd gqrx.git
2015-12-09 21:39:56 +00:00
$ mkdir build
Start Qt Creator
Open gqrx.git/CMakeLists.txt file
2015-12-09 21:39:56 +00:00
At the dialog asking for build location, select gqrx.git/build
click continue
If asked to choose cmake executable, do so
click continue
click the run cmake button
click done
optionally, on the Projects page, under Build Steps/Make/Additional arguments,
enter -j4 (replacing 4 with the number of cores in your CPU).
Use Qt Creator as before
</pre>
2011-01-13 21:30:13 +00:00
2013-02-20 21:05:30 +00:00
Credits and License
-------------------
2011-07-30 16:28:44 +00:00
2015-11-09 22:32:06 +00:00
Gqrx is designed and written by Alexandru Csete OZ9AEC, and it is licensed
under the GNU General Public License.
2020-11-02 01:44:52 +00:00
Some of the source files were adapted from Cutesdr by Moe Weatley and these
2015-11-09 22:32:06 +00:00
come with a Simplified BSD license.
2020-11-02 01:44:52 +00:00
The following people and organisations have contributed to gqrx:
2011-07-30 16:28:44 +00:00
2020-10-16 02:09:09 +00:00
* Alex Grinkov
* Alexander Fasching
* Andrea Merello
* Andrea Montefusco, IW0HDV
2020-11-14 17:16:50 +00:00
* Andy Sloane
2020-10-16 02:09:09 +00:00
* Anthony Willard
2020-10-16 02:17:52 +00:00
* Anton Blanchard
2020-10-16 02:09:09 +00:00
* Bastian Bloessl
2020-10-22 11:25:23 +00:00
* Ben Reese
2020-11-14 17:16:50 +00:00
* Bob McGwier, N4HY
2020-11-11 05:05:15 +00:00
* Brandonn Etheve
2020-11-14 17:16:50 +00:00
* charlylima
2020-10-16 02:09:09 +00:00
* Chris Kuethe
* Christian Lindner, DL2VCL
* Clayton Smith, VE3IRR
2020-11-14 17:09:24 +00:00
* Dallas Epperson
2020-10-16 02:09:09 +00:00
* Daniil Cherednik
2020-11-14 17:16:50 +00:00
* Darin Franklin
2020-11-14 15:28:34 +00:00
* Davide Gerhard
2020-10-16 02:09:09 +00:00
* Dominic Chen
* Elias Önal
* Federico Fuga
2020-11-14 17:16:50 +00:00
* Frank Brickle, AB2KT
2020-10-16 02:17:52 +00:00
* Gisle Vanem
2020-10-16 02:09:09 +00:00
* Göran Weinholt, SA6CJK
* Grigory Shipunov
2020-10-16 02:17:52 +00:00
* Gwenhael Goavec-Merou
2020-11-14 17:16:50 +00:00
* Jeff Long
2020-10-16 02:09:09 +00:00
* Jiawei Chen
* Jiří Pinkava
* Josh Blum
* Kate Adams
* Kitware Inc.
2020-10-16 02:17:52 +00:00
* Konrad Beckmann
2020-10-22 11:25:23 +00:00
* luzpaz
* Marco Savelli
2020-10-16 02:17:52 +00:00
* Markus Kolb
2020-10-16 02:09:09 +00:00
* Michael Dickens
* Michael Lass
* Michael Tatarinov
* Moe Weatley
* Nadeem Hasan
2020-10-16 02:17:52 +00:00
* Nate Temple
2020-10-16 02:09:09 +00:00
* Nick Robinson, KE5YWP
* Nokia
* Pavel Milanes, CO7WT
2020-10-22 11:25:23 +00:00
* Pavel Stano
2020-10-16 02:09:09 +00:00
* Phil Vachon
* Rob Frohne
2020-10-16 02:17:52 +00:00
* Ron Economos, W6RZ
2020-10-16 02:09:09 +00:00
* Stefano Leucci
* Sylvain Munaut
2020-10-16 02:17:52 +00:00
* Tarmo Tanilsoo
2020-10-16 02:09:09 +00:00
* Timothy Reaves
* Valentin Ochs
* Vesa Solonen
* Vincent Pelletier
* Will Scales
* Wolfgang Fritz, DK7OB
* Youssef Touil
* Zero_Chaos
2016-08-19 22:05:26 +00:00
Some of the icons are from:
2020-10-16 02:09:09 +00:00
- The GNOME icon theme CC-SA 3.0 by GNOME icon artists
2016-08-19 22:05:26 +00:00
- Tango icon theme, Public Domain by The people from the Tango! project
- Mint-X icon theme, GPL by Clement Lefebvre
2016-04-04 19:28:09 +00:00
2015-11-09 22:32:06 +00:00
Also thanks to Volker Schroer and Alexey Bazhin for bringing Funcube Dongle
Pro+ support to GNU Radio and Gqrx.
2013-08-02 11:41:22 +00:00
2018-01-02 00:13:34 +00:00
Let me know if somebody is missing from the list.
2013-02-06 23:27:01 +00:00
Alex OZ9AEC