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

From OnnoWiki
Jump to navigation Jump to search
Line 8: Line 8:
 
  libusb-1.0-0-dev g++ sqlite3 libsqlite3-dev erlang \
 
  libusb-1.0-0-dev g++ sqlite3 libsqlite3-dev erlang \
 
  asterisk asterisk-mysql
 
  asterisk asterisk-mysql
 
  
 
Load GNURadio
 
Load GNURadio
Line 14: Line 13:
 
  sudo ldconfig
 
  sudo ldconfig
 
  export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
 
  export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
 +
 +
Cek USRP GNURadio menggunakan
 +
 +
pkg-config --cflags usrp
 +
 +
Harus keluar informasi, misalnya,
 +
 +
-DOMNITHREAD_POSIX=1 
 +
 +
Jika tidak maka instalasi GNURadio gagal. Cara yang tampaknya baik bisa di baca di [[GNURadio: Ubuntu 11.10 instalasi menggunakan Repo | Instalasi GNURadio dari Repository]]
 +
  
 
==Download Source Code OpenBTS via SVN==
 
==Download Source Code OpenBTS via SVN==
Line 60: Line 70:
  
 
==Install OpenBTS==
 
==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
 
 
Naga-naga-nya gnuradio versi terbaru tidak membuat libusrp :( ..
 
kita perlu mencoba menggunakan gnuradio versi lama
 
 
Tampaknya lebih aman pakai GNURADIO 3.3.0 daripada versi paling baru.
 
 
  
 
Compile & Instalasi [[OpenBTS]]
 
Compile & Instalasi [[OpenBTS]]
Line 108: Line 94:
 
* GSM.Radio.C0 - Ini adalah [[ARFCN]]. Set sesuai dengan band 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
 
* 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
 +
 +
 +
==Contoh Error Saat Compile OpenBTS==
 +
 +
Jika GNURadio tidak terinstalasi dengan baik akan keluar Error berikut
 +
 +
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.
 +
 +
Solusinya
 +
 +
* [[GNURadio: Ubuntu Install | Gunakan GNURADIO 3.3.0]]
 +
* Masukan PKG_CONFIG_PATH ke .bashrc
 +
 +
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
 +
  
 
==Instalasi Smqueue==
 
==Instalasi Smqueue==

Revision as of 05:56, 22 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/

Cek USRP GNURadio menggunakan

pkg-config --cflags usrp

Harus keluar informasi, misalnya,

-DOMNITHREAD_POSIX=1  

Jika tidak maka instalasi GNURadio gagal. Cara yang tampaknya baik bisa di baca di Instalasi GNURadio dari Repository


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

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


Contoh Error Saat Compile OpenBTS

Jika GNURadio tidak terinstalasi dengan baik akan keluar Error berikut

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.

Solusinya

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig


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