Difference between revisions of "OpenBTS: E110 Instalasi OpenBTS"

From OnnoWiki
Jump to navigation Jump to search
Line 141: Line 141:
 
Lakukan
 
Lakukan
  
  cd /usr/local/src/openbts/subscriberRegistry/trunk/configFiles
+
  cd ~/src/openbts/subscriberRegistry/trunk/configFiles
 
  sudo mkdir /var/lib/asterisk/
 
  sudo mkdir /var/lib/asterisk/
 
  sudo mkdir /var/lib/asterisk/sqlite3dir
 
  sudo mkdir /var/lib/asterisk/sqlite3dir

Revision as of 06:22, 23 February 2012

Instalasi Aplikasi Pendukung

Instal aplikasi pendukung

opkg update
opkg install libosip2-3 libosip2-dev libortp5 libortp-dev asterisk asterisk-dev \
sqlite3

Jika dibutuhkan kita dapat menginstalasi

setenv PERL5LIB /usr/share/autoconf/Autom4te:/usr/share/automake-1.11/Automake

Compile osip2

WARNING: Jangan mengcompile osip2, karena switch-nya lumayan ribet.

Kalau mau mengcompile, silahkan Download osip dari http://ftp.gnu.org/gnu/osip/ tepatnya http://ftp.gnu.org/gnu/osip/libosip2-3.6.0.tar.gz

Lakukan

mkdir src
mv libosip2-3.6.0.tar.gz ~/src
cd ~/src
tar zxvf libosip2-3.6.0.tar.gz
mkdir linux-build
cd ~/src/linux-build/
~/src/libosip2-3.6.0/configure 
make clean
make all
make
make install

Naga-naganya ada yang salah di cara ini, terutama di ./configure kita perlu menambahkan banyak switch karena kita pakai processor armv7

Instalasi OpenBTS

Cek apakah ada OpenBTS

updatedb &
locate openbts

Kalau tidak ketemu berarti kita perlu instalasi.

Download OpenBTS

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
scp -r openbts root@<ip-address-E110>

Compile OpenBTS

Compile menggunakan perintah

mv openbts ~/src
cd ~/src/openbts/openbts/trunk
./autogen.sh 
./configure --with-uhd 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
make 
make install
cp ~/src/openbts/openbts/trunk/Transceiver52M/transceiver ~/src/openbts/


Instalasi Database Konfigurasi OpenBTS

cd ~/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

Error File System Kurang Baik

Kalau microSD yang kita gunakan kurang baik, ada beberapa sector yang Read-only, maka kita akan melihat error di bawah ini.


Preparing build ... autom4te: cannot open autom4te.cache/requests: Read-only file system
automake: autoconf failed with exit status: 1
ERROR: automake failed
rm: cannot remove `COPYING.5934.protect_from_automake.backup': Read-only file  system
rm: cannot remove `INSTALL.5934.protect_from_automake.backup': Read-only file system
rm: cannot remove `./config.sub.backup': Read-only file system
rm: cannot remove `./ltmain.sh.backup': Read-only file system

Solusinya kita perlu reboot & ulang proses compile. Kalau tetap gagal, maka kita perlu membuat ulang microSD tersebut.

Error autoreconf

Sebaiknya jangan menggunakan autoreconf seperti di bawah ini karena akan meminta perl yang tidak ada di E110.

mv openbts ~/src
cd ~/src/openbts/openbts/trunk
autoreconf -i

Akan keluar error sebagai berikut

can't locate Autom4te/ChannelDefs.pm in @INC (@INC contains: @autom4te_perllibdir@ /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl   .) at /usr/bin/gnu-configize line 40.
BEGIN failed--compilation aborted at /usr/bin/gnu-configize line 40.
autoreconf: gnu-configize failed with exit status: 2

Solusi: sebaiknya menggunakan ./autogen.sh kemungkinan berhasil lebih tinggi.

Compile Smqueue

Lakukan

cd ~/src/openbts/smqueue/trunk
./autogen.sh
./configure 
make clean
make 
make install

Selanjutnya, inisialisasi konfigurasi database OpenBTS

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

Error saat compile / make Smqueue

make[1]: Entering directory `/home/root/src/openbts/smqueue/trunk/smqueue'
g++ -DHAVE_CONFIG_H -I. -I..  -I../CommonLibs -I../GSM -I../SMS -I../Globals -I../HLR -I../sqlite3  -O3 -g -lpthread -g -O2 -MT smqueue.o -MD -MP -MF .deps/smqueue.Tpo -c -o smqueue.o smqueue.cpp
smqueue.cpp: In member function 'void SMqueue::SMq::respond_sip_ack(int,  SMqueue::short_msg_pending*, char*, size_t)':
smqueue.cpp:1910:20: error: invalid conversion from 'int (*)(void*, void**)' to 'int* (*)(void*, void*)'
smqueue.cpp:1910:20: error:   initializing argument 3 of 'int osip_list_clone(const osip_list_t*, osip_list_t*, int* (*)(void*, void*))'
make[1]: *** [smqueue.o] Error 1
make[1]: Leaving directory `/home/root/src/openbts/smqueue/trunk/smqueue'
make: *** [install-recursive] Error 1 

Belum ada solusi

Instalasi Subscriber Registry

Lakukan

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

Menjalankan OpenBTS

cd ~/src/openbts/

./openbts/trunk/apps/OpenBTS

Pranala Menarik

Persiapan Hardware

OpenBTS 2.6

OpenBTS 2.8

Ettus E110

Lain Lain

Catatan Legal dan Pendukung

Catatan Sejarah