LimeSDR setup with GnuRadio


#1

Gents,

Could anyone post a short description how to setup LimeSDR with GnuRadio?

Cheers,
Radiohead


"Snappy Ubuntu Core" and Host Driver
#2

I plan to put a blog post together on this, but if you’re running Ubuntu it will simply be a matter of adding some PPAs and using apt-get. There also also plans to package apps for use with Snappy Ubuntu Core, which will make things even easier if you have a device running this.


#3

Many thanks Andrew!


#4

Andrew,

Can you clarify which PPA contains the limesdr package? I already use our gnuradio and drivers PPA but can’t find any limesdr package there.


#5

Quick instructions to use LimeSDR with gnuradio:

  • Install SoapySDR: https://github.com/pothosware/SoapySDR/wiki
  • Install Lime Suite. SoapySDR development files should be found and the SoapyLMS7 support will be compiled alongside the LimeSDR driver: https://github.com/myriadrf/LimeSuite
  • Finally, install gr-osmosdr, making sure that its compiled with soapy sdr support. its just like any other driver support component in there, and it will automatically detect if soapysdr development files are available.

For the gr-osmosdr device arguments, use the argument string “soapy=0,driver=lime” to specify the LimeSDR device.

Driver PPA todo:

  • I need to upload LimeSuite to the PPA. It can be done now actually, depends how much additional development and bug fixes are around the corner
  • gr-osmosdr needs to be uploaded for Xenial – and I think that its the only package. I believe all of the drivers packages have been uploaded for Xenial now, and the gnuradio packages are up to date for Xenial from the core ubuntu sources. @csete do you want to take this one?

Reference for drivers PPA: http://wiki.myriadrf.org/Packaging


#6

Hi Josh,

I followed basically the same approach that you mention and I got it working with gqrx as I wrote in the other thread. I can update gr-osmosdr when you have uploaded the driver and soapylms7.

Alex


#7

in regards to 14.04

You mentioned “Xubuntu 14.04” in the other post. I think we have PPA for everything except lime suite. So technically you should be able to install soapysdr, gnuradio, gr-omosdr, and even gqrx from the PPA. Only LimeSuite will have to be installed from source. Just make sure that you apt-get install libsoapysdr-dev before compiling LimeSuite (it needs to build against development files from the PPA, not master branch /usr/local/include).

This should be the case for 15.10 (wily) as well.

In regards to 16.04

I can update gr-osmosdr when you have uploaded the driver and soapylms7.

No problem, whenever is fine. I just want to make clear that the build of gr-osmosdr is independent of the LimeSuite build. Both gr-osmosdr and LimeSuite depend on libsoapysdr-dev, but they don’t depend on each other.

Just for reference for anyone reading: Currently everything on the gnuradio PPA https://launchpad.net/~myriadrf/+archive/ubuntu/gnuradio is for 15.10 and below because stock ubuntu xenail packages are fairly recent. However the gr-osmosdr in the stock ubuntu Xenial packages does not come with SoapySDR support. So thats the reason to rebuild gr-osmosdr for the gnuradio PPA.


#8

Ok, thanks for the info.

The reason why I rebuilt everything starting from SoapySDR and up was that I wasn’t sure if SoapySDR would find the SoapyLMS7 plugin. I also prefer keeping experimental packages out of /usr/local :wink:

But you say that if I let limesiute install into /usr/local/ then SoapySDR from the PPA will be able to find it, correct?


#9

But you say that if I let limesiute install into /usr/local/ then SoapySDR from the PPA will be able to find it, correct?

Thats correct. Package manager binaries for SoapySDR will search for modules in /usr/local to support source builds with the default options. This way, users dont have to fiddle with environment variables.

However, should use use a non-default prefix for the limesuite, tell SoapySDR where to look by setting export SOAPY_SDR_PLUGIN_PATH=myInstallRoot/lib/SoapySDR/modules Perhaps this is helps as well :slight_smile:


#10

Indeed, both methods work. I prefer the SOAPY_SDR_PLUGIN_PATH for now because limesuite doesn’t have an uninstall target and it is also easier to manage multiple versions that way, should that become necessary.


#11

Good idea. I just added an uninstall target BTW.


#12

I have now uploaded gr-osmosdr (latest git) for Xenial. It only took 3 attempts to get the dependencies right :blush:

I think I will update the packages in the older Ubuntu also because the latest gr-osmosdr includes support for Airspy bit packing.


#13

Gents,

I see that the PPA was updated about 15 hours ago for Wily (15.1) for gr-osmosdr. If that’s applied to my current system and I have LimeSuite and GQRX successfully installed and playing, is doing the PPA install all I need to do to have GQRX working with the LimeSDR? Otherwise, if you can post the install steps just a little more granular that would help - thanks much.


#14

I have only updated gr-osmosdr to the latest git snapshot and made it available for Ubuntu 16.04. Josh still needs to add the driver library and soapylms7 before the PPA has everything needed.

Assuming that you have gqrx correctly installed from the PPA, you can get LimeSDR support by doing the following:

Install gnuradio-dev, gr-osmosdr, libsoapysdr-dev and soapysdr (tools) from PPA.

Build https://github.com/myriadrf/LimeSuite from source. I built it using:

cmake … -DCMAKE_BUILD_TYPE:STRING=release -DCMAKE_INSTALL_PREFIX:PATH=/home/alc/sdr/limesdr/runtime -DENABLE_EVB7COM:BOOL=OFF -DENABLE_LIBRARY:BOOL=ON -DENABLE_NOVENARF7:BOOL=OFF

Since I installed limesuite under a custom prefix, c.f. my reasoning in a previous message, I added

export SOAPY_SDR_PLUGIN_PATH=/home/alc/sdr/limesdr/runtime/lib/SoapySDR/modules

in the terminal where after SoapySDRUtil could find the LimeSDR driver.


#15

Alex,

All good - I can certainly re-do my installation to what you have here this evening. I finally got to the point that I have a clean image of 15.1 that I can just load into VMWare Player that is a fresh OS install with system updates only (no LMS7Suite or GQRX). So I can easily start from scratch and work this to your procedure here. I have an image that has both LMS7Suite and GQRX that I made, too, running fine together with USB 3.0 - checked GQRX with an RTL-SDR to make sure I could run it since I didn’t have the Lime resources installed yet - ran great. This’ll give me something to do later to try this out with my LimeSDR.

Thanks for the update - I’ll let you know how it goes.


#16

Alex,

Okay - things were going pretty good until I was doing the last build - here’s what the compiler did when it hit the wall:

[ 37%] Building CXX object CMakeFiles/LimeSuite.dir/lms7002m/LMS7002M.cpp.o
/home/marty/LimeSuite/src/lms7002m/LMS7002M.cpp:16:17: fatal error: INI.h: No such file or directory
compilation terminated.
CMakeFiles/LimeSuite.dir/build.make:261: recipe for target ‘CMakeFiles/LimeSuite.dir/lms7002m/LMS7002M.cpp.o’ failed
make[2]: *** [CMakeFiles/LimeSuite.dir/lms7002m/LMS7002M.cpp.o] Error 1
CMakeFiles/Makefile2:60: recipe for target ‘CMakeFiles/LimeSuite.dir/all’ failed
make[1]: *** [CMakeFiles/LimeSuite.dir/all] Error 2
Makefile:116: recipe for target ‘all’ failed
make: *** [all] Error 2

…And I cloned the LimeSuite directory from the file path you specified on github and used the build instruction that you sent me earlier today to execute it. Any clues? Let me know - thanks,

Marty


#17

@martywittrock, as instructed in the README, did you do:

$ git submodule update --init --recursive

If not, try running that from the LimeSuite root and then run cmake and make.


#18

Andrew,

Yeah - this looks A LOT like the same package (it probably is) that LMS uses in their install guide - appears that the cpp-feather-ini-parser step was missing, but you’ve included here. I’ll try the install later today after work and see if I gain a little more ground. Again, this looked A LOT like the LMS7Suite installation when I was building it last night but I wasn’t entirely certain - good to know since I’ve traveled that road a few times… :slightly_smiling: - - More to follow - Stay tuned and thanks for the tip, Andrew.


#19

All,

Tried again this evening to get GQRX running with LimeSDR using Alex’s instructions and everything built and installed fine with no exceptions, but when I launch GQRX I’m not seeing any instances of ‘LimeSDR’ or anything in the list of receivers that can be accessed by GQRX - I see BladeRF, RTL, etc, and even when I swap out the LimeSDR and install an RTL receiver GQRX can see it and run it fine - everything works. Plug in the LimeSDR and it does not see it and GQRX just dumps.

Is there something I’m not doing right with GQRX? I saw Alex’s comments pertaining to running the LimeSDR in some sort of ‘backend’ mode and it should ‘just work’, but not having much luck with that. In the receiver config that GQRX uses I have an ‘Other’ receiver where I can load values in for custom receivers - - if there are settings for that let me know.

Also, is there a PPA yet for this project for Ubuntu 15.1? I’m willing to just upgrade to 16.04 and just use the PPA that’s made for it but I think this time I was closer to making the build right without errors than at any time in the past with 15.1. Let me know on that issue, too.

Any help will be appreciated - I’d like to see the LimeSDR running on my setup, too, to gauge performance and have something toward future improvements as they come and keep running it here.

Thanks in advance - MJW


#20

I have an ‘Other’ receiver where I can load values in for custom receivers - - if there are settings for that let me know.

Try:

driver=lime,soapy=0