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.