Osmocom GSM: Difference between revisions

Democratising Wireless Innovation
Jump to navigation Jump to search
(Created page with "This page details how to build an Osmocom GSM Network-in-the-Box (NITB) configuration that supports LimeSDR. == Dependencies == === Packaged === Packaged dependencies...")
 
No edit summary
Line 1: Line 1:
This page details how to build an Osmocom GSM Network-in-the-Box (NITB) configuration that supports [[LimeSDR]].  
This page details how to build an Osmocom GSM Network-in-the-Box (NITB) configuration that supports [[LimeSDR]].  


== Dependencies ==
== Base dependencies ==


=== Packaged ===
=== Packaged ===
Line 7: Line 7:
Packaged dependencies can be installed with:
Packaged dependencies can be installed with:


<syntaxhighlight lang="bash">
<source lang="bash">$ sudo apt-add-repository ppa:george-edison55/cmake-3.x
$ sudo apt-add-repository ppa:george-edison55/cmake-3.x
$ sudo apt-add-repository ppa:myriadrf/drivers
$ sudo apt-add-repository ppa:myriadrf/drivers</syntaxhighlight>


$ sudo apt-get update
$ 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
$ 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</source>


=== Lime Suite ===
=== Lime Suite ===
Line 23: Line 22:
At the present time UHD should be built from source, instead of using packages.
At the present time UHD should be built from source, instead of using packages.


$ git clone https://github.com/EttusResearch/uhd
<source lang="bash">$ git clone https://github.com/EttusResearch/uhd
$ cd uhd/host
$ cd uhd/host
$ git checkout maint
$ git checkout maint
Line 31: Line 30:
$ make
$ make
$ sudo make install
$ sudo make install
$ sudo ldconfig
$ sudo ldconfig</source>


=== SoapyUHD ===
=== SoapyUHD ===


$ git clone https://github.com/pothosware/SoapyUHD
<source lang="bash">$ git clone https://github.com/pothosware/SoapyUHD
$ cd SoapyUHD
$ cd SoapyUHD
$ mkdir build
$ mkdir build
Line 42: Line 41:
$ make
$ make
$ sudo make install
$ sudo make install
$ sudo ldconfig
$ sudo ldconfig</source>


== Osmocom software ==
== Osmocom software ==


=== OpenBSC, OsmoBTS and dependencies ===
=== OpenBSC, OsmoBTS & dependencies ===


''Tested commit (66af97ce0760c0c015b2bc5c8c3290345571b122)''.
''Tested commit: 66af97ce0760c0c015b2bc5c8c3290345571b122''


$ git clone https://github.com/fairwaves/osmo-combo
<source lang="bash">$ git clone https://github.com/fairwaves/osmo-combo
$ cd osmo-combo
$ cd osmo-combo
$ git submodule init
$ git submodule init
$ git submodule update
$ git submodule update
$ ./apply_patches.sh static-build
$ ./apply_patches.sh static-build
$ sudo make
$ sudo make</source>


=== OsmoTRX ===
=== OsmoTRX ===


''Tested commit (d22657a26d22d265cfeb57636a2fbe9c3e9c0f16)''.
''Tested commit: d22657a26d22d265cfeb57636a2fbe9c3e9c0f16''


$ git clone https://github.com/myriadrf/osmo-trx
<source lang="bash">$ git clone https://github.com/myriadrf/osmo-trx
$ cd osmo-trx
$ cd osmo-trx
$ autoreconf -i
$ autoreconf -i
$ ./configure
$ ./configure
$ make
$ make
$ sudo make install
$ sudo make install</source>
 
Note:
 
# that the default branch, myriadrf/limesdr, is the one that should be used and not master or any of the others;
# 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 ==
== Configuration ==

Revision as of 19:43, 28 November 2016

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 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

Lime Suite

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

UHD

At the present time UHD should be built from source, instead of using packages.

$ git clone https://github.com/EttusResearch/uhd
$ cd uhd/host
$ git checkout maint
$ mkdir build
$ cd build
$ cmake ../
$ make
$ sudo make install
$ sudo ldconfig

SoapyUHD

$ git clone https://github.com/pothosware/SoapyUHD
$ cd SoapyUHD
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
$ sudo ldconfig

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