RTL-SDR

From ArchWiki

RTL-SDR is a set of tools that enables DVB-T USB dongles based on the Realtek RTL2832U chipset to be used as cheap software defined radios, given that the chip allows transferring raw I/Q samples from the tuner straight to the host device.

See the RTL-SDR wiki for exact technical specifications.

Packages

The latest stable RTL-SDR version can be installed from rtl-sdr in the official repositories.

Bleeding edge is on rtl-sdr-gitAUR in the AUR.

Note: RTL-SDR conflicts with existing DVB-T drivers in the kernel, and upon installation blacklists the relevant drivers as can be seen in /usr/lib/modprobe.d/rtlsdr.conf. To use the dongle with the original DVB-T drivers, it is required to manually load them, see DVB-T#Driver.

udev rules are installed at /usr/lib/udev/rules.d/10-rtl-sdr.rules and set the proper permissions such that non-root users can access the device.

Tip: The official RTL-SDR software does not include an infrared module. If one is desired, this fork, which includes an rtl_ir module, should be used instead.

Usage

Performing a simple test, and make sure the dongle works and that there are no lost samples:

$ rtl_test

Raw samples can be captured directly to file (or fifo), for example to tune to 123.4MHz and capture 1.8M samples/sec:

$ rtl_sdr capture.bin -s 1.8e6 -f 123.4e6

Tune to your favorite radio station and pipe to sox for audio:

$ rtl_fm -f 102.7e6 -M wbfm -s 200000 -r 48000 - | aplay -r 48000 -f S16_LE

Applications

Some popular 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-gitAUR - a lightweight ModeS (1090Mhz) decoder
  • multimon-ng-gitAUR - a decoder for various digital modes
  • rtl_433AUR - protocol aware receiver for multiple devices. Supports automatic packet interception and protocol analyzers for reverse engineering.