Quick start RTL2832 USB SDR receiver on Linux

GQRX is a quick way to use RTL-SDR receivers on Linux:

adduser $(whoami) plugdev

apt install gqrx-sdr rtl-sdr

You can also download the latest release of GQRX directly.

Example RTL-SDR usage

Test RTL2832 PLL Frequency range

rtl_test -t

Output should be like:

Found 1 device(s): 0: ezcap USB 2.0 DVB-T/DAB/FM dongle
Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle
Found Elonics E4000 tuner
Supported gain values (18): -1.0 1.5 4.0 6.5 9.0 11.5 14.0 16.5 19.0 21.5 24.0 29.0 34.0 42.0 43.0 45.0 47.0 49.0
Benchmarking E4000 PLL...
E4K PLL not locked for 53000000 Hz!
E4K PLL not locked for 2217000000 Hz!
E4K PLL not locked for 1109000000 Hz!
E4K PLL not locked for 1248000000 Hz!
E4K range: 54 to 2216 MHz
E4K L-band gap: 1109 to 1248 MHz

Record RTL-2832 SDR passband to disk for future playback/processing

Note, this is the entire passband ~ 2 MHz bandwidth, not just the demodulated audio. Example command:

rtl_sdr /tmp/cap.bin -s 1.8e6 -f 90.1e6

Press Ctrl+C to stop recording after several seconds so that your hard drive doesn’t fill up. You can read the cap.bin file in MATLAB, Python or GNU Radio.

Non-GQRX easy ways to use RTL-SDR

There are many more ways to use RTL-SDR on an embedded system or laptop, here are some of the more popular ways.


MATLAB has RTL-SDR support with several examples and a free eBook. Matlab also supports USRP and PLUTO SDR hardware among others.


Python has numerous methods to access RTL-SDR hardware

  • GNU Radio (perhaps start with GNU Radio Companion graphical SDR IDE)

      apt install gnuradio
  • pyrtlsdr module which is a pure Python wrapper for librtlsdr and less bulky than GNU Radio.

Leave a Comment