Beginners Guide of RTL SDR (Software Defined Radio) on Kali Linux

SDR stands for Software defined Radio which is a radio communication system where components that have been traditionally implemented in hardware. We can use a SDR device as our super ear like Daredevil.

What is a RTL SDR?

In February 2012 the first FM radio signal was received with an RTL2832U chipset (Created for Digital HD TV), and RTL-SDR dongle using custom SDR drivers, After then tons of security researchers, hackers, makers, students and electronics lovers bought the RTL-SDR devices.

Basically RTL SDR device is a software defined radio signal receiver, wait a minute! Did we just say Radio signal receiver? Isn't it actually my grandfather's FM radio does? Not like that actually The FM radios signals used to carry commercial radio signals between 88 and 108 MHz. An RTL SDR can go through a very wide range (22-2200 MHz, depending on tuner model). We had mentioned this device on our Hardware for Hackers article. A RTL SDR device is looks like following:

RTL SDR Software Defined Radio on Kali Linux

We can buy this device from Amazon.

buy rtlsdr on amazon

What we can do with RTL SDR?

We can do a lot of things with a RTL-SDR device they are following:

  • 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.
  • Decoding POCSAG/FLEX pager traffic.
  • Scanning for cordless phones and baby monitors.
  • Tracking & receiving meteorological agency launched weather balloon data.
  • Tracking our own self launched high altitude balloon for payload recovery.
  • Receiving wireless temperature sensors and wireless power meter sensors.
  • Listening to VHF amateur radio.
  • Decoding ham radio APRS packets.
  • Watching analogue broadcast TV.
  • Sniffing GSM signals.
  • Using RTL-SDR on your Android device as a portable radio scanner.
  • Receiving GPS signals and decoding them.
  • Using RTL-SDR as a spectrum analyzer.
  • Receiving NOAA weather satellite images.
  • Listening to satellites and the ISS.
  • Listening to unencrypted military communications.
  • Radio astronomy.
  • Monitoring meteor scatter.
  • Listening to DAB broadcast radio.
  • Use RTL-SDR as a panadapter for your traditional hardware radio.
  • Decoding taxi mobile data terminal signals.
  • Use RTL-SDR as a true random number generator.
  • Listening to amateur radio hams on SSB with LSB/USB modulation.
  • Decoding digital amateur radio ham communications such as CW/PSK/RTTY/SSTV.
  • Receiving HF weatherfax.
  • Receiving digital radio mondiale shortwave radio (DRM).
  • Listening to international shortwave radio.
  • Looking for RADAR signals like over the horizon (OTH) radar, and HAARP signals.

We can see there are tons of work can be done with the RTL-SDR device.

Requirements to use RTL-SDR?

  1. First of all we need a RTL-SDR device, We got our RTL-SDR device from NooElec for testing, a special thanks to them. We can buy this model on Amazon. It comes with three type of antennas, a coax cable and obviously a RTL-SDR device with RTL2832U chipset.
  2. We also need a Kali Linux desktop/laptop or a Raspberry Pi, any other OS like other Linux distros, Mac even Windows also works with RTL-SDR. But here we are going to do our stuffs with our most loved Kali Linux.
  3. We need a RTL-SDR software (Most of which is free and open-source).

Setting up RTL-SDR on Kali Linux

In this article we are going to set up and RTL-SDR device on our Kali Linux system and test it with it's a basic use.

First of all we need to make ready our RTL-SDR device, connect it with the coax cable and attach antenna. Then plug it to our system's USB port. After plugging it in we need to check if our system is recognizing it by using following command:

sudo lsusb

In the following screenshot we can see our RTL2831U chipset, in the highlighted area.

rtl sdr is connected

It's fine, our RTL-SDR device is connected to our system. But here is a problem, as we told this RTL2832U chipset is created for TV so default Debian driver may think it as a TV Tuner. We need to fix it at first. We have to blacklist those drivers to do so.

We need to go to the /etc/modprob.d directory by using following command:

cd /etc/modprobe.d

Here we need to use the following command:

sudo nano blacklist-dvb.conf

Then nano will open in front of us as we can see in the following screenshot:

nano for creating configuration file

Here we need to type following lines:

blacklist dvb_usb_rtl28xxu

We did it, shown in the following screenshot:

blacklisting default debian drivers

Then we press CTRL+X then we press Y then we need to press Enter ⤶ to save this file and exit.

Debian default drivers and exit
We had used cd command to get back to our home directory.

Now we need to test our RTL-SDR device if it is working perfectly. To do that we need to install rtl-sdr package on our system by using following command:

sudo apt install rtl-sdr -y

In the following screenshot we can see the output of above command:

installing rtlsdr packages on Kali Linux
It is already installed on our system

Now to check if our RTL-SDR is working perfectly we need to run following command on our terminal window:

rtl_test

After some seconds we can cancel it and check for data losses (after the initial one). If we didn't see ant packet losses message then it is working fine.

rtl sdr device testing

Now we had almost completed our RTL-SDR setup on our Kali Linux we just need to install an RTL-SDR software to tune.

Installing and Using GQRX on Kali Linux

We are going to install an open-source software called GQRX.

GQRX is an open-source software-defined radio (SDR) receiver powered by the GNU radio and the Qt graphical toolkit.

GQRX has many features such as:

  • 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.

GQRX comes with Kali Linux repository so we just need to apply following command on our terminal to install it:

sudo apt install gqrx-sdr -y

In the following screenshot we can see that gqrx is already installed on our system. The installation process will take some time depending on our system performance and internet speed.

GQRX installed on Kali Linux

Now we can just run the gqrx command on our terminal to start the gqrx.

gqrx

For the very first time we are running gqrx we got a configuration window. In the following screenshot we shows our working settings (mostly default).

gqrx first time configuration

After clicking on "OK" we will be in the gqrx main screen, In the following screenshot we can see that we had successfully running GQRX on our Kali Linux system.

running GQRX on Kali Linux

We can see the interface. On the Top left corner we can see the Play button (▶) which can be used to play and pause. In the left-hand side we can see the Receiver options box, where we can set various type of settings, like Frequency, width, mode etc.

Tuning FM Stations on Kali Linux

Let we set the frequency to our local FM Radio station. Here we need to remember one thing as we told previously that commercial radio stations only can use 88 to 108 MHZ. Here we can put the frequencies on KHz.

That means we need to x100 on our MHz frequencies to make it KHz. A simple math. If our local radio station transmitting frequency on 91.5 that means it;s in MHz we need to make it 91500 KHz, and set it to our Frequency on Receiver Options. Then we need to click on the Play ▶ Button. We also need to set the mode to WFM (mono/stereo which sounds good). Now we can listen our radio as we can see in the following screenshot:

listing radio on Kali Linux
Listening can't be captured on a image but we can see the clear radio signals

YA. We did it! We can learn more on GQRX on GQRX tips and tricks and Decoding off keying.

Wait A Minute
Wait a minute. What just we did? We listen Radio on our computer? Why? We can do it on a little FM/Radio Player. People did the same thing since 40's era. What is new here?

OK then, we can say we learnt installations and the basic use of GQRX (very powerful tool), we also had setup RTL-SDR on our system. Not only that, Now we can listen radio (no more commercial radio stations, please) conversation on emergency services like fire services, polices/cops etc.

Emergency services doesn't uses commercial radio frequencies (88-108 MHZ), In different countries they use different frequencies. If we want to learn about their frequencies we can Google it. We can get the USA database of frequencies here.

FAQ

Can we transmit Radio signals using RTL-SDR?

No. We can't. RTL-SDR is just a receiver, it can't transmit radio signals. Transmitting long range signals without proper permission is illegal in various countries. We can check the laws of our respective country to know more on it.

Is It Legal to listen Emergency services radio?

This is totally different in various countries. Listening some emergency is not illegal. There are specific laws in all countries we need to know about them by simple Google search. But using a RTL-SDR device is not illegal, misusing it will be illegal. So we can't show anything on our this article which is illegal to any country.

Can we listen GSM (2G) calls using RTL-SDR?

That's tricky. We know that GSM calls are not end-to-end encrypted, but but they are encrypted at many steps along their path, so we can't just tune into the GSM frequency and listen phone calls over the air like radio stations. We can capture and analyze GSM signals (not directly phone calls) using RTL-SDR. We will cover these things in our future article.

Hope this will cover the basics of RTL-SDR and it's uses on Kali Linux. We are going to publish more articles and cover much more things on Software Defined Radio.

Love our articles? Make sure to follow us on Twitter and GitHub, we post article updates there. To join our KaliLinuxIn family, join our Telegram Group. We are trying to build a community for Linux and Cybersecurity. For anything we always happy to help everyone on the comment section. As we know our comment section is always open to everyone. We read each and every comment and we always reply.

google-playkhamsatmostaqltradent