Install RTL-SDR V3 dongle on the deb systems

Posted on Aug 3, 2024

Prerequisites

  • RTL-SDR Blog V3 R860 (R820T2) RTL2832U device, which can be purchased from the official store.

Install RTL-SDR

First, start from the official quick start guide. Then go to the V3 user guide dongle to figure out the V3 features or if you have V4 dongle use this link.

Before connecting the dongle, run the kernel message buffer to clarify the technical data about the device:

sudo dmesg -w

Output:

[ 9597.866134] usb 1-2: new high-speed USB device number 7 using xhci_hcd
[ 9598.028639] usb 1-2: New USB device found, idVendor=0bda, idProduct=2838, bcdDevice= 1.00
[ 9598.028652] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 9598.028659] usb 1-2: Product: RTL2838UHIDIR
[ 9598.028663] usb 1-2: Manufacturer: Realtek
[ 9598.028667] usb 1-2: SerialNumber: 00000001

First, if you already have some other drivers installed, please purge them from your system using the following commands:

sudo apt purge ^librtlsdr
sudo rm -rvf /usr/lib/librtlsdr* /usr/include/rtl-sdr* /usr/local/lib/librtlsdr* /usr/local/include/rtl-sdr* /usr/local/include/rtl_* /usr/local/bin/rtl_*

Next you can install the RTL-SDR Blog drivers using the following:

sudo apt-get install -y libusb-1.0-0-dev git cmake pkg-config build-essential
git clone https://github.com/rtlsdrblog/rtl-sdr-blog
cd rtl-sdr-blog/
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo cp ../rtl-sdr.rules /etc/udev/rules.d/
sudo ldconfig

After installing the libraries you will likely need to unload the DVB-T drivers, which Linux uses by default.

echo 'blacklist dvb_usb_rtl28xxu' | sudo tee --append /etc/modprobe.d/blacklist-dvb_usb_rtl28xxu.conf

Restart the device. After it boots up again run the rtl_test command to test the device.

Output:

Found 1 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 
Enabled direct sampling mode, input 2
Sampling at 2048000 S/s.

Info: This tool will continuously read from the device, and report if
samples get lost. If you observe no further output, everything is fine.

Reading samples in async mode...

rtl_433

rtl_433 (despite the name) is a generic data receiver, mainly for the 433.92 MHz, 868 MHz (SRD), 315 MHz, 345 MHz, and 915 MHz ISM bands.

Source code: https://github.com/merbanan/rtl_433 Documentation: https://triq.org/rtl_433/

Install

sudo apt update
sudo apt install -y rtl-433

Run.

rtl_433 -h

Default receive mode, use the first device found, listen at 433.92 MHz at 250k sample rate.

rtl_433

The output could be like this:

time      : 2024-08-03 21:26:40
model     : Cotech-xxxxxx ID        : 187
Battery   : 1            Temperature: 87.2 F       Humidity  : 28 %          Rain      : 299.1 mm      Wind direction: 348       Wind      : 0.1 m/s       Gust      : 0.3 m/s
Light Intensity: 217 lux UV Index  : 5             Integrity : CRC

Troubleshooting

Use this link if you have an issue.

rtl_eeprom

rtl_eeprom

Output:

Found 1 device(s):
  0:  Generic RTL2832U OEM

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner

Current configuration:
__________________________________________
Vendor ID:              0x0bda
Product ID:             0x2838
Manufacturer:           Realtek
Product:                RTL2838UHIDIR
Serial number:          00000001
Serial number enabled:  yes
Bias Tee always on:     no
Remote wakeup enabled:  no
__________________________________________

Install SDR++

Read more about the installation process here.

sudo apt install -y libfftw3-dev libglfw3-dev libvolk2-dev libzstd-dev libsoapysdr-dev libairspyhf-dev libiio-dev libad9361-dev librtaudio-dev libhackrf-dev

wget https://github.com/AlexandreRouma/SDRPlusPlus/releases/download/nightly/sdrpp_debian_bookworm_amd64.deb

sudo dpkg -i sdrpp_debian_bookworm_amd64.deb