Osmocom GSM

Democratising Wireless Innovation
Jump to navigation Jump to search

This page details how to build an Osmocom GSM Network-in-the-Box (NITB) configuration that supports LimeSDR.

Base dependencies

Packaged

Packaged dependencies can be installed with:

$ sudo apt-add-repository ppa:george-edison55/cmake-3.x
$ sudo apt-add-repository ppa:myriadrf/drivers
$ sudo add-apt-repository ppa:ettusresearch/uhd

$ sudo apt-get update

$ sudo apt-get install build-essential git cmake python-mako libsqlite3-dev libboost-all-dev libmnl-dev libssl-dev libpcap-dev libi2c-dev libusb-1.0-0-dev libsoapysdr-dev autoconf libtool libpcsclite-dev libortp-dev libdbi-dev libdbd-sqlite3 uhd-host libuhd-dev uhd-soapysdr

Lime Suite

At the present time Lime Suite should be built from source, instead of using packages. See the wiki page for details.

Osmocom software

OpenBSC, OsmoBTS & dependencies

Tested commit: 66af97ce0760c0c015b2bc5c8c3290345571b122

$ git clone https://github.com/fairwaves/osmo-combo
$ cd osmo-combo
$ git submodule init
$ git submodule update
$ ./apply_patches.sh static-build
$ sudo make

OsmoTRX

Tested commit: d22657a26d22d265cfeb57636a2fbe9c3e9c0f16

$ git clone https://github.com/myriadrf/osmo-trx
$ cd osmo-trx
$ autoreconf -i
$ ./configure
$ make
$ sudo make install

Note:

  1. that the default branch, myriadrf/limesdr, is the one that should be used and not master or any of the others;
  2. LimeSDR support will eventually be merged upstream, following which it is planned to maintain this via the Osmocom repository and to delete this fork;

Configuration

Running

Starting the tranceiver module needs the -e (edge) options for LimeSDR to work:

# osmo-trx -e -a 'driver=lime,device=0'