LimeSdrMini2.0, GnuRadio3.10, Ubuntu22_10(kinetic)

Subject: LimeSdrMini2.0, GnuRadio3.10, Ubuntu22_10(kinetic)

Hello,
I’m trying to get my LimeSdrMini2.0 up and running with GnuRadio3.10.
I’ve done all the installation steps describe on myriadrf and GnuRadio.
Here are the installation sequence (I omit sudo):
Name Command Version
-------------------±-----------------------------------------------------------------±-------------------
Ubuntu Fresh from ISO image and all updates 22_10 64Bit (kinetic)
GnuRadio apt install gnuradio 3.10.3.0
swig apt-get -y install swig 4.0.2-1
boost apt-get install libboost-all-dev 1.74.0.3
git apt-get install git 1:2.37.2-1
g++ was already installed with ubuntu 4:12.2.0-1
cmake apt-get install cmake 3.24.2-1
sqlite3 apt-get install libsqlite3-dev 3.39.3-1
soapysdr apt-get install libsoapysdr-dev 0.8.1-2
i2c apt-get install libi2c-dev 4.3-2
usb apt-get install libusb-1.0-0-dev 2:1.0.26-1
wxgtk apt-get install libwxgtk3.0-gtk3-dev 3.0.5.1+dfsg-4
freeglut apt-get install freeglut3-dev 2.8.1-6
LimeSuite From source 20.10.0+dfsg-6
git clone https://github.com/myriadrf/LimeSute.git
gr-limesdr From source 3.0.1-4
git clone GitHub - bkerler/gr-limesdr: gr-limesdr Plugin for GNURadio
-------------------±---------------------------------------------------------------±-------------------
(LimeUtil, LimeQuickTest, LimeSuiteGUI runs well)

And here is my question/problem:
On GnuRadioCompanion I have a very smal flowgraph(SampRate=1MHz):
LimeSuiteSource(RX)QT_GUI Frequency Sink
On startup it give me the following output:
Generating: ‘/home/user/MyTest_2.py’
Executing: /usr/bin/python3 -u /home/user/MyTest_2.py
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome.
Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.

LimeSuite Source (RX) info
##################
Connecting to device
##################
LimeSuite version: 22.09.1-gabc28c0e
gr-limesdr version: 2.2.7
##################
Device list:
Nr.:0 device:LimeSDR Mini, media=USB 3.0, module=FT601, addr=24607:1027, serial=1D90F5631A4C83
##################
Reference clock 40,00 MHz
Using device: LimeSDR-Mini_v2(1D90F5631A4C83) GW: 2.1 FW: 8
##################
INFO: device_handler::enable_channels(): SISO CH0 set for device number 0.
SISO CH0 set for device number 0.
INFO: source_impl::init_stream(): source channel 0 (device nr. 0) stream setup done.
##################
INFO: device_handler::close_device(): Disconnected from device number 0.
##################

Done

This looks like ok, but the samples in the QT_GUI Frequency Sink have all
0(zero) amplitudes. The sampRate 1e6=1us(steamPlot) is correct.
I don’t now what goes wrong in this configuration/setup.
Has anybody experience with LimeSdrMini2.0 as frontend to GnuRadio?

Karlheinz

On many systems, the install of Gnuradio must happen last - only some of the things that are install after are actually used. You could try installing Gnuradio 3.10 from source - maybe that will reveal the problem.

Hello,
there is still a problem with my LimeMiniSdr2.0 and GnuRadio.
I have done the following installation sequence:

  1. Create a fresh Ubuntu 22_10 VM with all updates

  1. Install all prerequisites for LimeSuite
    sudo apt-get install git g++ cmake libsqlite3-dev
    libsoapysdr-dev libi2c-dev libusb-1.0-0-dev
    libwxgtk3.0-gtk3-dev freeglut3-dev
    swig libboost-all-dev

  1. Install LimeSuite from source
    git clone GitHub - myriadrf/LimeSuite: Driver and GUI for LMS7002M-based SDR platforms
    cd LimeSuite
    git checkout master
    mkdir builddir && cd builddir
    cmake …/
    sudo make install
    sudo ldconfig
    cd $HOME/LimeSuite/udev-rules
    sudo ./install.sh
    LimeUtil, LimeQuickTest and LimeSuiteGUI works now

  1. Install all prerequisites for GnuRadio 3.10
    sudo apt install libboost-all-dev libgmp-dev swig python3-numpy
    python3-mako python3-sphinx python3-lxml doxygen
    libfftw3-dev libsdl1.2-dev libgsl-dev libqwt-qt5-dev
    libqt5opengl5-dev python3-pyqt5 liblog4cpp5-dev libzmq3-dev
    python3-yaml python3-click python3-click-plugins
    python3-zmq python3-scipy python3-gi python3-gi-cairo gir1.2-gtk-3.0
    libcodec2-dev libgsm1-dev libiio-dev libad9361-dev libspdlog-dev
    python3-packaging python3-jsonschema

  1. Install GnuRadio
    sudo apt install gnuRadio

  1. At this point, my RTL-Stick is working with GnuRadio
    SoapyRTLSDR Source à Work
    SoapyLimeSDR Source à Don’t work

  1. I’m not shure whats next:
    7.1 Im trying sudo apt-get install gr-limesdr
    This don’t work
    7.2 Im trying to install gr-limesdr from source
    git clone GitHub - bkerler/gr-limesdr: gr-limesdr Plugin for GNURadio
    cd gr-limesdr
    git checkout maint-310
    mkdir build
    cmake …/
    make
    sudo make install
    sudo ldconfig
    This also don’t work

  1. What goes wrong with gr-limesdr?
    Thanks
    Karlheinz

By “SoapyLimeSDR Source à Don’t work” are you using the “osmocom Source” with Arguments -

soapy=0,driver=lime

in gnuradio-companion ?

If I were where you are at -

I would -

git clone https://github.com/myriadrf/gr-limesdr.git
cd gr-limesdr
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install
sudo ldconfig


sometimes the “-DCMAKE_INSTALL_PREFIX=/usr” is needed.

If that fails - the final try would be to build gnuradio from source - that should be easy from your starting point - with all the dependencies already installed.

Hello RightHalfPlane,
thank you for your tips. I will try if this is successful.
Did you also use a LimeMiniSdr2.0 and did the installation?
It seems, all the driver are for the old obsolate LimeMini 1.x!
When I look on the github/myriadrf, many data and installation description
are some years old, and therefore can’t work with new LimeMini2.0!
And there is no GnuRadio package with LimeMini2.0 driver…
Karlheinz

“there is no GnuRadio package with LimeMini2.0 driver” - that is why I suggested building gnuradio from source - just make sure you are using the same libraries that LimeUtil, LimeQuickTest and LimeSuiteGUI use.

Ok. I don’t give up. Next try!
I Have setup all new with the following installation sequence:


  1. Create a fresh Ubuntu 22_10 64Bit VM with all updates

  1. Install all prerequisites for LimeSuite
    sudo apt-get install git g++ cmake libsqlite3-dev
    libsoapysdr-dev libi2c-dev libusb-1.0-0-dev
    libwxgtk3.0-gtk3-dev freeglut3-dev
    swig libboost-all-dev

  1. Install LimeSuite from source
    git clone GitHub - myriadrf/LimeSuite: Driver and GUI for LMS7002M-based SDR platforms
    cd LimeSuite
    git checkout master (is already master)
    mkdir builddir && cd builddir
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local …/
    sudo make install
    sudo ldconfig
    cd $HOME/LimeSuite/udev-rules
    sudo ./install.sh
    !!! At this point: LimeUtil, LimeQuickTest and LimeSuiteGUI works now !!!
    LimeUtil --find
  • [LimeSDR Mini, media=USB 3.0, module=FT601, addr=24607:1027, serial=1D90F5631A4C83]
    LimeQuickTest
    => Board tests PASSED <=
    LimeSuiteGUI
    (LimeSuiteGUI:7592): Gtk-CRITICAL **: 10:54:42.537: gtk_box_gadget_distribute: assertion ‘size >= 0’ failed in GtkNotebook
    (LimeSuiteGUI:7592): Gtk-WARNING **: 10:54:42.542: gtk_widget_size_allocate(): attempt to allocate widget with width 11 and height -1
    … and more
    FFTviewer works

  1. Install all prerequisites for GnuRadio 3.10
    sudo apt install libboost-all-dev libgmp-dev swig python3-numpy
    python3-mako python3-sphinx python3-lxml doxygen
    libfftw3-dev libsdl1.2-dev libgsl-dev libqwt-qt5-dev
    libqt5opengl5-dev python3-pyqt5 liblog4cpp5-dev libzmq3-dev
    python3-yaml python3-click python3-click-plugins
    python3-zmq python3-scipy python3-gi python3-gi-cairo gir1.2-gtk-3.0
    libcodec2-dev libgsm1-dev libiio-dev libad9361-dev libspdlog-dev
    python3-packaging python3-jsonschema

  1. Install GnuRadio from source

5.1 Prerequisites VOLK install from source
cd $HOME
git clone --recursive GitHub - gnuradio/volk: The Vector Optimized Library of Kernels
cd volk
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 …/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local …/
make
Some warnings:
/usr/lib/gcc/x86_64-linux-gnu/12/include/tmmintrin.h:78:20: warning: ‘xmm1’ may be used uninitialized [-Wmaybe-uninitialized]
78 | return (__m128i) __builtin_ia32_phsubw128 ((__v8hi)__X, (__v8hi)__Y);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make test (All 139 tests passed)
sudo make install
sudo ldconfig

5.2 Install GnuRadio from source
cd $HOME
git clone GitHub - gnuradio/gnuradio: GNU Radio – the Free and Open Software Radio Ecosystem
cd gnuradio
git checkout maint-3.10
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 …/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local …/
make -j3
make test (All 32 tests passed)
sudo make install
sudo ldconfig

— Set Environment Edit .bashrc Insert:
PATH=$PATH:/home/user/gnuradio/grc/scripts
export PYTHONPATH=/usr/bin
export LD_LIBRARY_PATH=/usr/local/lib


  1. Start GnuRadio
    Now we start gnuradio:
    gnuradio-companion

That give me this error:
ModuleNotFoundError
Cannot import gnuradio.
Is the Python path environment variable set correctly?
All OS: PYTHONPATH
Is the library path environment variable set correctly?
Linux: LD_LIBRARY_PATH
Windows: PATH
See ModuleNotFoundError - GNU Radio
(No module named ‘gnuradio’)

What goes wrong here and where is the module gnuradio?
sudo find / -name gnuradio.py (find nothing)
That exceed my linux/python skills.

I was expecting it to work or that you would get an error like what you did.

You problem is that python3 is not linked to /usr/local.

That means that the CMAKE_INSTALL_PREFIXs needs to be set to -

cmake -DCMAKE_INSTALL_PREFIX=/usr ../

Possible fixes -

1). Take it from the top again with the CMAKE_INSTALL_PREFIX changes.

2). It might work if you just redo the CMAKE_INSTALL_PREFIX parts.

gnuradio is a pain - I have sent weeks over the last six years trying getting it to work on the various systems with the SDRs. Normally you can get it going, but once or twice I could not get it go and I had to wait a few months until the required updates worked they way through the system.

Ok, it is (partly)accomplished.
Here is the complete installation sequence to bring the
LimeSdrMini2.0 under Ubuntu22_10, and GnuRadio 3.10.5.1-13
up and running.


  1. Create a fresh Ubuntu 22_10 64Bit VM with all updates

  1. Install all prerequisites for LimeSuite
    sudo apt-get install git g++ cmake libsqlite3-dev
    libsoapysdr-dev libi2c-dev libusb-1.0-0-dev
    libwxgtk3.0-gtk3-dev freeglut3-dev
    swig libboost-all-dev

  1. Install LimeSuite from source
    git clone GitHub - myriadrf/LimeSuite: Driver and GUI for LMS7002M-based SDR platforms
    cd LimeSuite
    git checkout master (is already master)
    mkdir builddir && cd builddir
    cmake -DCMAKE_INSTALL_PREFIX=/usr …/
    sudo make install
    sudo ldconfig
    cd $HOME/LimeSuite/udev-rules
    sudo ./install.sh

!!! At this point: LimeUtil, LimeQuickTest and LimeSuiteGUI works now !!!
LimeUtil --find

  • [LimeSDR Mini, media=USB 3.0, module=FT601, addr=24607:1027, serial=1D90F5631A4C83]
    LimeQuickTest
    => Board tests PASSED <=
    LimeSuiteGUI
    (LimeSuiteGUI:7592): Gtk-CRITICAL **: 10:54:42.537: gtk_box_gadget_distribute: assertion ‘size >= 0’ failed in GtkNotebook
    (LimeSuiteGUI:7592): Gtk-WARNING **: 10:54:42.542: gtk_widget_size_allocate(): attempt to allocate widget with width 11 and height -1
    … and more
    FFTviewer works

  1. Install all prerequisites for GnuRadio 3.10
    sudo apt install libboost-all-dev libgmp-dev swig python3-numpy
    python3-mako python3-sphinx python3-lxml doxygen
    libfftw3-dev libsdl1.2-dev libgsl-dev libqwt-qt5-dev
    libqt5opengl5-dev python3-pyqt5 liblog4cpp5-dev libzmq3-dev
    python3-yaml python3-click python3-click-plugins
    python3-zmq python3-scipy python3-gi python3-gi-cairo gir1.2-gtk-3.0
    libcodec2-dev libgsm1-dev libiio-dev libad9361-dev libspdlog-dev
    python3-packaging python3-jsonschema pybind11-dev

  1. Install GnuRadio from source

5.1 Prerequisites VOLK install from source
cd $HOME
git clone --recursive GitHub - gnuradio/volk: The Vector Optimized Library of Kernels
cd volk
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 …/
cmake -DCMAKE_INSTALL_PREFIX=/usr …/
make
Some warnings:
/usr/lib/gcc/x86_64-linux-gnu/12/include/tmmintrin.h:78:20: warning: ‘xmm1’ may be used uninitialized [-Wmaybe-uninitialized]
78 | return (__m128i) __builtin_ia32_phsubw128 ((__v8hi)__X, (__v8hi)__Y);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make test (All 141 tests passed)
sudo make install
sudo ldconfig

5.2 Install GnuRadio from source
cd $HOME
git clone GitHub - gnuradio/gnuradio: GNU Radio – the Free and Open Software Radio Ecosystem
cd gnuradio
git checkout maint-3.10
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr …/
make -j3
make test (All 261 tests passed)
sudo make install
sudo ldconfig


  1. Set Environment
    Edit .bashrc Insert:
    PATH=$PATH:/home/user/gnuradio/grc/scripts
    export PYTHONPATH=/usr/lib/python3.10/site-packages
    export LD_LIBRARY_PATH=/usr/lib

Edit .profile Insert:
export PYTHONPATH=/usr/lib/python3.10/site-packages
export LD_LIBRARY_PATH=/usr/lib

Edit /gnuradio/grc/scripts
grcc and gnuradio-companion
Change python to python3
#!/usr/bin/env python3

At this point:
Soapy RTLSDR Source
Soapy LimeSDR Source
are working!


  1. Start GnuRadio
    Now we can start GnuRadio from desktop icon
    or via command gnuradio-companion

  1. What’s still open

I’m missing the Blockgroup in gnuradio-companion:
LimeSuite
LimeRFEControl
LimeSuiteSink(TX)
LimeSuiteSource(RX)

I’m trying to install some versions and types(package and source)
of gr-limesdr with no success.
I need this to fully control the LimeSdrMini2.0 from gnuradio.
Is there a version which works with LimeSdrMini2.0?

Karlheinz

I was able, in the past, to run the old lime mini with gnuradio using gr-osmosdr or gr-limesdr. I was able this morning to install gr-limesdr and gr-osmosdr on uBuntu 22.04 with no problem. What errors are you getting when you try to install gr-limesdr ?

Hello,
the error depends on…

  1. Install gr-limesdr from package
    sudo apt install gr-limesdr

In gnuradio-companion is now:
LimeSuite
LimeRFEControl
LimeSuiteSink(TX)
LimeSuiteSource(RX)
This is ok. but when I run the FlowGraph:
LimeSuiteSource(RX) >>> QT_GUI_Sink
I get this error:
Generating: ‘/home/user/GrTest1.py’
Executing: /usr/bin/python3 -u /home/user/GrTest1.py
log :warning: Matplotlib is a required dependency to use DistanceRadar and AzElPlot.
Please install matplotlib to use these blocks (https://matplotlib.org/)
Traceback (most recent call last):
File “/home/user/GrTest1.py”, line 36, in
import limesdr
File “/usr/lib/python3/dist-packages/limesdr/init.py”, line 18, in
from .limesdr_python import *
ImportError: generic_type: type “sink” referenced unknown base type “gr::block”

Done (return code 1)


  1. Install gr-limesdr from source
    git clone GitHub - myriadrf/gr-limesdr: gr-limesdr Plugin for GNURadio
    cd gr-limesdr
    git checkout master (already on master)
    mkdir build
    cd build
    cmake -DCMAKE_INSTALL_PREFIX=/usr …/

CMake Error at CMakeLists.txt:133 (MESSAGE):
GnuRadio version required: >=“3.7.8” < “3.8.0” found: “3.10.5.git”
– Configuring incomplete, errors occurred!

!!! This gr-limesdr is terrible old !!!


  1. Install gr-limesdr from another source
    git clone GitHub - bkerler/gr-limesdr: gr-limesdr Plugin for GNURadio
    cd gr-limesdr
    git checkout maint-3.10 (already on maint-3.10)
    mkdir build
    cd build
    cmake -DCMAKE_INSTALL_PREFIX=/usr …/
    make
    sudo make install
    sudo ldconfig

In gnuradio-companion is now:
LimeSuite
(LimeRFEControl is missing)
LimeSuiteSink(TX)
LimeSuiteSource(RX)
And when I run the FlowGraph:
LimeSuiteSource(RX) >>> QT_GUI_Sink
there is a QT_GUI_Sink window, but with no streaming data…

That’s all, very misterious

Yes, you are right “That’s all, very misterious”. However, the last one sounds like an error in your .grc file. Sometimes old “.grc” files need to be recreated from scratch using the gui in the new version of gnuradio-companion - the old “.grc” files sometimes have junk in them that screws things up. Perhaps, you could put up a link to your .grc file.

Hello,
that’s good to hear.
I also doing the whole installation pile under a
fresh Ubuntu22_04_LTS (preor Ubuntu22_10 kinetic).
Now I get the following message on startup the flowgraph:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Welcome to GNU Radio Companion v3.10.5.1-13-g9d5e3f08
Block paths:
/usr/share/gnuradio/grc/blocks
Loading: “/home/user/MyTest1.grc”
Done
Generating: ‘/home/user/MyTest1.py’
Executing: /usr/bin/python3 -u /home/user/MyTest1.py
log (warning) Matplotlib is a required dependency to use DistanceRadar and AzElPlot.
Please install matplotlib to use these blocks (https://matplotlib.org/)
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
LimeSuite Source (RX) info
##################
Connecting to device
##################
LimeSuite version: 20.10.0+dfsg-5
gr-limesdr version: 2.2.7
##################
Device list:
Nr.:0 device:LimeSDR Mini, media=USB 3.0, module=FT601, addr=24607:1027, serial=1D90F5631A4C83
##################
Reference clock 40,00 MHz
Using device: UNKNOWN(1D90F5631A4C83) GW: 2.1 FW: 8
##################
INFO: device_handler::enable_channels(): SISO CH0 set for device number 0.
SISO CH0 set for device number 0.
INFO: device_handler::set_samp_rate(): set sampling rate: 1.92 MS/s.
INFO: device_handler::set_rf_freq(): RF frequency set [RX]: 100 MHz.
INFO: device_handler::set_analog_filter(): RX LPF configured
INFO: device_handler::set_gain(): set gain [RX] CH0: 30 dB.
INFO: device_handler::set_antenna(): CH0 antenna set [RX]: LNAW.
INFO: device_handler::calibrate(): Rx calibration finished
Done (return code -11)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

I can’t find any decription what error code -11 mean.
Maybe, it is an error code from the scheduler.

Your current error (return code -11) - I think is a reference to an illegal address.
Did you do the requested install -
Please install matplotlib to use these blocks (https://matplotlib.org/)

If you go back to the -

“there is a QT_GUI_Sink window, but with no streaming data…”

error That sounds like an error in the “.grc” either because it is old or there is actually and error in it . Seeing the “.grc” file is the only way to tell.

Sorry for the delay,
in the meantime, I have deeper analyse the problem,
therefore I setup a new thread with it.