OpenBTS: E110 Instalasi OpenBTS 2.8 untuk MultiBTS

From OnnoWiki
Jump to navigation Jump to search

Persiapan

Set IP Adddress Statik

Edit

vi /etc/network/interfaces

Isi dengan

# Wired or wireless interfaces
auto eth0
# iface eth0 inet dhcp
iface eth1 inet dhcp

iface eth0 inet static  
	address 192.168.0.22
	netmask 255.255.255.0
	network 192.168.0.0
	gateway 192.168.0.222

Instalasi Aplikasi Pendukung

Instal aplikasi pendukung

opkg update
opkg install libosip2-dev subversion sqlite3

Cek sqlite3

sqlite3 --version

Harusnya keluar seperti

3.6.23.1

Alternatif Download OpenBTS di PC / Laptop

Download di PC source code openbts bisa melalui

cd /usr/local/src
apt-get install subversion
svn co http://wush.net/svn/range/software/public openbts-2.8.0

Kemudian di transfer ke E110

scp -r openbts-2.8.0 root@<ip-address-E110>:

Compile OpenBTS

Cara yang lebih mudah untuk download menggunakan wget

cd ~/src
svn co http://wush.net/svn/range/software/public openbts-2.8.0
vi ~/src/openbts-2.8.0/openbts/trunk/apps/OpenBTS.cpp 

pastikan sleep > 5, misalnya

sleep(8);

lanjutkan proses compile

mkdir -p /etc/OpenBTS
touch /etc/OpenBTS/SubscriberRegistry.db
touch /etc/OpenBTS/ChannelTable.db
touch /etc/OpenBTS/Stats.db
touch /etc/OpenBTS/TMSITable.db
touch /etc/OpenBTS/Transaction.db
touch /etc/OpenBTS/command
cd ~/src/openbts-2.8.0/a53/trunk/
make
make install
cd ~/src/openbts-2.8.0/openbts/trunk
autoreconf -i
./configure --with-uhd --with-resamp CFLAGS="-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -O3" CXXFLAGS="-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -O3" 
make clean
rm -Rf ~/src/openbts-2.8.0/openbts/trunk/apps/transceiver
rm -Rf ~/src/openbts-2.8.0/openbts/trunk/Transceiver52M/transceiver
cd ~/src/openbts-2.8.0/openbts/trunk
make 
make install
cd ~/src/openbts-2.8.0/openbts/trunk/apps
ln -s ../Transceiver52M/transceiver .
mkdir /var/run/OpenBTS/
touch /var/run/OpenBTS/TransactionTable.db


Jika Menggunakan RFX 1800 daughter board

RFX board yang biasanya di beli adalah RFX 1800. Sebaiknya di flash EEPROM agar bekerja di 900MHz / menjadi RFX 900, jika terpaksa juga menggunakan RFX 1800, kita perlu mengedit database konfigurasi OpenBTS agar beroperasi di band 1800MHz channel 860

vi ~/src/openbts-2.8.0/openbts/trunk/apps/OpenBTS.example.sql

Agar

INSERT INTO "CONFIG" VALUES('GSM.Radio.Band','1800',1,0,'The GSM operating band.  Valid values are 850 (GSM850), 900 (PGSM900), 1800 (DCS1800) and 1900 (PCS1900).  For most Range models, this value is dictated by the hardware and should not be changed.  Static.');
INSERT INTO "CONFIG" VALUES('GSM.Radio.C0','860',1,0,'The C0 ARFCN.  Also the base ARFCN for a multi-ARFCN configuration.  Static.');

Instalasi Database Konfigurasi OpenBTS

cd ~/src/openbts-2.8.0/openbts/trunk
sudo mkdir /etc/OpenBTS
rm -Rf /etc/OpenBTS/OpenBTS.db
sudo sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db ".quit"

Instalasi Subscriber Registry

Lakukan

cd ~/src/openbts-2.8.0/subscriberRegistry/trunk/configFiles
sudo mkdir /var/lib/asterisk/
sudo mkdir -p /var/lib/asterisk/sqlite3dir
sudo rm -Rf /var/lib/asterisk/sqlite3dir/sqlite3.db
sudo sqlite3 -init subscriberRegistryInit.sql /var/lib/asterisk/sqlite3dir/sqlite3.db ".quit"

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 ~/src/openbts-2.8.0/subscriberRegistry/trunk
make

Setup database untuk Sipauthserve

mkdir /etc/OpenBTS
rm -Rf /etc/OpenBTS/sipauthserve.db
cd ~/src/openbts-2.8.0/subscriberRegistry/trunk
sudo sqlite3 -init sipauthserve.example.sql /etc/OpenBTS/sipauthserve.db ".quit"

Instalasi Smqueue

Smqueue dapat di instalasi dengan melakukan langkah berikut

cd ~/src/openbts-2.8.0/smqueue/trunk
autoreconf -i
./configure 
make clean
make 
make install

Selanjutnya, inisialisasi konfigurasi database OpenBTS

cd ~/src/openbts-2.8.0/smqueue/trunk
rm -Rf /etc/OpenBTS/smqueue.db
sudo sqlite3 -init smqueue/smqueue.example.sql /etc/OpenBTS/smqueue.db ".quit"

Menjalankan OpenBTS

Pastikan Yate sudah di Instalasi.

Lakukan di tiga (3) windows yang berbeda

cd ~/src/openbts-2.8.0/subscriberRegistry/trunk/
./sipauthserve &
mkdir -p /var/lib/OpenBTS
touch /var/lib/OpenBTS/smq.cdr
cd ~/src/openbts-2.8.0/smqueue/trunk/smqueue/
./smqueue &
cd ~/src/yate
rm -Rf /var/log/yate
./run -t -l /var/log/yate -vvvv -c /usr/local/etc/yate -m /usr/local/lib/yate -e /usr/local/share/yate -d
mkdir /var/run/OpenBTS/
touch /var/run/OpenBTS/TransactionTable.db
cd ~/src/openbts-2.8.0/openbts/trunk/apps
./OpenBTS &

Edit Konfigurasi

cd ~/src/openbts-2.8.0/openbts/trunk/apps/
./OpenBTSCLI

Parameter yang perlu di ubah

config Control.LUR.OpenRegistration \W+
config GSM.Radio.Band 900
config GSM.Radio.C0 20
config GSM.Identity.MCC 001
config GSM.Identity.MNC 01
config GSM.Identity.BSIC.NCC 0
config GSM.Identity.ShortName OpenBTS
config GSM.CellSelection.NCCsPermitted 1
config GSM.CellSelection.BSIC.BCC 101
config GSM.Identity.LAC 1001
config GSM.Identity.CID 101
config SIP.Local.IP 192.168.0.22
config SIP.Proxy.Registration 192.168.0.3:5064
config SIP.Proxy.SMS 192.168.0.3:5063
config SIP.Proxy.Speech 192.168.0.3:5060
config save

Debug Transceiver

cd ~/src/openbts-2.8.0/openbts/trunk/apps/
./transceiver DEBUG

Error

Error SubscriberRegistry

EMERG 1079640064 SubscriberRegistry.cpp:160:init: Cannot open SubscriberRegistry database: unable to open database file
Mar 29 07:26:33 usrp-e1xx openbts: EMERG 1079640064 SubscriberRegistry.cpp:160:init: Cannot open  SubscriberRegistry database: unable to open database file
1333002393.869356 1079640064: 

SOLUSI:

Instalasi Subscriber Registry, Lakukan

cd ~/src/openbts-2.8.0/subscriberRegistry/trunk/configFiles
sudo mkdir /var/lib/asterisk/
sudo mkdir -p /var/lib/asterisk/sqlite3dir
sudo sqlite3 -init subscriberRegistryInit.sql /var/lib/asterisk/sqlite3dir/sqlite3.db ".quit"

Error TX Dead

ALERT 1089582176 TRXManager.cpp:92:clockHandler: TRX clock interface timed out, assuming TRX is dead.

SOLUSI:

  • Naikan sleep() di OpenBTS.cpp & compile ulang
vi ~/src/openbts-2.8.0/openbts/trunk/apps/OpenBTS.cpp 
sleep(8);
killall transceiver
cd ~/src/openbts-2.8.0/openbts/trunk/apps
./OpenBTS &

Error set_rates

Saat

cd ~/src/openbts-2.8.0/openbts/trunk/Transceiver52M
./USRPping 

Error

ALERT 1075093504 UHDDevice.cpp:357:set_rates: Actual sample rate differs from desired rate

SOLUSI:

Compile UHD agar master clock 52MHz

Referensi

Pranala Menarik

Persiapan

Script

OpenBTS 2.6

OpenBTS 2.8

Multi OpenBTS 2.8

OpenBTS 3.1.x

Ettus E110

Ettus N210

RangeNetworks

GPRS

Briker OpenBTS

FreeSWITCH OpenBTS

Power Amplifier

Lain Lain

Catatan Legal dan Pendukung

Catatan Sejarah

Dokumentasi Video

Perjuangan OpenBTS