Difference between revisions of "OpenBTS: 2.8 dari SVN Install"

From OnnoWiki
Jump to navigation Jump to search
Line 74: Line 74:
 
  and USRP_LIBS to avoid the need to call pkg-config.
 
  and USRP_LIBS to avoid the need to call pkg-config.
 
  See the pkg-config man page for more details.
 
  See the pkg-config man page for more details.
 +
 +
Di test menggunakan
 +
 +
pkg-config --cflags usrp
  
 
Compile & Instalasi [[OpenBTS]]
 
Compile & Instalasi [[OpenBTS]]

Revision as of 17:22, 21 February 2012

Instalasi Paket Pendukung dan Asterisk

Instalasi paket / library pendukung tambahan

sudo apt-get install autoconf libtool libosip2-dev libortp-dev \
libusb-1.0-0-dev g++ sqlite3 libsqlite3-dev erlang \
asterisk asterisk-mysql


Load GNURadio

sudo ldconfig
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/

Download Source Code OpenBTS via SVN

sudo su
cd /usr/local/src
svn co http://wush.net/svn/range/software/public openbts

Hacking Source Code 2.8.0 untuk Clock 64MHz

Untuk clock 64MHz nampaknya kia perlu menghack source code

sudo su
cd /usr/local/src/openbts/openbts/trunk/Transceiver52M

Edit file berikut & kalimat berikut

UHDDevice.cpp:  const double master_clk_rt = 52e6;
USRPDevice.cpp: const double USRPDevice::masterClockRate = 52.0e6;
USRPping.cpp:   RadioDevice *usrp = RadioDevice::make(52.0e6/192.0);

agar menjadi

UHDDevice.cpp:  const double master_clk_rt = 64e6;
USRPDevice.cpp: const double USRPDevice::masterClockRate = 64.0e6;
USRPping.cpp:   RadioDevice *usrp = RadioDevice::make(64.0e6/236.0);

Ubah TransceiverRAD1

sudo su
cd /usr/local/src/openbts/openbts/trunk/TransceiverRAD1

Edit file berikut & kalimat berikut

RAD1Device.cpp:const double RAD1Device::masterClockRate = (double) 52.0e6;
RAD1ping.cpp:  RAD1Device *usrp = new RAD1Device(52.0e6/192.0);
RAD1RxRawPower.cpp:  RAD1Device *rad1 = new RAD1Device(52.0e6/192.0);
rnrad1Core.cpp:  mFpgaMasterClockFreq = 52000000;

Agar menjadi

RAD1Device.cpp:const double RAD1Device::masterClockRate = (double) 64.0e6;
RAD1ping.cpp:  RAD1Device *usrp = new RAD1Device(64.0e6/236.0);
RAD1RxRawPower.cpp:  RAD1Device *rad1 = new RAD1Device(64.0e6/236.0);
rnrad1Core.cpp:  mFpgaMasterClockFreq = 64000000;

Install OpenBTS

Sebaiknya lakukan (atau masukan ke .bashrc)

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

agar tidak ada error

configure: error: Package requirements (usrp > 3.1) were not met:
No package 'usrp' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables USRP_CFLAGS
and USRP_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

Di test menggunakan

pkg-config --cflags usrp

Compile & Instalasi OpenBTS

sudo su
cd /usr/local/src/openbts/openbts/trunk
autoreconf -i
./configure --with-usrp1  # digunakan kalau kita pakai xtal 52MHz
make clean
make
make install

Instalasi Database Konfigurasi OpenBTS

cd /usr/local/src/openbts/openbts/trunk
sudo mkdir /etc/OpenBTS
rm /etc/OpenBTS/OpenBTS.db
sudo sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db
.exit

Beberapa catatan minimal yang harus di set dari database OpenBTS

  • GSM.Radio.Band - Set parameter ini untuk menentukan GSM band yang sesuai dengan hardware yang kita gunakan.
  • GSM.Radio.C0 - Ini adalah ARFCN. Set sesuai dengan band yang kita gunakan.
  • Control.LUR.OpenRegistration - Set menggunakan regular expression sesuai denan IMSI dari test phone. Parameter ini memberitahukan OpenBTS untuk tidak me-reject handset karena registration server di bawah tidak me-responds. Sehingga sangat bermanfaat untuk proses debugging dan inisialisasi sistem. Tentang regular expression dapat dibaca di http://en.wikipedia.org/wiki/Regular_expression

Instalasi Smqueue

Lakukan

cd /usr/local/src/openbts/smqueue/trunk
autoreconf -i
./configure 
make clean
make 
make install

Selanjutnya, inisialisasi konfigurasi database OpenBTS

cd /usr/local/src/openbts/smqueue/trunk
rm -Rf /etc/OpenBTS/smqueue.db
sudo sqlite3 -init  smqueue/smqueue.example.sql /etc/OpenBTS/smqueue.db
.exit

Instalasi Subscriber Registry

Lakukan

cd /usr/local/src/openbts/subscriberRegistry/trunk/configFiles
sudo mkdir /var/lib/asterisk/sqlite3dir
sudo sqlite3 -init subscriberRegistryInit.sql /var/lib/asterisk/sqlite3dir/sqlite3.db
.exit

Yang agak repot adalah menginstalasi Asterisk Real Time

Instalasi Sipauthserve

Sipauthserve adalah daemon yang memberikan SIP authentication services. Variabel SIP.Proxy.Registration di openbts harus menunjuk pada hostname & port Sipauthserve. OpenBTS harus sudah di buat sebelum membuat Sipauthserve.

Compile Sipauthserve

cd /usr/local/src/openbts/subscriberRegistry/trunk
make

Setup database untuk Sipauthserve

rm /etc/OpenBTS/sipauthserve.db
cd /usr/local/src/openbts/subscriberRegistry/trunk
sqlite3 -init sipauthserve.example.sql /etc/OpenBTS/sipauthserve.db
.exit

Menjalankan OpenBTS

Lakukan di tiga (3) windows yang berbeda

cd /usr/local/src/openbts/
openbts/trunk/apps/OpenBTS
smqueue/trunk/smqueue/smqueue
subscriberRegistry/trunk/sipauthserve

Referensi

Pranala Menarik

Persiapan Hardware

OpenBTS 2.6

OpenBTS 2.8

Ettus E110

Lain Lain

Catatan Legal dan Pendukung

Catatan Sejarah