LimeSuiteGUI and GQRX: some observations and some questions

First, many thanks to all the contributors to this forum, which I have been reading in the background while waiting for my board, which just arrived a few days ago.

Running v 17.01.1 of LimeSuiteGUI on Ubuntu 16.04, compiled 17-02-04; did the installation according to the instructions at https://wiki.myriadrf.org/Lime_Suite, step 2.1

The first observation is that “Modules/Device Info” displays the gateware information twice, but does not display the firmware information.

Question 1: is there a way to see the contents of .ini files in a human readable format?

Question 2: could somebody provide instructions for using the FFT Viewer to display a signal that is connected to one of the RX inputs? The initial quick test procedure is extremely sketchy about this, and the GUI is not exactly self-evident.

The next observation and question pertain to gqrx, which I installed yesterday using the instructions at http://gqrx.dk/download/install-ubuntu.

The observation is that I was able to get it to run yesterday, but today after a bout of apt-update/upgrade, in which the following transpired:
Setting up soapysdr0.5-2-module-lms7:amd64 (17.01.1-myriadrf1~xenial) …
gqrx now crashes with this message:

FATAL: destination port 1 out of range for source_impl(45)

Trying to fill up 18446744073709551615 missing channel(s) with null source(s).
This is being done to prevent the application from crashing
due to gnuradio bug #528.

terminate called after throwing an instance of ‘std::invalid_argument’
what(): destination port 2 out of range for source_impl(45)

[1]+ Aborted (core dumped) gqrx

The naive question is: once I do get gqrx running again, how do I tell it which of the 6 RX ports on the lime sdr it should be looking at for input? (when I ran it successfully yesterday, I merely connected with the board but did not try to look at any signals, as I had not yet removed the MN18 inductor or hooked up any cables).

Thanks in advance for any suggestions.

-robert

I tried using the installation noted at 2.1 and it didn’t work for me. I then tried the installation at 3.1.1 and it gave me the display farther down the page that says LimeSuite enabled features. I have my screen capture in a different thread.

Larry in El Paso

Hi,
I will try to answer question about LimeSuiteGUI.

  1. You can view .ini files by loading them (using ‘Open’ button) in LimeSuiteGUI. You will probably get an error message if the board is not connected (“no connection object”) but values in the GUI should be updated.
  2. After loading .ini file and starting FFTviewer (as described in https://wiki.myriadrf.org/LimeSDR-USB_Quick_Test#Receiving_a_signal) you should be receiving from RX1_L at 800MHz center frequency and 10MHz sample rate. The quick test also describes where to change sample rate, center frequency and gains. The antenna port is selected in ‘RFE’ tab by changing ‘Active path to the RXFE’ parameter and unchecking the corresponding checkbox from ‘input shorting switches’ (for H input all boxes checked).

I clicked on the link to the wiki.
I started the Lime Suite GUI.
I clicked on Open and it tells me to load a *.ini. Where is the *.ini?

Larry in El Paso

https://wiki.myriadrf.org/LimeSDR-USB_Quick_Test#Download_test_files

I’m experiencing the same issues trying to run gqrx that robertkb and others have had, but for others things eventually seem to work. Not me, so far.
I installed first using the directions in section 2.1 of the startup. Then ran LimeSuiteGUI and it worked fine. Ran loopback test, then monitored a chunk of spectrum with the FFT application - all fine.
Then tried gqrx, no go. (output pasted below)
Made sure everything is up to date (update, upgrade).
Tried many sample rates in the gqrx setup for LimeSDR, copying what worked for someone else in another thread (with both the gqrx default and their device string). Still no joy.
Then at the advice above from wb8lbz_Larry, ran the install instructions from section 3.1.1. Still no joy.
Ran gqrx with sudo, in case there’s a permission problem. Still no joy.

Does anyone know what the root cause of this problem is? I hate to have to just install everything from source and hope for the best!

Thanks!
Steve


$ uname -a
Linux sdr2 3.13.0-112-generic #159-Ubuntu SMP Fri Mar 3 15:26:07 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

$ gqrx
linux; GNU C++ version 4.8.4; Boost_105400; UHD_003.010.001.001-release

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 miri hackrf bladerf rfspace airspy soapy redpitaya
FM demod gain: 1.52789
IQ DCR alpha: 1.04166e-05
Using audio backend: auto
BookmarksFile is /home/srb/.config/gqrx/bookmarks.csv
getDeviceList : Available input devices:
0 : “Realtek RTL2838UHIDIR SN: 00000001”
1 : “RFSPACE SDR-IQ Receiver”
2 : “RFSPACE SDR-IP Receiver”
3 : “RFSPACE NetSDR Receiver”
4 : “RFSPACE Cloud-IQ Receiver”
5 : “LimeSDR-USB [USB 3.0] 9060B00461923”
6 : “RTL-SDR Spectrum Server”
7 : “Red Pitaya Transceiver Server”
8 : “Complex Sampled (IQ) File”
Loading configuration from: “default.conf”
Configuration file: “/home/srb/.config/gqrx/default.conf”
Crash guard triggered!

Launching I/O device editor
firstTimeConfig
CIoConfig : Available output devices:
0 : “Built-in Audio Analog Stereo”
saveConfig
Output device 1 : “alsa_output.pci-0000_00_1b.0.analog-stereo”
Loading configuration from: “/home/srb/.config/gqrx/default.conf”
Configuration file: “/home/srb/.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 miri hackrf bladerf rfspace airspy soapy redpitaya
[INFO] Make connection: ‘LimeSDR-USB [USB 3.0] 9060B00461923’
Estimated reference clock 30.7197 MHz
Selected reference clock 30.720 MHz
[INFO] Device name: LimeSDR-USB
[INFO] Reference: 30.72 MHz
[INFO] Init LMS7002M(0)
LMS7002M values cache at /home/srb/.limesuite/LMS7002M_cache_values.db
[INFO] Ver=7, Rev=1, Mask=1
[INFO] LMS7002M calibration values caching Enable
CGEN: Freq=80 MHz, VCO=2.56 GHz, INT=82, FRAC=349525, DIV_OUTCH_CGEN=15
[INFO] SoapyLMS7::setFrequency(Rx, 0, BB, 0 MHz)
[INFO] SoapyLMS7::setFrequency(Tx, 0, BB, 0 MHz)
[INFO] SoapyLMS7::setAntenna(Rx, 0, LNAL)
[INFO] SoapyLMS7::setAntenna(Tx, 0, BAND1)
[INFO] SoapyLMS7::setGain(Rx, 0, PGA, 0 dB)
[INFO] SoapyLMS7::setGain(Rx, 0, LNA, 0 dB)
[INFO] SoapyLMS7::setGain(Rx, 0, TIA, 0 dB)
[INFO] SoapyLMS7::setGain(Tx, 0, PAD, -50 dB)
[INFO] SoapyLMS7::setSampleRate(Rx, 0, 10 MHz), CGEN=80 MHz, ADC=20 MHz, decim=2
ConnectionSTREAM::ConfigureFPGA_PLL(tx=20MHz, rx=10MHz)
----- FPGA PLL #1 CONFIG -----
M=156, N=3, Fvco=1040.000 MHz
Configured phase: 0.0 (steps 0)
Configured phase: 114.2 (steps 132)
----- FPGA PLL #0 CONFIG -----
M=182, N=7, Fvco=1040.000 MHz
Configured phase: 0.0 (steps 0)
Configured phase: 100.4 (steps 58)
[INFO] SoapyLMS7::setSampleRate(Tx, 0, 10 MHz), CGEN=80 MHz, DAC=20 MHz, interp=2
ConnectionSTREAM::ConfigureFPGA_PLL(tx=10MHz, rx=10MHz)
----- FPGA PLL #1 CONFIG -----
M=156, N=3, Fvco=1040.000 MHz
Configured phase: 0.0 (steps 0)
Configured phase: 114.2 (steps 132)
----- FPGA PLL #0 CONFIG -----
M=156, N=3, Fvco=1040.000 MHz
Configured phase: 0.0 (steps 0)
Configured phase: 95.2 (steps 110)
[INFO] SoapyLMS7::setBandwidth(Rx, 0, 30 MHz)
[INFO] Rx Filter calibrated from cache
[INFO] SoapyLMS7::setBandwidth(Tx, 0, 30 MHz)
[INFO] Tx Filter calibrated from cache
[INFO] SoapyLMS7::setFrequency(Rx, 1, BB, 0 MHz)
[INFO] SoapyLMS7::setFrequency(Tx, 1, BB, 0 MHz)
[INFO] SoapyLMS7::setAntenna(Rx, 1, LNAL)
[INFO] SoapyLMS7::setAntenna(Tx, 1, BAND1)
[INFO] SoapyLMS7::setGain(Rx, 1, PGA, 0 dB)
[INFO] SoapyLMS7::setGain(Rx, 1, LNA, 0 dB)
[INFO] SoapyLMS7::setGain(Rx, 1, TIA, 0 dB)
[INFO] SoapyLMS7::setGain(Tx, 1, PAD, -50 dB)
[INFO] SoapyLMS7::setSampleRate(Rx, 1, 10 MHz), CGEN=80 MHz, ADC=20 MHz, decim=2
ConnectionSTREAM::ConfigureFPGA_PLL(tx=20MHz, rx=10MHz)
----- FPGA PLL #1 CONFIG -----
M=156, N=3, Fvco=1040.000 MHz
Configured phase: 0.0 (steps 0)
Configured phase: 114.2 (steps 132)
----- FPGA PLL #0 CONFIG -----
M=182, N=7, Fvco=1040.000 MHz
Configured phase: 0.0 (steps 0)
Configured phase: 100.4 (steps 58)
[INFO] SoapyLMS7::setSampleRate(Tx, 1, 10 MHz), CGEN=80 MHz, DAC=20 MHz, interp=2
ConnectionSTREAM::ConfigureFPGA_PLL(tx=10MHz, rx=10MHz)
----- FPGA PLL #1 CONFIG -----
M=156, N=3, Fvco=1040.000 MHz
Configured phase: 0.0 (steps 0)
Configured phase: 114.2 (steps 132)
----- FPGA PLL #0 CONFIG -----
M=156, N=3, Fvco=1040.000 MHz
Configured phase: 0.0 (steps 0)
Configured phase: 95.2 (steps 110)
[INFO] SoapyLMS7::setBandwidth(Rx, 1, 30 MHz)
[INFO] Rx Filter calibrated from cache
[INFO] SoapyLMS7::setBandwidth(Tx, 1, 30 MHz)
[INFO] Tx Filter calibrated from cache

FATAL: destination port 1 out of range for source_impl(45)

Trying to fill up 18446744073709551615 missing channel(s) with null source(s).
This is being done to prevent the application from crashing
due to gnuradio bug #528.

terminate called after throwing an instance of ‘std::invalid_argument’
what(): destination port 2 out of range for source_impl(45)
Aborted (core dumped)

Does Gqrx abort right away or does it run but crash when you press “Start DSP”?

If you can get to the Configure I/O Devices menu is this the device string?

driver=lime,soapy=0

If Gqrx crashes right away delete the configs for Gqrx (or move them) and try again to get to Config I/O menu.

If run after removing the .conf file, it brings up the source dialog and then aborts right after hitting “OK” on the device config dialog. It never gets past that. This is all with the default LimeSDR device string that gqrx generates.

If run after a crash, it notices that it crashed the previous time and offers the same dialog and same crash.

The default device string when I choose LimeSDR from the pull-down is:
addr=1d50:6108,driver=lime,media=‘USB 3.0’,module=STREAM,name=LimeSDR-USB,serial=0009060B00461923,soapy=0

Simplying the device string to “driver=lime,soapy=0”, which I’d tried multiple times before but never right after removing the config file, has brought it to life! It’s not yet working right – the FFT view in LimeSuiteGUI was showing the expected signals in the same frequency range I’m seeing very little in, but at least we’re past the core dump stage and on to more interesting problems.

(I’m worried about the temperature of the board now, holding off more experimentation until I can get a fan and heat sinks on it. It hit over 75C playing with LimeSuiteGUI, which seems excessive since that’s not even the die temperature.)

Thanks!

Steve

1 Like

Progress report:

With a strong fan blowing over it, the board is now running basically at room temperature, no qualms about running it indefinitely.

To get gqrx working, as noted above I deleted the default gqrx config file default.conf that had been used previously, and used “other…” and “driver=lime,soapy=0” instead of the gqrx-supplied default as the device string (though without knowing a root cause, there’s still pixie dust involved). Various sample rates that I’ve tried have worked. So gqrx is now working pretty much as expected.

LimeSDR does receive the WiFi access point that it’s sitting near, around 2.44GHz, as expected, though I can’t discern any of my neighbors. Oddly, the signal was stronger on RX-L with 8’ of skinny coax to a 2M/440 whip than on RX-H with a 4" lead to a 2.4GHz rubber duckie (or “flexible 50-ohm dummy load” as some people say…). So the jury is still out on sensitivity on the RX-Hi input, but the functionality is there.

It is deaf as expected at lower frequencies. By 162.475M it is performing well enough to get not-quite-full-quieting on the nearest NOAH weather station, though that signal is very strong. FM broadcast band is basically crud with marginal demodulation of only a couple of very strong stations possible, though I know that the band has plenty of solid signals. Comparing it to a USRP1 (using a BasicRX) on the NOAH station, the USRP does better even though it’s not receiving in the first Nyquist zone, though there is more aliasing (no filters are in use). Will now do the coil removal on the limeSDR board and see how things go.

So the LimeSDR and gqrx are basically working now. Ready to try some real experiments!

1 Like

Did the “Easy fix” coil removal on RX1_L. The result was as expected - greatly improved sensitivity in the <200MHz range. NOAH weather and 2M amateur reception were very solid (despite a lot of noise and aliasing – the antenna is in a very noisy RF environment).

Ordering a 3.3V fan - Digi-Key has very quiet ones (3-4dB) for about $8. And heat sinks from MPJA.com.

Have also now confirmed that I can receive my 2.4GHz IoT radios, on to decoding them! Progress!

Does anybody have any idea why selecting the actual “Lime” entry in the device dropdown leads to the crash as in the first post, but just using the “other” setting with “driver=lime,soapy=0” works (as long as you tread lightly on the parameters)? Is it that “module=STREAM” option?

(I do find it a bit concerning that gqrx seems not to catch exceptions nearly as much as I’d like).