Before installing YateBTS, please see Prerequisites. Make sure the ybladerf module (bladeRF radio device interface) gets built.
These instructions are for newer versions of YateBTS where the transceiver and radio device driver are Yate modules. For older versions see Installing monolithic transceiver.
You can download the sources in any directory. For this example, we used the /usr/src directory.
cd /usr/src svn checkout http://voip.null.ro/svn/yatebts/trunk yatebts
The tarballs can also be downloaded from: 
Make sure you have only one version of the Yate development components.
which -a yate-config /usr/bin/yate-config
If you see more than one instance of yate-config you must uninstall all but one of them. You can use the --version option to check which version is each:
which -a yate-config /usr/local/bin/yate-config /usr/bin/yate-config /usr/local/bin/yate-config --version 5.5.1 /usr/bin/yate-config --version 5.2.0
The instances in /usr/local are typically installed from sources. Go to the source directory and run make uninstall. The instances in /usr are typically from packages. Use your distro's package manager to uninstall them.
Run autogen.sh to generate configure script that will check dependencies.
cd yatebts/ ./autogen.sh ./configure
If you encounter the error below after trying to run the ./configure command, you need to check if you have actually installed Yate.
checking for Yate using yate-config... no configure: error: Could not find Yate
Compile and install YateBTS as follows.
After this, the YateBTS modules, scripts and configurations will be moved in the appropriate directories where other Yate similar components are located.
Build and Install bladeRF tools
To update the firmware of the Blade RF radio board and run diagnostics you need the specific support tools.
You don't need libbladeRF or the bladeRF-cli to actually use YateBTS. If the board is already flashed with firmware 1.8.0 you may skip these steps completely.
To install the bladeRF personal packager archive run the following commands:
sudo add-apt-repository ppa:bladerf/bladerf sudo apt-get update sudo apt-get install bladerf
To install the compatible firmware run the following commands:
sudo apt-get install bladerf-firmware-fx3
You must update the firmware manually by running the command:
bladeRF-cli --flash-firmware /usr/share/Nuand/bladeRF/bladeRF_fw.img
Build from sources
To build the bladeRF libraries and tools from sources following the steps below. You will need version 0.14.0 release of libbladeRF. you can get a copy from http://voip.null.ro/tarballs/misc/ .
You can obtain the appropriate version like this:
wget http://voip.null.ro/tarballs/misc/bladeRF.tar.gz tar -xzf bladeRF.tar.gz cd ./bladeRF ls CHANGELOG CMakeLists.txt CONTRIBUTORS COPYING debian/ firmware_common/ fx3_firmware/ hdl/ host/ legal/ README.md
Configure the build
Enter the directory that contains the host source. Next, create a directory where the build can be performed in.
cd host/ mkdir build cd build
To configure the build you need to
- set up a Debug build
- enable the installation of udev rules
- specify that the files need to be installed in the /usr/local directory
$ cmake -DCMAKE_BUILD_TYPE=Debug -DINSTALL_UDEV_RULES=ON ../
Make sure that the user is in the group specified by the BLADERF_GROUP. By default, enabling the installation of udev rules grants the members of the plugdev group read-write access to bladeRF. You can change the group by specifying
Check the output of the groups command by running:
groups jon adm cdrom sudo dip plugdev lpadmin sambashare #example
Perform the build and install
Perform the build, install the files in the /urs/local folder or in the location specified by CMAKE_INSTALL_PREFIX and update the share library paths, to enable finding libbladeRF with the following commands:
$ make && sudo make install && sudo ldconfig
From the same directory you can perform the uninstall command:
sudo make uninstall
Note: After successfully installing bladeRF, the file install_manifest.txt is created and it lists all the installed files. We recommend you back up this file if you plan on removing this built directory later on.