Phones have issues connecting/calling

Many phones output at higher power than the radio (usually ettus b100s) can handle. This causes paging responses to fail to be received by OpenBTS. To resolve this from the OpenBTS CLI:

rawconfig GSM.Radio.RXGain 0

and then restart openbts cannot open shared object file: No such file or directory

The problem is that you system cannot find the needed library ( in this case). The way to remedy this is by adding the file location (/usr/local/lib for gnuradio) to the /etc/ file, as shown [ here]. Follow this by updating the ldcache:

sudo ldconfig

virtual bool usrp_standard_tx::set_tx_freq(int, double): Assertion `dac_rate () == 128000000' failed.

This means you have the wrong version of gnuradio installed. Make sure you get a version > 3.3

bind() failed: Address already in use

This means there is a stray transceiver process. You'll need to kill it to free up the needed port.

sudo killall transceiver

USRPDevice.cpp:353: WARNING -- UNDERRUN in TRX->USRP interface

Problem: The software is not feeding transmitted data to the radio fast enough to keep up with real time. An occasion underrun is OK, but more than a few every few minutes will make your system unusable.


  • Try running the transceiver and OpenBTS under nice to improve priority.
  • Kill other applications to free up CPU resources and reduce swapping.
  • Get a faster computer. A 1.6 GHz single-core Intel should be adequate, though.

Transceiver.cpp:519: RX failed to tune

TRXManager.cpp:357: RXTUNE failed with status 1

TRXManager.cpp:409: POWERON failed with status 1

TRXManager.cpp:422: SETPOWER failed with status 1

Problem: You may be running the wrong transceiver program for your USRP hardware. For a Range Networks radio, use TransceiverRAD1. For Ettus boxes (w/ 52mhz clock), use Transceiver52M. We no longer support 64 mhz (the default USRP1) clocks.

CENTOS Install Problem


When building the subscriber registry on Centos 5.5 you get the error message:

openbts/trunk/sqlite3/sqlite3util.cpp:20: undefined reference to `sqlite3_prepare_v2'
collect2: ld returned 1 exit status
make: *** [srmanager.cgi] Error 1

Workaround: The Centos version of does not contain 'sqlite3_prepare_v2'. A work around is simply to use sqlite3_prepare instead. Change all function calls and the problem should go away. Currently it is only being called in openbts/trunk/sqlite3/sqlite3util.cpp.

OpenBTS exits without any output or error


After building OpenBTS application and running the main app/OpenBTS application as root the application exits without any output or error message.


A Likely cause is that the configuration files and directories have not been created or are not accessible. Try to create the /etc/OpenBTS directory with 777 permissions. And make sure you have the initialized OpenBTS.db configuration database in /etc/OpenBTS .