Skip to content

Installation

gxercavins edited this page Jul 23, 2017 · 6 revisions

Installation

The following section will guide you through the required steps to install the library. The given commands are for Ubuntu 14.04 and may vary for other UNIX distributions. An installation script (install) and VagrantFile are also included in the repository's root to automatize this process (tested on Ubuntu 14.04 and debian/jessie64 official box with VirtualBox, respectively).

Mandatory dependencies

  • libfftw: FFT computation
sudo apt-get install libfftw3-dev libfftw3-doc
  • UHD: drivers for USRP interfacing
sudo apt-get install libboost-all-dev libusb-1.0-0-dev python-mako doxygen python-docutils cmake build-essential
sudo apt-get install libuhd-dev libuhd003 uhd-host

Optional dependencies

  • Boost: support libraries for C++
sudo apt-get install libboost-system-dev libboost-test-dev libboost-thread-dev libqwt-dev libqt4-dev
  • srsGUI: visualization of constellations and spectrum
git clone https://github.com/suttonpd/srsgui.git
cd srsgui
mkdir build
cd build
cmake ../
sudo make install 
  • VOLK: math routine acceleration
git clone https://github.com/gnuradio/volk.git
cd volk
mkdir build
cd build
cmake ../
sudo make install 
  • Matlab/Octave: if there is an existing installation it will be detected by Cmake, for acceleration purposes.

  • InfluxDB: monitoring database. Included in OOCRAN installation.

sudo apt-get install influxdb
  • Grafana: real-time data visualization Included in OOCRAN installation.
sudo apt-get install apt-transport-https grafana

Library installation

Use the following instructions:

git clone https://github.com/oocran/vbbu.git
cd srsLTE
mkdir build
cd build
cmake ../
sudo make install 

Recommended practices

Edit the /etc/sysctl.conf file and add the following lines to change the read/write buffer size:

net.core.rmem_max=50000000
net.core.wmem_max=1048576

Edit the /etc/security/limits.conf file and add the following lines, with the appropriate username, to modify user privileges for better performance:

username	 -	 rtprio		 99
username 	 - 	 memlock	 unlimited

For higher bandwidths the computational burden will become demanding. The use of external programs (i.e. CPU frequency indicator) to tailor CPU speed to match the desired performance.

Clone this wiki locally