Which RTL-SDR dongle? What we learned at 800 MHz
There are three kinds of "RTL-SDR" you can buy, and they are not interchangeable:
- Generic RTL2832U + R820T/R820T2. The $25 stick. Tunes 24–1766 MHz. Every Linux distro's
rtl-sdrpackage drives it. - RTL-SDR Blog V3. Same chips in a metal case with a TCXO, a bias tee and better filtering. Also works with the stock driver.
- RTL-SDR Blog V4. An R828D tuner with a tracking filter and an upconverter for HF. Better front end — but it needs the RTL-SDR Blog fork of librtlsdr. The stock Debian/Raspberry Pi OS driver opens it, tunes it, reports success, and streams garbage.
What the V4 did on our Pi
With the stock driver, rtl_power over 851–869 MHz returned a flat line: no carriers at all, while a $25 stick next to it on the same antenna showed a dozen control channels at +30 dB. There is no error message; it just doesn't work. Later the V4 vanished from lsusb entirely under car power — a powered hub cured that, but by then we'd already moved the scanner to the plain dongle.
If you do want the V4, build the fork before anything else and rebuild rtl_433 and dsd-fme against it:
sudo apt purge -y rtl-sdr librtlsdr0 librtlsdr-dev
sudo apt install -y libusb-1.0-0-dev cmake 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 ldconfig
Our advice for a scanner: buy two plain sticks, or two V3s, and spend the difference on antennas.
Give each dongle a serial
Cheap sticks all ship with serial 00000001, and once you have two the bridge can't tell them apart. Set serials once, with only that dongle plugged in:
rtl_eeprom -d 0 -s 00000978 # any 8 characters; replug afterwards
rtl_test -t # 0: Realtek, RTL2838UHIDIR, SN: 00000978
The bridge addresses dongles by serial (--listen-device 00000978, --rtl-power 144M:174M:12.5k@00001090) so that USB enumeration order — which changes with every reboot — never matters. And since this week, if a configured serial isn't on the bus at start, its job is moved to a dongle that is.
What actually matters
- Gain, not model. At 800 MHz a plain R820T with the gain at 30–40 dB and a roof antenna beats a V4 on a desk whip every time. The bridge's hunt log tells you the margin:
856.9625 (+38 dB)is plenty; below +18 dB it won't even try. - Power. Two dongles plus the Pi 4 exceed what a 2.4 A car adapter gives at peak. Use a 3 A supply or a powered hub; a dongle that "stops sending" after ten minutes is usually a brownout.
- Heat. Metal-cased dongles run cooler on a dashboard in Florida. Plastic ones drift until they're warm; the bridge's AFC corrects a few kHz, but 800 MHz P25 wants the tuner within ±2 kHz, so give it a minute after a cold start.
- USB cable. The dongle's USB plug directly into the Pi is fine; a 3 m extension in a car picks up alternator noise. Extend the antenna, not the USB.
Rather not build it?
Spotter $64 · Full Spectrum $499: the builds on this blog, programmed and tested, set up for where you drive, with free updates for life. The guides stay here, free, if you change your mind.
Shop Join the free Android beta
Open firmware and bridge on GitHub · receive only · every command on this blog is copied from a Pi we run