Quick start RTL2832 USB SDR receiver on Linux

GQRX is popular for RTL-SDR receivers on Linux:

adduser $(whoami) plugdev

apt install gqrx-sdr rtl-sdr

You can also download the latest release of GQRX.


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

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.

Other RTL-SDR programs

Here are other popular programs for the RTL-SDR.


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 – a pure Python wrapper for librtlsdr and less bulky than GNU Radio.

Leave a Comment