GrOsmoSDR » History » Version 11

« Previous - Version 11/96 (diff) - Next » - Current version
chris, 02/19/2016 10:50 PM
Document device specification


= OsmoSDR Gnuradio Source =

Primarily gr-osmosdr supports the OsmoSDR hardware, but it also offers a wrapper functionality for [ FunCube Dongle], [ Ettus UHD] and [ rtl-sdr] radios. By using gr-osmosdr source you can take advantage of a common software api in your application(s) independent of the underlying radio hardware.

Build process

'''The gnuradio source requires a recent gnuradio (>= v3.5.3) to be installed.'''

Please note: prior pulling a new version from git and compiling it, please do a "make uninstall" first to properly remove the previous version.

Building with cmake: {{{
git clone git://
cd gr-osmosdr/
mkdir build
cd build/
cmake ../ -Wno-dev
sudo make install
sudo ldconfig

NOTE: The source block will appear under 'OsmoSDR' category in GRC menu.

To build the API documentation: {{{
cd build/
cmake ../ -Wno-dev -DENABLE_DOXYGEN=1
make -C docs

Automated installation

Marcus D. Leech has kindly integrated the forementioned build steps into his gnuradio installation script at []. This is the most user-friendly option so far.

Device specification
You can specify the source or sink device using a comma separated string of argument=value pairs. === Local file ===
freq=<frequency> in Hz
rate=<sampling-rate> in samples/s
repeat=true false Default is false
throttle=true false Throttle flow of samples, default is false
=== OsmoSDR (source) ===
mcr=<mcr> FIXME: Setting the MCR is not supported
nchan=<channel-number> FIXME: Values of nchan != 1 are not supported
buffers=<number-of-buffers> Default is 32

=== OsmoSDR (sink) ===
FIXME: OsmoSDR sink is not yet implemented.

=== rtl-sdr === ||rtl=<device-index>|| || ||rtl_xtal=<frequency>|| Frequency in Hz of the crystal oscillator used for the RTL chip|| ||tunner_xtal=<frequency>|| Frequency in Hz of the crystal oscillator used for the tunner chip|| ||buffers=<number-of-buffers>|| Default is 32||
NOTE: if you don't specify rtl_xtal/tunner_xtal, the underlying driver will use 28.0MHz

=== rtl-sdr TCP server ===
rtl_tcp=<hostname>:<port> hostname defaults to "localhost", port to "1234"
psize=<payload-size> Default is 16384 bytes
=== UHD ===
uhd Use this argument without value
subdev=<subdev-spec> See below

Additional argument/value pairs will be passed to the underlying driver, for more information see and

=== FCD ===
Argument Notes
Known Apps

The following 3rd party applications are successfully using gr-osmosdr:

'''Name''' '''Type''' '''Author''' '''URL'''
gr-pocsag GRC Flowgraph Marcus Leech []
multimode RX GRC Flowgraph Marcus Leech []
simple_fm_rvc GRC Flowgraph Marcus Leech []
Wireless Temp. Sensor RX Gnuradio App Kevin Mehall []
gqrx (fork) SDR GUI Alexandru Csete []
tetra_demod_fft SDR GUI osmocom team [] and the [ HOWTO]
gqrx (original) SDR GUI Alexandru Csete []
tetra_demod_fft Trunking RX osmocom team [] and the [ HOWTO]
airprobe '''(NEW)''' GSM sniffer osmocom team et al []
gr-smartnet (WIP) '''(NEW)''' Trunking RX Nick Foster [br[">]br[ Notes from the author]
gr-air-modes '''(NEW)''' ADS-B RX Nick Foster [] call with --rtlsdr option
Add picture from clipboard (Maximum size: 48.8 MB)