
Linux RTL SDR is a powerful tool for beginners, allowing you to receive and decode various types of radio signals using a simple USB stick.
The RTL2832U chip, found in most RTL SDR devices, is a highly sensitive tuner that can pick up signals from 24 MHz to 1850 MHz.
This frequency range makes it possible to receive signals from FM radio broadcasts, as well as other types of radio signals like ham radio and weather radar.
RTL SDR devices are also relatively affordable, with prices starting at around $20 for a basic model.
What is RTL SDR?
The RTL SDR is a software defined radio signal receiver, which is a far cry from your grandfather's old FM radio. It can receive signals across a very wide range, from 22-2200 MHz, depending on the tuner model.
RTL SDR devices were first used to receive FM radio signals in February 2012 with an RTL2832U chipset. This device was originally created for Digital HD TV.
Getting Started
To get started with Linux RTL-SDR, you'll need a few things. First, you'll need a RTL-SDR device, which can be purchased from NooElec or found on Amazon. It comes with three types of antennas, a coax cable, and a RTL-SDR device with a RTL2832U chipset.
You'll also need a Linux-based system, such as Kali Linux, a Raspberry Pi, or any other OS that works with RTL-SDR. The guide by Kenn Ranous is an excellent resource for setting up RTL-SDR on Debian Linux.
To install the drivers and set up RTL-SDR software, you'll need to follow a quickstart guide. Kenn's guide shows how to install drivers, GQRX, CubicSDR, dump1090, Virtual Radar Server, QSpectrum Analyzer, and SDR Trunk on Debian Linux.
Here are the basic requirements to use RTL-SDR:
- RTL-SDR device with RTL2832U chipset
- Linux-based system (e.g., Kali Linux, Raspberry Pi)
- RTL-SDR software (most of which is free and open-source)
Before installing RTL-SDR software, you may need to blacklist dvb_usb_rtl28xxu. This can be done by typing the following line in your terminal: blacklist dvb_usb_rtl28xxu.
SDR Usage
You can use RTL-SDR to listen to FM radio.
With RTL-SDR, you can track aircraft positions like a radar with ADS-B decoding.
GQRX is an open-source software-defined radio (SDR) receiver that comes with Kali Linux repository.
GQRX has many features, including discovering devices connected to a computer and processing I/Q data.
To install GQRX, you just need to apply the command "sudo apt-get install gqrx" on your terminal.
To set the frequency to your local FM Radio station, you can put the frequencies on KHz.
You can use RTL-SDR to track maritime boat positions like a radar with AIS decoding.
Here are some of the things you can do with RTL-SDR:
- Listening to FM radio.
- Tracking aircraft positions like a radar with ADS-B decoding.
- Listening to unencrypted Police/Ambulance/Fire/EMS conversations.
- Listening to aircraft traffic control conversations.
- Decoding aircraft ACARS short messages.
- Scanning trunking radio conversations.
- Decoding unencrypted digital voice transmissions.
- Tracking maritime boat positions like a radar with AIS decoding.
You can also use RTL-SDR to receive GPS signals and decode them.
To use RTL-SDR, you'll need a RTL-SDR device, a Kali Linux desktop/laptop or a Raspberry Pi, and a RTL-SDR software.
The installation process will take some time depending on your system performance and internet speed.
You can start the GQRX by running the "gqrx" command on your terminal.
In the GQRX main screen, you can see the interface, including the Play button and the Receiver options box.
Applications and Usage
The RTL-SDR is a powerful tool with a wide range of applications. Some popular applications that use RTL-SDR include gqrx, a popular SDR receiver with a waterfall GUI for Linux.
Gqrx is a great example of the type of applications you can run with RTL-SDR. Other notable applications include urh, a complete suite for wireless protocol investigation, and dump1090-git, a lightweight ModeS (1090MHz) decoder.
Here are some examples of applications that use RTL-SDR:
- gqrx - a popular SDR receiver with waterfall GUI for Linux
- urh - complete suite for wireless protocol investigation with native support for many common SDR
- dump1090-git - a lightweight ModeS (1090Mhz) decoder
- multimon-ng - a decoder for various digital modes
- rtl_433 - protocol aware receiver for multiple devices. Supports automatic packet interception and protocol analyzers for reverse engineering.
- sdrpp-git - SDR receiver application with a number of features.
Applications
You can use RTL-SDR for a variety of applications, from simple radio receivers to complex protocol investigation tools.

One popular SDR receiver is gqrx, a Linux-based application with a waterfall GUI that's easy to use.
If you're interested in wireless protocol investigation, you might want to check out urh, a complete suite with native support for many common SDRs.
Another useful tool is dump1090-git, a lightweight ModeS (1090Mhz) decoder that's great for decoding aircraft transponder signals.
Multimon-ng is a decoder for various digital modes, and it's a great choice if you're interested in decoding FSK, PSK, or other digital signals.
RTL-SDR can also be used with rtl_433, a protocol-aware receiver that supports automatic packet interception and protocol analyzers for reverse engineering.
For those who need a random number generator, rng-tools is a set of utilities that can help with that.
Finally, if you're looking for a feature-rich SDR receiver, sdrpp-git is a good option to consider.
Can We Receive 2G GSM Calls?
Receiving 2G GSM calls can be a bit tricky. We know that GSM calls are not end-to-end encrypted, but they are encrypted at many steps along their path.
GSM calls are not directly accessible like radio stations. We can't just tune into the GSM frequency and listen to phone calls over the air.
Capturing and analyzing GSM signals is possible using RTL-SDR. We'll cover this in more detail in a future article.
Troubleshooting and Interfacing
Troubleshooting issues with your Linux RTL SDR can be frustrating, but there's a simple fix. If you're experiencing signal overload issues with certain tuners, try downgrading the rtl-sdr package to version 0.8.0-6 or using the rtl-sdr-librtlsdr-git package, which points to the fork repository.
Alternatively, re-building applications against the alternative package is a viable solution. This will ensure compatibility and prevent signal overload issues.
Interfacing your SDR with Linux is a breeze, thanks to the variety of tools available. Here are some comprehensive SDR tools for Linux, covering a range of applications:
- GNU Radio - A free and open-source software development toolkit
- SDRangel - Versatile SDR software with a modular design
- CubicSDR - A multi-platform SDR application
- GQRX - An open-source SDR receiver powered by GNU Radio
- SoapySDR - A vendor-neutral SDR software abstraction layer
- LinHPSDR - An SDR application based on the HPSDR Hermes board
- OpenWebRx+ - A multi-user SDR receiver application
- Thetis - A multi-platform SDR application supporting HPSDR Mercury, Penelope, and Excalibur hardware
- QSpectrumAnalyzer - A real-time spectrum analyzer integrated with GNU Radio
- SDRangelino - A lightweight SDR application optimized for embedded systems
- DesktopHPSDR - A fork on PIHPSDR made for desktop use
Troubleshooting
Troubleshooting can be a real challenge, especially when working with certain tuners. Some generic/unbranded "DVB" devices are prone to signal overload even at low gain levels.
This issue starts with version 2.0.1 of the official rtl-sdr package, which switched from a fork to the official Osmocom repository. This change introduced a problem that didn't exist before.
To fix the signal overload issue, you can try downgrading the rtl-sdr package to version 0.8.0-6. This should resolve the problem and get you back up and running.
Alternatively, you can use the rtl-sdr-librtlsdr-git package, which points to the fork repository that doesn't have this issue. Just be aware that any applications which use the libraries from the rtl-sdr package will need to be re-built against the alternative package.
Interfacing SDR
Interfacing SDR can be a bit tricky, but don't worry, I've got you covered. GNU Radio is a free and open-source software development toolkit that provides signal processing blocks to implement SDR systems.
SDRangel is a versatile SDR software with a modular design, supporting various devices and advanced signal processing. It's been updated as recently as August 2023 with version 3.12.
CubicSDR is a multi-platform SDR application that supports various SDR devices, offering features like spectrum display and waterfall visualization. This makes it a great option for those with multiple devices.
If you're working with SDRplay's range of SDR receivers, SDRplay SDRUno is a powerful application designed specifically for you. It offers an intuitive user interface and regular updates.
Here are some popular SDR applications for Linux, each with its own strengths:
GQRX is an open-source SDR receiver powered by GNU Radio, providing a graphical interface and support for numerous SDR hardware options. This makes it a great option for those who want a simple and effective solution.
Software and Tools
Natpos is a new Linux-based SDR program similar in operation and features to other programs like GQRX and HDSDR. It demodulates standard AM/FM/SSB signals and has a frequency scanner that automatically tunes to the strongest signal.
To get started with RTL-SDR on Linux, you'll need a RTL-SDR device, a Kali Linux desktop/laptop or a Raspberry Pi, and a RTL-SDR software. The most popular software for RTL-SDR on Linux is GQRX, which can be installed on most Linux distributions, including Kali Linux and Linux Mint.
Some popular SDR tools for Linux include GQRX, SDRangel, and CubicSDR. GQRX is an open-source SDR receiver powered by GNU Radio, providing a graphical interface and support for numerous SDR hardware options.
Here are some popular SDR tools for Linux:
GQRX Setup and Use
GQRX is an open-source software-defined radio (SDR) receiver powered by the GNU radio and the Qt graphical toolkit. It has many features such as discovering devices connected to a computer, processing I/Q data, and recording and playing back audio to/from WAV file.
GQRX comes with Kali Linux repository, so you just need to apply the command `apt-get install gqrx` to install it. The installation process will take some time depending on your system performance and internet speed.
To run GQRX, you just need to type `gqrx` in your terminal. For the very first time you run GQRX, you will get a configuration window. You can set various type of settings like frequency, width, and mode in the Receiver options box.
You can set the frequency to your local FM Radio station, but remember that commercial radio stations only can use 88 to 108 MHz. In GQRX, you can put the frequencies in KHz.
GQRX has the following features:
- Discovering devices connected to a computer
- Processing I/Q data
- AM, SSB, CW, FM-N and FM-W (mono and stereo) de-modulators
- Recording and playing back audio to/from WAV file
- Recording and playing back raw baseband data
- Streaming audio output over UDP
Natpos: New SDR Software
Natpos is a new Linux-based SDR program.
Natpos is similar in operation and features to other programs like GQRX, HDSDR, and SDR#. It's designed to work with RTL-SDR receivers via the rtl_tcp interface.
The software demodulates standard AM/FM/SSB signals and has a frequency scanner that automatically tunes to the strongest signal.
One of the unique features of Natpos is its ability to replay past transmissions by clicking in the waterfall history.
This allows users to listen to transmissions they might have missed, even if they weren't paying attention at the time.
The author of Natpos aimed to make the audio volume of AM and FM transmissions equal and correct, with 100% modulation leading to audio output 6 dB below the ceiling.
This means users don't have to constantly adjust their volume controls.
SDR Distros
You can choose from various Linux distributions that come preloaded with SDR tools, making it easier to get started.
Some popular options include Ham Radio Linux, which is based on Ubuntu, and Raspbian Ham Radio, designed specifically for Raspberry Pi OS.
Kali Linux is another great choice, especially if you're interested in penetration testing and security auditing, as it comes with a range of SDR tools.
Other notable distributions include Pentoo, Parrot OS, BlackArch, BackBox, Dracos Linux, NST, CAINE, and Kali NetHunter.
Here's a list of some of the SDR distros mentioned:
- Ham Radio Linux
- Raspbian Ham Radio
- Kali Linux
- Pentoo
- Parrot OS
- BlackArch
- BackBox
- Dracos Linux
- NST
- CAINE
- Kali NetHunter
- Fedora Jam
Hardware and Setup
To get started with RTL-SDR on Linux, you'll need to set up your device properly. First, connect your RTL-SDR device to your system's USB port using a coax cable and an antenna.
The RTL-SDR device should be recognized by your system. To check this, run the command `lsusb` and look for the RTL2831U chipset in the output.
To ensure the device is working correctly, you'll need to blacklist the default Debian drivers that may be treating the RTL2832U chipset as a TV Tuner. This involves navigating to the `/etc/modprobe.d` directory.
Now, let's summarize the required steps in a simple table:
With these basic steps taken care of, you're ready to move on to installing the RTL-SDR package and software to tune your device.
Setup on Kali
To set up your RTL-SDR device on Kali Linux, you'll first need to connect it to your system via a coax cable and antenna, then plug it into a USB port.
Make sure your system recognizes the device by running the command "lsusb" to check for the RTL2831U chipset. If it's recognized, you'll see it in the output.
You'll need to blacklist the default Debian drivers to prevent them from treating the RTL2832U chipset as a TV tuner. To do this, navigate to the /etc/modprob.d directory and run the command "sudo gedit /etc/modprobe.d/blacklist.conf".
Once you've blacklisted the drivers, install the rtl-sdr package by running the command "sudo apt-get install rtl-sdr". If it's already installed, you'll see a message indicating so.
To test your RTL-SDR device, run the command "rtl_test" on your terminal window. If everything is working correctly, you should see the device's output.
Now that your RTL-SDR device is set up, you'll need to install an RTL-SDR software to tune in.
Antenna Types
The type of antenna you choose can greatly impact your SDR's performance, especially when it comes to receiving ADS-B signals.
The RTL-SDR Blog 1090 MHz ADS-B Antenna is optimized for receiving ADS-B signals from aircraft, making it a great choice for those interested in tracking planes.
For improved ADS-B signal reception, consider using a low-noise amplifier like the RTL-SDR Blog 1090 MHz ADS-B LNA or the LNA4ALL, which is a low-cost wideband low-noise amplifier compatible with various SDRs.
There are also several options for outdoor antennas, such as the RTL-SDR Blog 1090 MHz ADS-B Outdoor Antenna, which is designed for optimal ADS-B signal reception.
Here are some popular antenna types for SDR applications:
In addition to these options, there are also various mounting solutions available, such as the RTL-SDR Blog 1090 MHz ADS-B Antenna Tripod Mount, which makes it easy to position your antenna for optimal signal reception.
Featured Images: pexels.com


