Files
intercept/docs/HARDWARE.md
Smittix 02cb9c751a Fix audio dependency to use ffmpeg instead of sox
The Listening Post actually uses ffmpeg for audio encoding, not sox.
Updated all documentation, setup scripts, and code to reflect this:

- Removed unused find_sox() function from listening_post.py
- Simplified tools endpoint to only check for ffmpeg
- Updated CHANGELOG, README, HARDWARE.md, Dockerfile
- Fixed setup.sh to check for ffmpeg
- Updated frontend warnings to mention ffmpeg

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 20:53:54 +00:00

5.2 KiB

Hardware & Advanced Setup

Supported SDR Hardware

Hardware Frequency Range Price Notes
RTL-SDR 24 - 1766 MHz ~$25-35 Recommended for beginners
LimeSDR 0.1 - 3800 MHz ~$300 Wide range, requires SoapySDR
HackRF 1 - 6000 MHz ~$300 Ultra-wide range, requires SoapySDR

INTERCEPT automatically detects connected devices.


Quick Install

macOS (Homebrew)

# Install Homebrew if needed
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Core tools (required)
brew install python@3.11 librtlsdr multimon-ng rtl_433 ffmpeg

# ADS-B aircraft tracking
brew install dump1090-mutability

# WiFi tools (optional)
brew install aircrack-ng

# LimeSDR support (optional)
brew install soapysdr limesuite soapylms7

# HackRF support (optional)
brew install hackrf soapyhackrf

Debian / Ubuntu / Raspberry Pi OS

# Update package lists
sudo apt update

# Core tools (required)
sudo apt install -y python3 python3-pip python3-venv
sudo apt install -y rtl-sdr multimon-ng rtl-433 ffmpeg

# ADS-B aircraft tracking
sudo apt install -y dump1090-mutability
# Alternative: dump1090-fa (FlightAware version)

# WiFi tools (optional)
sudo apt install -y aircrack-ng

# Bluetooth tools (optional)
sudo apt install -y bluez bluetooth

# LimeSDR support (optional)
sudo apt install -y soapysdr-tools limesuite soapysdr-module-lms7

# HackRF support (optional)
sudo apt install -y hackrf soapysdr-module-hackrf

RTL-SDR Setup (Linux)

Add udev rules

If your RTL-SDR isn't detected, create udev rules:

sudo bash -c 'cat > /etc/udev/rules.d/20-rtlsdr.rules << EOF
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2838", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2832", MODE="0666"
EOF'

sudo udevadm control --reload-rules
sudo udevadm trigger

Then unplug and replug your RTL-SDR.

Blacklist DVB-T driver

The default DVB-T driver conflicts with rtl-sdr:

echo "blacklist dvb_usb_rtl28xxu" | sudo tee /etc/modprobe.d/blacklist-rtl.conf
sudo modprobe -r dvb_usb_rtl28xxu

Verify Installation

Check dependencies

python3 intercept.py --check-deps

Test SDR detection

# RTL-SDR
rtl_test

# LimeSDR/HackRF (via SoapySDR)
SoapySDRUtil --find

Python Environment

./setup.sh

This automatically:

  • Detects your OS
  • Creates a virtual environment if needed (for PEP 668 systems)
  • Installs Python dependencies
  • Checks for required tools

Manual setup

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Running INTERCEPT

After installation:

# Standard
sudo python3 intercept.py

# With virtual environment
sudo venv/bin/python intercept.py

# Custom port
INTERCEPT_PORT=8080 sudo python3 intercept.py

Open http://localhost:5050 in your browser.


Complete Tool Reference

Tool Package (Debian) Package (macOS) Required For
rtl_fm rtl-sdr librtlsdr Pager, Listening Post
rtl_test rtl-sdr librtlsdr SDR detection
multimon-ng multimon-ng multimon-ng Pager decoding
rtl_433 rtl-433 rtl_433 433MHz sensors
dump1090 dump1090-mutability dump1090-mutability ADS-B tracking
ffmpeg ffmpeg ffmpeg Listening Post audio
airmon-ng aircrack-ng aircrack-ng WiFi monitor mode
airodump-ng aircrack-ng aircrack-ng WiFi scanning
aireplay-ng aircrack-ng aircrack-ng WiFi deauth (optional)
hcitool bluez N/A Bluetooth scanning
bluetoothctl bluez N/A Bluetooth control
hciconfig bluez N/A Bluetooth config

Optional tools:

Tool Package (Debian) Package (macOS) Purpose
ffmpeg ffmpeg ffmpeg Alternative audio encoder
SoapySDRUtil soapysdr-tools soapysdr LimeSDR/HackRF support
LimeUtil limesuite limesuite LimeSDR native tools
hackrf_info hackrf hackrf HackRF native tools

Python dependencies (requirements.txt):

Package Purpose
flask Web server
skyfield Satellite tracking (optional)
pyserial USB GPS dongle support (optional)

dump1090 Notes

Package names vary by distribution:

  • dump1090-mutability - Most common
  • dump1090-fa - FlightAware version (recommended)
  • dump1090 - Generic

Not in repositories (Debian Trixie)?

Install FlightAware's version: https://flightaware.com/adsb/piaware/install

Or build from source: https://github.com/flightaware/dump1090


Notes

  • Bluetooth on macOS: Uses native CoreBluetooth, bluez tools not needed
  • WiFi on macOS: Monitor mode has limited support, full functionality on Linux
  • System tools: iw, iwconfig, rfkill, ip are pre-installed on most Linux systems