Howto install: Gqrx Gnuradio Soapysdr Pothosware Limesuite on ubuntu

This should get u started with a pretty complete install of software and hardware drivers:
Tested on clean 16.04 and 17.10 ubuntu with Limesdr and RTL-stick

Remove old files:
sudo apt-get purge --auto-remove gqrx
sudo apt-get purge --auto-remove gqrx-sdr
sudo apt-get purge --auto-remove libgnuradio*

Add ppa archives:
sudo add-apt-repository -y ppa:bladerf/bladerf
sudo add-apt-repository -y ppa:ettusresearch/uhd
sudo add-apt-repository -y ppa:gqrx/gqrx-sdr
sudo add-apt-repository -y ppa:myriadrf/drivers
sudo add-apt-repository -y ppa:myriadrf/gnuradio
sudo add-apt-repository -y ppa:pothosware/framework
sudo add-apt-repository -y ppa:pothosware/support
sudo apt-get update
sudo apt-get upgrade

Gqrx: (Also installs Gnuradio)
sudo apt-get install gqrx-sdr

Soapysdr:
sudo apt-get install soapysdr
sudo apt-get install python-soapysdr
sudo apt-get install python3-soapysdr
For soapy server on 16.04 LTS xenial
sudo apt-get install soapysdr-server
For soapy server on 17.10 artfull
sudo apt-get install soapyremote-server

Soapysdr driver modules: (installs all drivers)
sudo apt-get install soapysdr-module-airspy soapysdr-module-redpitaya soapysdr-module-rfspace soapysdr-module-bladerf soapysdr-module-rtlsdr soapysdr-module-remote soapysdr-module-hackrf soapysdr-module-lms7 soapysdr-module-uhd soapysdr-module-mirisdr soapysdr-module-osmosdr
Only on ubuntu 17.10 artfull
sudo apt-get install soapysdr-module-audio

Pothosware:
sudo apt-get install pothos-all
Either python2 bindings:
sudo apt-get install python-pothos
Or for python3 bindings:
sudo apt-get install python3-pothos

Limesuite:
sudo apt-get install limesuite liblimesuite-dev limesuite-udev limesuite-images

Volk: (Create hardware profile)
volk_profile

2 Likes

OK, the install went fine per these directions. This may be a gqrx question, but I’ll ask anyway:

I opened gqrx with driver=lime, soapy=0. I selected the antenna. I started it. It worked fine. I exited. I open it again. The antennas list disappeared. I exited. I did a gqrx -r. I tried it again. Still no antennas. Where are the original antennas listed, and why do they disappear.

@pauluzs
hey there buddy.

unfortunately it did not work for me.

i tried to use it on LTS 16.04.05

and yet the error i am receiving when selecting the limesdr (v1.4) is
terminate called after throwing an instance of ‘std::invalid_argument’
what(): destination port 1 out of range for source_impl(47)
Aborted (core dumped)

the full command

sdr@sdr:~/Desktop$ gqrx 
linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_003.010.003.000-0-unknown

Controlport disabled
No user supplied config file. Using "default.conf"
gr-osmosdr v0.1.x-xxx-xunknown (0.1.5git) gnuradio 3.7.10
built-in source types: file osmosdr fcd rtl rtl_tcp uhd plutosdr miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya 
FM demod gain: 3.05577
Resampling audio 96000 -> 48000
IQ DCR alpha: 1.04166e-05
Using audio backend: auto
BookmarksFile is /home/sdr/.config/gqrx/bookmarks.csv
getDeviceList : Available input devices:
   "PlutoSDR"
   "RFSPACE SDR-IQ Receiver"
   "RFSPACE SDR-IP Receiver"
   "RFSPACE NetSDR Receiver"
   "RFSPACE Cloud-IQ Receiver"
   "LimeSDR-USB [USB 2.0] 9072C02871618"
   "RTL-SDR Spectrum Server"
   "Red Pitaya Transceiver Server"
   "Complex Sampled (IQ) File"
Loading configuration from: "default.conf"
Configuration file: "/home/sdr/.config/gqrx/default.conf"
No change in output device:
  old: 
  new: 
New FFT rate: 25 Hz
Requested bandwidth: 0 Hz
Actual bandwidth   : 0 Hz
setFreqCorr : 0 ppm
New LNB LO: 0 Hz
updateHWFrequencyRange failed fetching new hardware frequency range
New mode index: 2
Filter preset for mode 2 LO: -5000 HI: 5000
Generating taps for new filter   LO:-5000   HI:5000 TW:2000   Taps: 115
setFftRate to "25 fps"
New FFT rate: 25 Hz
New FFT rate: 25 Hz
setFftSize to "8192"
New FFT rate: 25 Hz
Launching I/O device editor
firstTimeConfig
CIoConfig : Available output devices:
    0 : "ES1371 / Creative Labs CT2518/ES1373 (AudioPCI 64V/128 / Creative CT4810/CT5803/CT5806 [Sound Blaster PCI]) Analog Stereo"
New input device selected: 1
  Label: "LimeSDR-USB [USB 2.0] 9072C02871618"
  Devstr: "addr=1d50:6108,driver=lime,media='USB 2.0',module=FX3,name=LimeSDR-USB,serial=0009072C02871618,soapy=0"
saveConfig
Loading configuration from: "/home/sdr/.config/gqrx/default.conf"
Configuration file: "/home/sdr/.config/gqrx/default.conf"
gr-osmosdr v0.1.x-xxx-xunknown (0.1.5git) gnuradio 3.7.10
built-in source types: file osmosdr fcd rtl rtl_tcp uhd plutosdr miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya 
[INFO] Make connection: 'LimeSDR-USB [USB 2.0] 9072C02871618'
[INFO] Reference clock 30.72 MHz
[INFO] Device name: LimeSDR-USB
[INFO] Reference: 30.72 MHz
[INFO] LMS7002M calibration values caching Disable
terminate called after throwing an instance of 'std::invalid_argument'
  what():  destination port 1 out of range for source_impl(47)
Aborted (core dumped)

now i tried to look also look into soapysdr this is what i got
SoapySDRUtil --info

######################################################
## Soapy SDR -- the SDR abstraction library
######################################################

Lib Version: v0.6.1-myriadrf~xenial
API Version: v0.6.0
ABI Version: v0.6
Install root: /usr
Search path: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.6
Search path: /usr/local/lib/x86_64-linux-gnu/SoapySDR/modules0.6
Search path: /usr/local/lib/SoapySDR/modules0.6
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.6/libHackRFSupport.so
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.6/libLMS7Support.so
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.6/libRedPitaya.so
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.6/libairspySupport.so
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.6/libbladeRFSupport.so
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.6/libmiriSupport.so
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.6/libosmosdrSupport.so
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.6/libremoteSupport.so
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.6/librfspaceSupport.so
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.6/librtlsdrSupport.so
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.6/libuhdSupport.so
Loading modules... linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_003.010.003.000-0-unknown

done
Available factories...airspy, bladerf, hackrf, lime, miri, null, osmosdr, redpitaya, remote, rfspace, rtlsdr, uhd, 

it does show that the module libLMS7Support.so is installed but yet it cant find the limesdr properly. (i think)

lsusb result

Bus 003 Device 005: ID 1d50:6108 OpenMoko, Inc.

when trying to use
grgsm_scanner

its yelling

grgsm_scanner -v
linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_003.010.003.000-0-unknown

now the strange part is , when running gqrx it show a “PlutoSDR”
its also shows this in grgsm_livemon , however livemon failed to start. it tries to automatically start with this plutosdr
with this error

sdr@sdr:~/Desktop$ sudo grgsm_livemon 
linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_003.010.003.000-0-unknown

gr-osmosdr v0.1.x-xxx-xunknown (0.1.5git) gnuradio 3.7.9
built-in source types: file osmosdr fcd rtl rtl_tcp uhd plutosdr miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya 
Using PlutoSDR URI = ip:pluto.local
ERROR: Unable to find host: Name or service not known
ERROR: Unable to find host: Name or service not known
Traceback (most recent call last):
  File "/usr/bin/grgsm_livemon", line 270, in <module>
    tb = grgsm_livemon(fc=options.fc, gain=options.gain, ppm=options.ppm, samp_rate=options.samp_rate, shiftoff=options.shiftoff, args=options.args)
  File "/usr/bin/grgsm_livemon", line 89, in __init__
    self.rtlsdr_source_0 = osmosdr.source( args="numchan=" + str(1) + " " + args )
  File "/usr/lib/python2.7/dist-packages/osmosdr/osmosdr_swig.py", line 1173, in make
    return _osmosdr_swig.source_make(*args, **kwargs)
RuntimeError: Unable to create context

hoped i gave enough insight with enough error to try to narrow it down.

thanks alot!

@limda Any reason for still using the old 16.04 instead of 18.04?

Otherwise please refer to this post for 18.04 Which installs gqrx, gnuradio and limesuite. Then test your device in LimeSuiteGui and GQRX (driver=lime soapy=0)

actually no, there is none, i switch back to 16.04 from 18.04 because it did not work for me when i were on 18.04.
(with the same errors ) .
so i tried ur post 16.04 , and the result where more &less the same .

will the instruction in link that u just shared will work on fresh new 18.04 machine ? (i mean will the sdr will work with only the command that u posted on the new link or i still have to run the commands on this post)

thanks alot!

On a fresh 18.04 :

Add ppa archives
sudo add-apt-repository -y ppa:bladerf/bladerf
sudo add-apt-repository -y ppa:myriadrf/drivers
sudo add-apt-repository -y ppa:myriadrf/gnuradio
sudo add-apt-repository -y ppa:gqrx/gqrx-sdr
sudo apt-get update

Install gqrx
sudo apt-get install gqrx-sdr

Install Limesuite
sudo apt-get install limesuite

Optional to speed up processing create a VOLK profile (dont use computer while this runs)
volk_profile

so i followed what u wrote,

but that was not enough.

because gqrx-sdr would throw an libgnuradio error

but i figured it out , i had also to add
sudo add-apt-repository -y ppa:bladerf/bladerf
then install gqrx

however i cannot hear or watch anyflow in gqrx. i tried FM frequency to perhaps hear radio to check if that works , and it does not, i do hear some noise sound , i also tried AM on different frequency , nothing…
here are the settings of gqrx

i have 4 antenas
i pluged them into
RX1_L
RX2_L

TX1_1
TX2_1

In the screenshot the terminal is showing no antenna selected. Can you try selecting an antenna/LNA input.

thanks alot :slight_smile:

i have just notice that gqrx have an input settings where i can select what antena i want to receive from :slight_smile:

grgsm_scan still show me an error what can i do with this error ?
pretty sure its not an antena issue :blush:

corrected above

No idea about gr-gsm, as never used this and some applications may require some modification to work.

Also it looks as though you are driving a full sized LimeSDR-USB over only USB 2.0, which cannot provide sufficient power. Are you using a Y-cable or external PSU?

nop just the front of my pc i guess i will change the port

update,

same thing over 3 usb

Rx Calibration: Bandwidth out of range, available range: from 2.5 to 120 MHz

It seems the LimeSDR USB does not support 2MHz sample rate, try running grgsm_scanner with higher sample rate

  • grgsm_scanner --args=driver=lime,soapy=0 -v -d --samp-rate=2.8e6
  • grgsm_scanner --args=driver=lime,soapy=0 -v -d --samp-rate=3.2e6

grgsm_scanner expects the sample rate to be an even numer * 0.2e6

Or try grgsm_scanner from here:

With e.g.:

grgsm_scanner -s0.8e6 -g56 -f 20000000 GSM900

This uses gr-limesdr blocks instead of SoapySDR.

In case of somebody looking for the installation of the SoapySDR with LimeSDR to talk with the board using Python3 language:

Linux skye-Inspiron-7000 5.3.0-26-generic #28~18.04.1-Ubuntu SMP Wed Dec 18 16:40:14 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

I have installed basic Ubuntu with desktop and Python3
then:

sudo add-apt-repository -y ppa:myriadrf/drivers
sudo apt-get update
sudo apt-get install python3-pip python3-pyqt5 python3-numpy python3-scipy soapysdr-tools python3-soapysdr
sudo apt-get install python-dev swig
sudo apt-get install soapysdr python3-soapysdr
sudo apt-get install soapysdr-module-lms7
sudo apt-get install libsoapysdr-dev
sudo apt-get install limesuite liblimesuite-dev limesuite-udev limesuite-images

If everything is correct - Python3 will throw no errors after calling

import SoapySDR

I wasted a week to figure it out, hopefully it will help somebody else