Software Defined Radio
soapysdr
soapysdr is the glue that makes the rest of this category interchangeable. It’s
an abstraction layer: instead of every application needing its own driver for
every dongle, tools talk to SoapySDR, and SoapySDR talks to whatever device is
plugged in — RTL-SDR, HackRF, Airspy, LimeSDR, and many more. It’s rarely
something you use directly, but it’s why you can point one receiver app at any of
your hardware, and its SoapySDRUtil command is the quickest way to see what SDR
devices the system can find.
Official-repo package; Security → Software Defined Radio → soapysdr.
The help it prints
######################################################
## Soapy SDR -- the SDR abstraction library ##
######################################################
Usage SoapySDRUtil [options]
Options summary:
--help Print this help message
--info Print module information
--find[="driver=foo,type=bar"] Discover available devices
--make[="driver=foo,type=bar"] Create a device instance
--probe[="driver=foo,type=bar"] Print detailed information
--watch[="driver=foo,type=bar"] Watch device sensor information
Advanced options:
--check[=driverName] Check if driver is present
--sparse Simplified output for --find
--serial=ABCD123456 Specify device serial number
Rate testing options:
--args[="driver=foo"] Arguments for testing
--rate[=stream rate Sps] Rate in samples per second
--channels[="0, 1, 2"] List of channels, default 0
--direction[=RX or TX] Specify the channel direction
Examples
# List the installed Soapy driver modules
SoapySDRUtil --info
# Find every SDR device Soapy can see right now
SoapySDRUtil --find
# Probe one device for its full capabilities (ranges, gains, channels)
SoapySDRUtil --probe
# Probe a specific device by driver
SoapySDRUtil --probe="driver=hackrf"
If a device shows up in --find, every SoapySDR-aware tool in this category can
use it — this is the first command to run when a receiver app “can’t see” your
dongle.