LimeSDR Family » History » Revision 18
« Previous |
Revision 18/52
(diff)
| Next »
pespin, 12/05/2017 03:27 PM
- Table of contents
- LimeSDR
LimeSDR¶
The 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
RF Output Power¶
TBD
Clock¶
The on-board clock is a 250ppb VCTCXO. GSM strictly requires 30ppb, but 250ppb should be sufficient for laboratory use.
Clock Calibration¶
TBD
Using external clock reference¶
TBD
OsmoTRX on LimeSDR¶
In terms of OsmoTRX support, you will find a relatively complex driver stack consisting of:- LimeSuite containing the actual drivers and utilities for LimeSDR (version 17.09 or later required)
- for LimeSDR-mini, you will need 17.10 or later
- SoapySDR as middleware that wraps LimeSuite
- SoapyUHD as plug-in exposing SoapySDR devices to UHD
- UHD as the driver interface below OsmoTRX
You will need to observe the following dependencies when building the above:
- SoapyUHD depends on SoapySDR
- LimeSuite depends on SoapySDR.
Verifying the driver stack¶
You can ensure that LimeSuite recognizes your device using the LimeUtil part of LimeSuite:
$ LimeUtil --find * [LimeSDR-USB, media=USB 3.0, module=STREAM, addr=1d50:6108, serial=0009060B00xxyyzz]
You can ensure that SoapySDR and LimeSuite work together as expected using the SoapySDRUtil part of SoapySDR:
$ ./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
STEP BY STEP GUIDE TO INSTALL OSMO_TRX WITH LimeSDR from source (using ubuntu 16.04)¶
---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
Troubleshooting¶
Firmware upgrade¶
If you see UHD warnings regarding version mismath, follow the steps as explained in the same output, basically run "LimeUtil --update". It will download the latest firmware into $HOME/.local/share/LimeSuite/images/ and flash the device.
-- Make connection: 'LimeSDR-USB [USB 2.0] 9060B00471827' UHD Warning: Firmware version mismatch! Expected firmware version 4, but found version 3 Follow the FW and FPGA upgrade instructions: http://wiki.myriadrf.org/Lime_Suite#Flashing_images Or run update on the command line: LimeUtil --update UHD Warning: Gateware version mismatch! Expected gateware version 2, revision 12 But found version 2, revision 8 Follow the FW and FPGA upgrade instructions: http://wiki.myriadrf.org/Lime_Suite#Flashing_images Or run update on the command line: LimeUtil --update -- Reference clock 30.720 MHz -- Device name: LimeSDR-USB -- Reference: 30.72 MHz -- Init LMS7002M(0) -- Ver=7, Rev=1, Mask=1 -- LMS7002M calibration values caching Disable
Channel setting failed¶
If at osmo-trx startup time UHD fails with an alert similar to the one below, it means you forgot to specify the correct samples-per-symbol for both Tx and Rx, which in the case of LimeSDR is 4.
ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/UHDDevice.cpp:642:open: Channel setting failed - map::at ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/UHDDevice.cpp:642:open: Channel setting failed - map::at ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/osmo-trx.cpp:489:main: Failed to create radio device ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/osmo-trx.cpp:489:main: Failed to create radio device Shutting down transceiver...You need to pass the correct parameters to osmo-trx:
- -s Tx samples-per-symbol (1 or 4)
- -b Rx samples-per-symbol (1 or 4)
osmo-trx -s 4 -b 4
Updated by pespin over 6 years ago · 18 revisions