LimeSDR Family » History » Revision 15
Revision 14 (duo_kali, 10/11/2017 08:12 AM) → Revision 15/52 (laforge, 11/29/2017 03:22 PM)
{{>toc}} h1. LimeSDR The "LimeSDR":https://myriadrf.org/projects/limesdr/ is a low-cost SDR board featuring the Lime Microsystems LMS7002 RF chip. Key characteristics include: * RF Transceiver: Lime Microsystems LMS7002M MIMO FPRF * FPGA: Altera Cyclone IV EP4CE40F23 – also compatible with EP4CE30F23 * Memory: 256 MBytes DDR2 SDRAM * USB 3.0 controller: Cypress USB 3.0 CYUSB3014-BZXC * Oscillator: Rakon RPT7050A @ 30.72MHz * Continuous frequency range: 100 kHz – 3.8 GHz * Bandwidth: 61.44 MHz * RF connection: 10 U.FL connectors (6 RX, 4 TX) * Power Output (CW): up to 10 dBm * Multiplexing: 2×2 MIMO * Power: micro USB connector or optional external power supply * Status indicators: programmable LEDs * Dimensions: 100 mm x 60 mm h2. RF Output Power TBD h2. Clock The on-board clock is a 250ppb VCTCXO. GSM strictly requires 30ppb, but 250ppb _should_ be sufficient for laboratory use. h3. Clock Calibration TBD h3. Using external clock reference TBD h2. OsmoTRX on LimeSDR In terms of OsmoTRX support, you will a relatively complex driver stack consisting of: * "LimeSuite":https://github.com/myriadrf/LimeSuite.git containing the actual drivers and utilities for LimeSDR (*version 17.09 or later required*) * "SoapySDR":https://github.com/pothosware/SoapySDR.git as middleware that wraps LimeSuite * "SoapyUHD":https://github.com/pothosware/SoapyUHD.git as plug-in exposing SoapySDR devices to UHD * UHD as the driver interface below OsmoTRX {{graphviz_link() digraph G{ rankdir = LR; LimeSDR -> LimeSuite [label = "USB/libusb"]; LimeSuite -> SoapySDR; SoapySDR -> UHD [label = "SoapyUHD"]; UHD -> OsmoTRX [label = "libuhd"]; } }} You will need to observe the following dependencies when building the above: # SoapyUHD depends on SoapySDR # LimeSuite depends on SoapySDR. h3. Verifying the driver stack You can ensure that LimeSuite recognizes your device using the *LimeUtil* part of LimeSuite: <pre> $ LimeUtil --find * [LimeSDR-USB, media=USB 3.0, module=STREAM, addr=1d50:6108, serial=0009060B00xxyyzz] </pre> You can ensure that SoapySDR and LimeSuite work together as expected using the *SoapySDRUtil* part of SoapySDR: <pre> $ ./SoapySDRUtil --find ###################################################### ## Soapy SDR -- the SDR abstraction library ###################################################### linux; GNU C++ version 6.3.0 20170221; Boost_106200; UHD_003.009.005-0-unknown Found device 0 addr = 1d50:6108 driver = lime label = LimeSDR-USB [USB 3.0] 9060B00462B1C media = USB 3.0 module = STREAM name = LimeSDR-USB serial = 0009060B00xxyyzz </pre> h2. STEP BY STEP GUIDE TO INSTALL OSMO_TRX WITH LimeSDR from source (using ubuntu 16.04) <pre> ---Install LimeSuite, UHD and SoapyUHD sudo add-apt-repository -y ppa:myriadrf/drivers sudo apt-get update #install core library and build dependencies sudo apt-get install git g++ cmake libsqlite3-dev #install hardware support dependencies sudo apt-get install libsoapysdr-dev libi2c-dev libusb-1.0-0-dev #install graphics dependencies sudo apt-get install libwxgtk3.0-dev freeglut3-dev ---Install LimeSuite git clone https://github.com/myriadrf/LimeSuite.git cd LimeSuite mkdir builddir && cd builddir cmake ../ make -j4 sudo make install sudo ldconfig cd LimeSuite/udev-rules sudo ./install.sh Type “LimeSuiteGUI” on terminal to check GUI is running ---Install UHD (with all dependency) sudo apt-get -y install git swig cmake doxygen build-essential libboost-all-dev libtool libusb-1.0-0 libusb-1.0-0-dev libudev-dev libncurses5-dev libfftw3-bin libfftw3-dev libfftw3-doc libcppunit-1.13-0v5 libcppunit-dev libcppunit-doc ncurses-bin cpufrequtils python-numpy python-numpy-doc python-numpy-dbg python-scipy python-docutils qt4-bin-dbg qt4-default qt4-doc libqt4-dev libqt4-dev-bin python-qt4 python-qt4-dbg python-qt4-dev python-qt4-doc python-qt4-doc libqwt6abi1 libfftw3-bin libfftw3-dev libfftw3-doc ncurses-bin libncurses5 libncurses5-dev libncurses5-dbg libfontconfig1-dev libxrender-dev libpulse-dev swig g++ automake autoconf libtool python-dev libfftw3-dev libcppunit-dev libboost-all-dev libusb-dev libusb-1.0-0-dev fort77 libsdl1.2-dev python-wxgtk3.0 git-core libqt4-dev python-numpy ccache python-opengl libgsl-dev python-cheetah python-mako python-lxml doxygen qt4-default qt4-dev-tools libusb-1.0-0-dev libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools python-qwt5-qt4 cmake git-core wget libxi-dev gtk2-engines-pixbuf r-base-dev python-tk liborc-0.4-0 liborc-0.4-dev libasound2-dev python-gtk2 libzmq-dev libzmq1 python-requests python-sphinx libcomedi-dev python-zmq git clone https://github.com/EttusResearch/uhd cd uhd git tag -l ... release_003_009_004 release_003_009_005 release_003_010_000_000 # Example: For UHD 3.10.000.000: git checkout release_003_010_000_000 (get the latest if fine) cd host mkdir build cd build cmake ../ make sudo make install sudo ldconfig export LD_LIBRARY_PATH=/usr/local/lib try run command to find LimeSDR : uhd_find_devices ---Install SoapySDR and SoapyUHD git clone https://github.com/pothosware/SoapySDR.git cd SoapySDR mkdir build cd build cmake .. make sudo make install sudo ldconfig git clone https://github.com/pothosware/SoapyUHD cd SoapyUHD mkdir build cd build cmake .. make sudo make install sudo ldconfig ---NOW BUILD OSMO-TRX mkdir osmo cd osmo git clone https://github.com/osmocom/osmo-trx.git cd osmo-trx autoreconf -fi ./configure make -j5 make check sudo make install sudo ldconfig run on terminal: (test and see its connect with SoapyUHD and UHD) osmo-trx