LimeSDR setup with GnuRadio

#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

#21

Yes, you have to use driver=lime,soapy=0 and manually enter the sample rate and bandwidth.

Sample rates that work: 1.25, 2.5, 5, 10 Msps

Bandwidths: 1.5, 4, 10 MHz

Other sample rates will also work but I didn’t try.

There is no PPA for this specific project but there is PPA for gqrx, gnuradio and soapysdr + drivers. The PPAs should work on Ubuntu 14.04 - 16.04, but we still have to compile limesuite ourselves until we get it into the PPA with gnuradio and soapysdr.

LimeSDR with Gqrx is working!
LimeSDR under SDR-Console
#22

Alex,

Thanks for the info - One real quick question since I’ve not had luck after the LimeSDR compile (it compiles fine, just cannot get GQRX to recognize the LimeSDR even when I use the device arguments). Are you using a certain filepath structure when you clone LimeSuite? Here is the Prefix Path I’m using:

DCMAKE_INSTALL_PREFIX:PATH=/home/marty/sdr/limesdr/runtime

…and then I export:

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

Just not sure that I have the same environment/ecosystem in place like you have it to make GQRX work with Lime. Any light you can shed on that will be incredibly helpful and greatly appreciated. Also - one other oddity - I have noticed that I have to install GQRX right out of the chute (first) because if I add any other PPAs (for SoapySDR or LibSoapySDR-dev) that GQRX comes up with that error message about shared Libs and GQRX will not come up at all - it’s weird…So I have to install GQRX ahead of everything else to make it work. Is there anything wrong with doing it that way? Let me know.

Again, your comments will be greatly appreciated, Alex - thanks,

Marty

PiHPsdr
#23

Hi Marty,

Yes, it’s weird, because for me it really just worked without breaking a sweat. I think you have several versions of several things installed that gets mixed up - that’s the best I can guess based on “that error message about shared Libs”

Does SDoapySDRUtil see the LimeSDR?

I am going to describe what I have done one last time so you can see everything in one post.

  1. Fresh Xubuntu 14.04 – no gnuradio or any related packages installed

  2. Install cmake 3 from their PPA: https://launchpad.net/~george-edison55/+archive/ubuntu/cmake-3.x

  3. Install Gqrx following the instructions here: http://gqrx.dk/download/install-ubuntu – This should give you a working gqrx, so please test it with rtl-sdr, airspy or whatever you have available (not the limesdr though)

  4. Install gnuradio-dev, gr-osmosdr, libsoapysdr-dev and soapysdr packages (also from PPA). These are needed to build SoapyLMS7.

  5. Install limesuite from source

.

cd /home/marty/sdr/limesdr/
git clone https://github.com/myriadrf/LimeSuite.git limesuite.git
cd limesuite.git
git submodule update --init --recursive
cd src
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=/home/marty/sdr/limesdr/runtime -DENABLE_EVB7COM=OFF -DENABLE_LIBRARY=ON -DENABLE_NOVENARF7=OFF
make
make install

If you go into the runtime directory and run tree you should see:

.
├── bin
│   └── LimeSuiteCalibrate
├── include
│   └── lime
│       ├── ADCUnits.h
│       ├── ADF4002.h
│       ├── CalibrationCache.h
│       ├── ConnectionHandle.h
│       ├── ConnectionRegistry.h
│       ├── dataTypes.h
│       ├── ErrorReporting.h
│       ├── fifo.h
│       ├── FPGA_common.h
│       ├── IConnection.h
│       ├── INI.h
│       ├── LimeSuiteConfig.h
│       ├── LMS64CCommands.h
│       ├── LMS64CProtocol.h
│       ├── LMS7002M.h
│       ├── LMS7002M_parameters.h
│       ├── LMS7002M_RegistersMap.h
│       ├── LMSBoards.h
│       ├── LMS_StreamBoard_FIFO.h
│       ├── LMS_StreamBoard.h
│       ├── MCU_BD.h
│       ├── MCU_File.h
│       ├── Si5351C.h
│       ├── StreamerLTE.h
│       ├── StreamerNovena.h
│       └── version.h
└── lib
    ├── libLimeSuite.a
    └── SoapySDR
        └── modules
            └── libLMS7Support.so

Now you have to copy the udev-rules and set up the path for SoapySDR:

sudo cp limesuite.git/udev-rules/64-limesuite.rules /etc/udev/rules.d/
export SOAPY_SDR_PLUGIN_PATH=/home/marty/sdr/limesdr/runtime/lib/SoapySDR/modules

Plugin the device and check that SoapySDRUtil can find it:

$ SoapySDRUtil --find
######################################################
## Soapy SDR -- the SDR abstraction library
######################################################

Found device 0
  addr = 241:1204
  driver = lime
  media = USB
  module = STREAM
  name = USB 2.0 (LimeSDR-USB)

If this works then gqrx should also work. Note that you have to do the “export SOAPY_SDR_PLUGIN_PATH…” in the same terminal from where you launch gqrx.

Clearly, this is not the only way, but if you make any deviations from the above, please document it thoroughly so we can understand what is going on. Also, at some point somebody was talking about virtual machines. Please don’t use them!

Alex

#24

Limesuite packages are now up on the PPA. These are fresh and I’m still testing. I made a new discussion with some relevant notes. I’m curious if we can apt-get install and run everything from the PPA. Please remember to clean out anything installed in the /usr/local to avoid confusing the new packages. And if it helps, there is a limesuite-udev package which should take care of udev stuff if that was a problem.

1 Like
#25

Joshblum, I tried downloading limesuite from the PPA and get the following error:

hahnpv@ubuntu:/usr/local/src/SoapySDR/build$ sudo apt-get install limesuite
Reading package lists... Done
Building dependency tree       
Reading state information... Done
limesuite is already the newest version (16.6.6.818.730.60b8d25-myriadrf1~xenial).
0 upgraded, 0 newly installed, 0 to remove and 259 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up limesuite (16.6.6.818.730.60b8d25-myriadrf1~xenial) ...
/var/lib/dpkg/info/limesuite.postinst: 5: /var/lib/dpkg/info/limesuite.postinst: /usr/share/Lime/Desktop/install: not found
dpkg: error processing package limesuite (--configure):
 subprocess installed post-installation script returned error exit status 127
Errors were encountered while processing:
 limesuite
E: Sub-process /usr/bin/dpkg returned an error code (1)

What information can I provide to help you diagnose? I am running Xenial. Thanks,

philip

#26

Philip,

While I know Josh will respond to this, I can tell you that I’ve hit the same issue with my own installation of LimeSuite and other apps/drivers (SoapySDR, etc) in Ubuntu Xenial. I told Josh about this a few days ago and he mentioned something about replacing what’s there for the PPA. This especially happens if you install LimueSuite using the PPA (which you’re doing) and also have LimeSuite installed from source somewhere - - one of them has to go.

Again, Josh will likely weigh-in on this, but I’m just here to tell you that what you’re seeing isn’t unique - I’m seeing the same (and similar with other installations I’ve done over the past 5 days now) errors like this at the moment.

Stay tuned,

Marty (KN0CK)

#27

Marty, I have an existing install of GNURadio, the Osmosdr tools, Soapy etc. so maybe that is the issue - thanks.

philip

#28

Philip,

Well, I’m lead to believe that there shouldn’t be too much adverse interaction with the GNURadio and Osmo tools with LimeSuite. In fact, I took Josh’s installation and just removed the LimeSuite install that happens from the PPA and just built it from source at Josh’s recommendation. I’m still seeing some issues when I build from the source that’s there (especially the Exit 127 issue), but I’m sorting through those slowly and incrementally. Awhile back I wrote a procedure on how to install everything from the Ubuntu Software Center (or Synaptic Installer, too) and it worked great (hopefully it still does) and I didn’t have to compile any code to get there - - see my post on that in the forum. The only reason I’m building LimeSuite from source is that there are HF tuning improvements in that code that I need to test with my LimeSDR and I’m taking that route to get there - - those haven’t been rolled into the PPAs yet (that I’ve been told).

Keep this thread going - it’s good to see who’s doing what and common issues we’re seeing as a result. I’ll do my part to post what I’m seeing with the installs I’m doing. I’ve proven that ‘pre-fab’ Ubuntu and Lubuntu LimeSDR VDI’s work within Windows 10 if you have a fast enough Windows PC, but now I’m building a USB 3.0 Flashdrive with Ubuntu Xenial that will have the same Soapy and Lime Resources such that I can put the USB 3.0 Flashdrive image out there so people can ‘plug and play’ in Ubuntu Xenial booting from a USB 3.0 Flashdrive using the LimeSDR. I can make it work great with an RTL-SDR on GQRX, but I’m running into issues getting it to run on Lime using GQRX - - most of that is related to building LimeSuite from source but I’m plugging away on it. It’ll eventually get there…

Marty (KN0CK)

#29

So I fixed the /usr/share/Lime/Desktop/install: not found error. It was a missing install line in the limesuite package. Thats the package that provides the interactive gui with the registers. The limsuite library, development files, and soapysdr wrapper should be installable without that.

I just updated the debian packaging today and submitted a build for xenial. I was hoping to reply when it was complete, but the build has been queued for like the last 8 hours – and it usually opens up at night and builds go right away. Will reply again when its updated…

#30

Josh,

Thanks for the update - How close are you to having the HF improvements in the code as a part of the PPA? (I probably know the answer to that already :slightly_smiling: ). That would make testing this a little easier since I’m trying REAL hard not to corrupt my Ubuntu Xenial install that works great with the Lime now. I’m almost to the point of buying a second hard drive for my Dell and just installing Xenial on it so I can use it for continual testing (meaning that if an install gets too messed up I just format and start over with a modified procedure, a lot like what I was doing installing LimeSuite from source instead of the PPA). I’m making headway installing this on a Flashdrive and another .VDI for testing but at times it can be tedious because while it works, it’s not the fastest way to go for installs. Keep us posted and thanks for writing back with the update.

#31

The PPA appears to be updated now. This should fix the install error for the limsuite graphical utility. The HF tuning is part of this build as well. Keep in mind that if we need to make tweaks to the algorithm, its way easier to reinstall from source, since these PPAs can take half of a day or more to start a new build.

I dont know about corrupting the OS. Any package from apt-get or source package should have a way to uninstall it (such as apt-get remove, or make uninstall). I regularly add and remote source builds and debian based packages on the same OS for years without any issue – for development and testing reasons.

If any more errors come up, either from the PPA or from a build. Please post them. Thanks!

#32

Josh,

Thanks for the update - greatly appreciated. For the sake of brevity (in terms of the install) I think I’m going the PPA route like I did with making VDIs for Lubuntu and Xenial and see how that goes since all the HF tuning pieces are in place now. I’ll let you know how it goes.

I tend to be (almost to a fault) a perfectionist when I build up a system. In the past I would install and uninstall apps but fragments would be left behind that caused things to not compile, crash, or act erratically with those systems. These days that’s probably not such an issue (case in point your own experiences), but with the LimeSDR effort I’ve been just ‘blowing away’ the drive image or drive and install fresh just so I know what I have at baseline. Again, it’s probably an incredible fault I have, but I want to make sure that whatever I do it’s successfully repeatable. First impressions are a critical thing with Newbies who’ll get their hands on their boards in November, so they’ll want to know how to install all this (unless they use the VDIs I made for VirtualBox - those will work right out of the chute for receive with GQRX).

Again, thanks for the info that the new HF tuning is in the PPAs, Josh - I’m off to try that this evening - - Stay tuned.

Marty (KN0CK)

#33

Hey Josh, this worked for me. Thanks! I don’t have a radio yet but the software appears functional. -philip

#34

i can wrtire gr-osmosdr support,but i havn’t limesdr

#35

@jocover LimeSDR is already supported via gr-osmosdr.

#36

Hello,

I followed the instructions from @csete to install the STREAM Lime SDR. My board is detected:

> SoapySDRUtil --find
> ######################################################
> ## Soapy SDR -- the SDR abstraction library
> ######################################################

> Found device 0
>   addr = 241:1204
>   driver = lime
>   media = USB
>   module = STREAM
>   name = USB 3.0 (Stream)

I am working with gnuradio for about 2 months now and I only used simulation without any hardware.

What sink/source block shall I use to be able to talk with my STREAM board and how can I test if it is correctly connected with the gnuradio api?

@andrewback did you finish the blog post you talked about at the begining of this thread? :slight_smile:

Thanks for the answers,

cheers