Josh Blum edited this page Sep 8, 2017 · 36 revisions

Soapy plugins for OsmoSDR devices

https://raw.githubusercontent.com/wiki/pothosware/SoapyOsmo/images/soapy_sdr_osmo_logo.png

This is a plugin module for Soapy SDR for various gr-osmosdr supported devices. In addition, Soapy SDR devices can be used from the gr-osmosdr interface when gr-osmosdr is compiled with Soapy SDR support. The following devices can be used from the SoapySDR API and software that supports SoapySDR:

Device Key Support status CMake configuration notes
Osmo-SDR osmosdr Supported through SoapyOsmo  
RTL-SDR rtl Use RTL-SDR support module Enable with -DUSE_OSMO_RTLSDR=ON
MiriSDR miri Supported through SoapyOsmo  
HackRF hackrf Use Hack RF support module Enable with -DUSE_OSMO_HACKRF=ON
BladeRF bladerf Use Blade RF support module Enable with -DUSE_OSMO_BLADERF=ON
RFSpace rfspace Supported through SoapyOsmo  
Airspy airspy Use Airspy support module Enable with -DUSE_OSMO_AIRSPY=ON
SDRPlay sdrplay Use SDR Play support module Not available in SoapyOsmo
RedPitaya redpitaya Use Red Pitaya support module Enable with -DUSE_OSMO_REDPITAYA=ON
FunCube fcd Use Audio support module Not available in SoapyOsmo
FreeRSP freesrp Supported through SoapyOsmo  

Installers

Pre-built installers for various systems are available through the Pothos SDR environment.

Dependencies

Note: Even though we are based off of gr-osmosdr, GNU Radio is not a dependency.

Recommended apt-get install instructions for Ubuntu:

sudo add-apt-repository -y ppa:myriadrf/drivers
sudo apt-get update

sudo apt-get install libboost-all-dev
sudo apt-get install osmo-sdr libosmosdr-dev
sudo apt-get install miri-sdr libmirisdr-dev
sudo apt-get install airspy libairspy-dev

Building SoapyOsmo

The CMake build system will locate boost and SoapySDR development files on your system. Plugin modules will be built for every supported device to which a hardware driver can be located.

git clone https://github.com/pothosware/SoapyOsmo.git
cd SoapyOsmo
mkdir build
cd build
cmake ..
make
sudo make install

Detecting devices

Use the SoapySDRUtil application to see if SoapySDR can detect your device. In this example, lets use the --probe option to print information about the RTL SDR device:

SoapySDRUtil --probe="driver=rtl"
######################################################
## Soapy SDR -- the SDR abstraction library
######################################################

Probe device driver=rtl
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner

----------------------------------------------------
-- Device identification
----------------------------------------------------
  driver=rtl
  hardware=rtl

----------------------------------------------------
-- Peripheral summary
----------------------------------------------------
  Channels: 1 Rx, 0 Tx
  Timestamps: NO

----------------------------------------------------
-- RX Channel 0
----------------------------------------------------
  Full-duplex: YES
  Antennas: RX
  Full gain range: [0, 49.6] dB
    LNA gain range: [0, 49.6] dB
  Full freq range: [24, 1766] MHz
    RF freq range: [24, 1766] MHz
    CORR freq range:  MHz
  Sample rates: [0.25, 2.56] MHz

Using gr-osmosdr

Soapy SDR devices can also be used from the gr-osmosdr interface. This allows any device with a Soapy SDR plugin to be usable as a GNU Radio block or in an application that uses gr-osmosdr. Simply install Soapy SDR before configuring gr-osmosdr, Soapy SDR should be one of the configured components.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.