Difference between revisions of "OpenBTS: E110 Instalasi OpenBTS"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
Line 359: | Line 359: | ||
* [[USRP: High Precision Clock]] | * [[USRP: High Precision Clock]] | ||
* [[USRP: Menyambungkan ClockTamer ke USRP1]] | * [[USRP: Menyambungkan ClockTamer ke USRP1]] | ||
+ | * [[USRP: Kalibrasi ClockTamer]] | ||
* [[USRP: Instalasi Board]] | * [[USRP: Instalasi Board]] | ||
* [[OpenBTS: GIT Source Code]] | * [[OpenBTS: GIT Source Code]] |
Revision as of 09:22, 4 March 2012
Lakukan Ubah Master Clock ke 52MHz
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 menset di shell
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 vi ~/src/openbts/openbts/trunk/apps/OpenBTS.cpp
pastikan
sleep(8);
lanjutkan proses compile
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 cd ~/src/openbts/openbts/trunk/apps ln -s ../Transceiver52M/transceiver .
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 "assuming TRX is dead"
Di E1xx, transceiver akan lebih lambat dari yang normal OpenBTS. Oleh karenanya sangat di sarankan agar transceiver load delay di naikan, jika tidak OpenBTS akan meresponds dengan "assuming TRX is dead" dan exit. Jika ini terjadi, transceiver instance akan tetap running dan akan menyebabkan akses ke UHD device terhalangi. Patch-nya adalah
vi ~/src/openbts/openbts/trunk/apps/OpenBTS.cpp
Edit
// Start the transceiver interface. // Sleep long enough for the USRP to bootload. sleep(5);
Ubah menjadi
sleep(8);
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
SOLUSI:
- 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:
- autoreconf -i cukup aman kalau di lakukan di Ubuntu 11.10. Caranya SD card di mount ke ubuntu 11.10, di lakukan di mesin host Ubuntu 11.10 bukan di E110.
- Alternatif lain 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
SOLUSI:
- 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
Yang agak repot adalah menginstalasi Asterisk Real Time
Error di Template Database
Naga-naganya masih banyak sekali Error di template database subscriber registry :(
-- Loading resources from subscriberRegistryInit.sql Error: incomplete SQL: CREATE TABLE 'sip_buddies' ( id integer, name VARCHAR(80) not null, context VARCHAR(80), callingpres VARCHAR(30) DEFAULT 'allowed_not_screened', deny VARCHAR(95), permit VARCHAR(95), secret VARCHAR(80), md5secret VARCHAR(80), remotesecret VARCHAR(250), transport VARCHAR(10), host VARCHAR(31) not null, nat VARCHAR(5) DEFAULT 'no' not null, type VARCHAR(10) DEFAULT 'friend' not null, accountcode VARCHAR(20), amaflags VARCHAR(13), callgroup VARCHAR(10), callerid VARCHAR(80), defaultip VARCHAR(40) DEFAULT '0.0.0.0', dtmfmode VARCHAR(7) DEFAULT 'rfc2833', fromuser VARCHAR(80), fromdomain VARCHAR(80), insecure VARCHAR(4), language CHAR(2), mailbox VARCHAR(50), pickupgroup VARCHAR(10), qualify CHAR(3), regexten VARCHAR(80), rtptimeout CHAR(3), rtpholdtimeout CHAR(3), setvar VARCHAR(100), disallow VARCHAR(100) DEFAULT 'all', allow VARCHAR(100) DEFAULT 'ulaw' not null, fullcontact VARCHAR(80), ipaddr VARCHAR(40), port int(5) DEFAULT 0, username VARCHAR(80), defaultuser VARCHAR(80), subscribecontext VARCHAR(80), directmedia VARCHAR(3), trustrpid VARCHAR(3), sendrpid VARCHAR(3), progressinband VARCHAR(5), promiscredir VARCHAR(3), useclientcode VARCHAR(3), callcounter VARCHAR(3), busylevel int(11), allowoverlap VARCHAR(3) DEFAULT 'yes', allowsubscribe VARCHAR(3) DEFAULT 'yes', allowtransfer VARCHAR(3) DEFAULT 'yes', ignoresdpversion VARCHAR(3) DEFAULT 'no', template VARCHAR(100), videosupport VARCHAR(6) DEFAULT 'no', maxcallbitrate int(11), rfc2833compensate VARCHAR(3) DEFAULT 'yes', 'session-timers' VARCHAR(10) DEFAULT 'accept', 'session-expires' int(6) DEFAULT 1800, 'session-minse' int(6) DEFAULT 90, 'session-refresher' VARCHAR(3) DEFAULT 'uas', t38pt_usertpsource VARCHAR(3), outboundproxy VARCHAR(250), callbackextension VARCHAR(250), registertrying VARCHAR(3) DEFAULT 'yes', timert1 int(6) DEFAULT 500, timerb int(9), qualifyfreq int(6) DEFAULT 120, contactpermit VARCHAR(250), contactdeny VARCHAR(250), lastms int(11) DEFAULT 0 not null, regserver VARCHAR(100), regseconds int(11) DEFAULT 0 not null, useragent VARCHAR(100), cancallforward CHAR(3) DEFAULT 'yes' not null, canreinvite CHAR(3) DEFAULT 'yes' not null, mask VARCHAR(95), musiconhold VARCHAR(100), restrictcid CHAR(3), calllimit int(5), WhiteListFlag timestamp not null default '0', WhiteListCode varchar(8) not null default '0', rand varchar(33) default , sres varchar(33) default , ki varchar(33) default , kc varchar(33) default , RRLPSupported int(1) default 1 not null, hardware VARCHAR(20), regTime INTEGER default 0 NOT NULL" a3_a8 varchar(45) default NULL primary key(id) ) ;
SOLUSI:
- Belum ada solusi
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/subscriberRegistry/trunk make
Setup database untuk Sipauthserve
rm /etc/OpenBTS/sipauthserve.db cd ~/src/openbts/subscriberRegistry/trunk sqlite3 -init sipauthserve.example.sql /etc/OpenBTS/sipauthserve.db .exit
Menjalankan OpenBTS
cd ~/src/openbts/openbts/trunk/apps/ ./OpenBTS
Bisa keluar
OpenBTS> version release P2.8TRUNK built Mar 3 2012
Error waktu Start
ALERT 1088898144 TRXManager.cpp:86:clockHandler: TRX clock interface timed out, assuming TRX is dead. Aborted
Biasanya setelah itu terjadi maka kalau di cek
uhd_usrp_probe
Hasilnya
-- Opening device node /dev/usrp_e0... Error: EnvironmentError: IOError: Failed to open /dev/usrp_e0
SOLUSI:
Edit
vi ~/src/openbts/openbts/trunk/apps/OpenBTS.cpp
Edit
// Start the transceiver interface. // Sleep long enough for the USRP to bootload. sleep(5);
Ubah menjadi
sleep(8);
Lakukan ini sebelum mengcompile openbts
Referensi
- http://gnuradio.org/redmine/projects/gnuradio/wiki/OpenBTSE100
- http://wush.net/trac/rangepublic/wiki/BuildInstallRun
- http://wush.net/trac/rangepublic/wiki/BuildInstallRun#SubscriberRegistry
Pranala Menarik
Persiapan
- USRP: High Precision Clock
- USRP: Menyambungkan ClockTamer ke USRP1
- USRP: Kalibrasi ClockTamer
- USRP: Instalasi Board
- OpenBTS: GIT Source Code
OpenBTS 2.6
- GNURadio
- GNURadio: Ubuntu Install
- GNURadio: Ubuntu Install GNURadio 3.4.2
- GNURadio: Contoh Aplikasi
- GNURadio: Spectrum Analizer GSM
- GNURadio: Mengubah board RFX1800 menjadi RFX900
- GNURadio: Programming Untuk Pemula
- OpenBTS: Ubuntu Install
- OpenBTS: Konfigurasi
- OpenBTS: Kalibrasi
- OpenBTS: Konfigurasi Asterisk untuk OpenBTS
- OpenBTS: Menjalankan smqueue
- OpenBTS: Mengoperasikan BTS
- OpenBTS: Tampilan di Nokia saat pakai OpenBTS
- OpenBTS: Operasi 1800 MHz
- OpenBTS: Beberapa Tips
- OpenBTS: USRP2
- OpenBTS: Amplifier
- OpenBTS: SMS
- AirProbe
OpenBTS 2.8
- GNURadio: Ubuntu 11.10 Install *NOT RECOMMENED*
- GNURadio: Ubuntu 11.10 instalasi menggunakan Repo NOT RECOMMENDED
- GNURadio: Ubuntu 11.10 Instal GNURadio 3.3.0
- GNURadio: Ubuntu 11.10 Instal GNURadio 3.4.2
- GNURadio: Ubuntu 11.10 Install dari GIT GNURadio
- OpenBTS: Ubuntu 11.10 Install
- OpenBTS: 2.8 dari SVN Install RECOMMENDED
- OpenBTS: 2.8 Instalasi Real Time Asterisk
- OpenBTS: 2.8 Konfigurasi
- OpenBTS: Database SQLite
Ettus E110
- OpenBTS: E110 Cara Login
- OpenBTS: E110 Install Image di MicroSD
- OpenBTS: E110 Cek Daughter Board
- OpenBTS: E110 Mengubah Master Clock
- OpenBTS: E110 Bekerja dengan opkg
- OpenBTS: E110 GNURadio
- OpenBTS: E110 Instalasi OpenBTS
- OpenBTS: E110 Instalasi OpenBTS 2.6 *NOT RECOMMENDED*
Lain Lain
- Membuat Base Station GSM Open Source
- Teknologi Selular
- GSM: Daftar Channel Frekuensi
- Wireless Internet
- OpenBSC
- AirProbe
- Base station subsystem
- GSM
- Asterisk
- Mobile phone
Catatan Legal dan Pendukung
- Siapa Bilang OpenBTS Ilegal?
- OpenBTS: Catatan MNC dan MCC Indonesia
- OpenBTS : Alokasi Frekuensi Operator GSM Indonesia