SDR# Sharp Ubuntu

1 minute read

Related: Quickstart RTL-SDR on Linux


Build SDR-sharp

This procedure was tested with:

  • Ubuntu 18.04 / Ubuntu 16.04
  • Mono 4.6 / 4.2
  • $20 RTL-SDR USB stick receiver
  1. Install SDR# prereqs

    apt install mono-complete libportaudio2 librtlsdr0 librtlsdr-dev
    

    librtlsdr0 provides file /lib/udev/rules.d/60-librtlsdr0.rules that allows the RTL-SDR stick to be recognized upon USB plugin.

  2. Build SDR#.

    git clone https://github.com/cgommel/sdrsharp
    cd sdrsharp
    xbuild /p:TargetFrameworkVersion="v4.5" /p:Configuration=Release
    
  3. Softlinks help your Mono executable find the audio libraries.

    cd Release
    
    ln -s /usr/lib/x86_64-linux-gnu/libportaudio.so.2 libportaudio.so
    
    ln -s /usr/lib/x86_64-linux-gnu/librtlsdr.so.0 librtlsdr.dll
    

Run SDR#

In Linux,

mono SDRSharp.exe

Set audio buffer to 200ms, sample rate to 2.048Mbps

Notes

  • Ubuntu 14.04 does NOT work with Mono 3.2.
  • Ubuntu 16.04 with Mono 4.2 works for SDR#
  • Ubuntu 18.04 with Mono 4.6 works for SDR#
  • RTL-SDR software list

Find library paths

In general you can find the path(s) to a Linux library by:

dpkg -L libportaudio2

Linux RTL-SDR programs

Alternative SDR choices for the RTL-SDR receivers on Linux include

Successful compiler output

Build succeeded.

Warnings:

~/sdrsharp/SDRSharp.sln (default targets) -> (Build target) -> ~/sdrsharp/HackRF/SDRSharp.HackRF.csproj (default targets) -> /usr/lib/mono/xbuild/14.0/bin/Microsoft.CSharp.targets (CoreCompile target) ->

HackRFDevice.cs(30,38): warning CS0414: The private field `SDRSharp.HackRF.HackRFDevice._readLength' is assigned but its value is never used

 1 Warning(s)
 0 Error(s)

portaudio not found

Will yield errors including:

No portaudio softlink

[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for ‘PortAudioSharp.PortAudioAPI’ threw an exception. —> System.DllNotFoundException: portaudio at (wrapper managed-to-native) PortAudioSharp.PortAudioAPI:Pa_Initialize () at PortAudioSharp.PortAudioAPI..cctor () [0x00000] in :0

Device signatures not installed

Error loading ‘SDRSharp.RTLSDR.RtlSdrIO.SDRSharp.RTLSDR’ - Exception has been thrown by the target of an invocation.

Error loading ‘SDRSharp.SDRIQ.SdrIqIO.SDRSHarp.SDRIQ’ - “”””

‘SDRSharp.HackRF.HackRF.HackRFIO.SDSharp.HackRF’

Leave a Comment