Difference between revisions of "OpenBTS: E110 Instalasi OpenBTS"

From OnnoWiki
Jump to navigation Jump to search
 
(99 intermediate revisions by the same user not shown)
Line 1: Line 1:
Cek apakah ada openbts
+
Lakukan [[OpenBTS: E110 Mengubah Master Clock | Ubah Master Clock ke 52MHz]]
 +
 
 +
 
 +
==Instalasi Aplikasi Pendukung==
 +
 
 +
Instal aplikasi pendukung
 +
 
 +
opkg update
 +
opkg install libosip2-6 libosip2-dev libortp8 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 &
 
  updatedb &
Line 6: Line 46:
 
Kalau tidak ketemu berarti kita perlu instalasi.
 
Kalau tidak ketemu berarti kita perlu instalasi.
  
Download di PC source code openbts bisa melalui
+
==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
 
  svn co http://wush.net/svn/range/software/public openbts
 
  scp -r openbts root@<ip-address-E110>
 
  scp -r openbts root@<ip-address-E110>
 +
 +
==Compile OpenBTS==
  
 
Compile menggunakan perintah
 
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
 
  autoreconf -i
  ./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"  
+
 
 +
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
 
  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==
 
==Pranala Menarik==
  
 
* [[OpenBTS]]
 
* [[OpenBTS]]
 +
* [[OpenBTS: Arsitektur secara umum]]
  
===Persiapan Hardware===
+
===Persiapan===
  
 
* [[USRP: High Precision Clock]]
 
* [[USRP: High Precision Clock]]
 +
* [[USRP: Menyambungkan ClockTamer ke USRP1]]
 +
* [[USRP: Kalibrasi ClockTamer]]
 +
* [[USRP: ClockTamer Control Protocol]]
 +
* [[USRP: ClockTamer Flashing]]
 
* [[USRP: Instalasi Board]]
 
* [[USRP: Instalasi Board]]
 +
* [[OpenBTS: GIT Source Code]]
 +
* [[USRP: Rangkaian Board USRP]]
 +
* [[OpenBTS: Tethr untuk Bencana Alam]]
 +
* [[USRP: Tip Pemesanan]]
 +
 +
===Script===
 +
 +
* [[OpenBTS: Script Membuat GNURadio 3.4.2 di Ubuntu 13.04]]
 +
* [[OpenBTS: Script Membuat OpenBTS dan yate di Ubuntu 13.04]]
 +
* [[OpenBTS: Script Membuat OpenBTS 2.8.0 di RangeNetwork Dev Kit]]
 +
* [[OpenBTS: Script Membuat OpenBTS di RangeNetwork Dev Kit]]
  
 
===OpenBTS 2.6===
 
===OpenBTS 2.6===
  
 +
* [[GNURadio]]
 
* [[GNURadio: Ubuntu Install]]
 
* [[GNURadio: Ubuntu Install]]
 +
* [[GNURadio: Menggunakan UHD]]
 +
* [[GNURadio: Ubuntu Install GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu Install GNURadio 3.4.2 Clock 52MHz]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 13.04 Install GNURadio 3.4.2 Clock 52MHz]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Contoh Aplikasi]]
 
* [[GNURadio: Spectrum Analizer GSM]]
 
* [[GNURadio: Spectrum Analizer GSM]]
 
* [[GNURadio: Mengubah board RFX1800 menjadi RFX900]]
 
* [[GNURadio: Mengubah board RFX1800 menjadi RFX900]]
* [[OpenBTS: Ubuntu Install]]
+
* [[GNURadio: Programming Untuk Pemula]]
* [[OpenBTS: Konfigurasi]]
+
* [[OpenBTS: Ubuntu Install]] '''RECOMMENDED'''
 +
* [[OpenBTS: Ubuntu Install OpenBTS 2.6 Clock 52MHz]] '''RECOMMENDED'''
 +
* [[OpenBTS: Ubuntu 13.04 Install OpenBTS 2.6 Clock 52MHz]] ''NOT RECOMMENDED''
 +
* [[OpenBTS: Konfigurasi]] '''RECOMMENDED'''
 
* [[OpenBTS: Kalibrasi]]
 
* [[OpenBTS: Kalibrasi]]
* [[OpenBTS: Konfigurasi Asterisk untuk OpenBTS]]
+
* [[OpenBTS: Konfigurasi Asterisk untuk OpenBTS]] '''RECOMMENDED'''
 
* [[OpenBTS: Menjalankan smqueue]]
 
* [[OpenBTS: Menjalankan smqueue]]
* [[OpenBTS: Mengoperasikan BTS]]
+
* [[OpenBTS: Mengoperasikan BTS]] '''RECOMMENDED'''
 
* [[OpenBTS: Tampilan di Nokia saat pakai OpenBTS]]
 
* [[OpenBTS: Tampilan di Nokia saat pakai OpenBTS]]
 
* [[OpenBTS: Operasi 1800 MHz]]
 
* [[OpenBTS: Operasi 1800 MHz]]
Line 47: Line 402:
 
* [[OpenBTS: Amplifier]]
 
* [[OpenBTS: Amplifier]]
 
* [[OpenBTS: SMS]]
 
* [[OpenBTS: SMS]]
 +
* [[AirProbe]]
  
 
===OpenBTS 2.8===
 
===OpenBTS 2.8===
  
* [[GNURadio: Ubuntu 11.10 Install]]
+
* [[GNURadio: Ubuntu 11.10 Install]] ''NOT RECOMMENED''
 +
* [[GNURadio: Ubuntu 11.10 instalasi menggunakan Repo]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Download GNURadio]]
 +
* [[GNURadio: Install UHD]]
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.3.0]]
 +
* [[GNURadio: Ubuntu 12.10 Instal GNURadio 3.3.0]]
 +
* [[GNURadio: Ubuntu 12.10 Instal GNURadio 3.4.1]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 12.04 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 12.04.1 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 12.10 Instal GNURadio 3.4.2]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 13.04 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.5.0]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.5.3.2]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.6.0]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Install dari GIT GNURadio]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 cek USRP Daughter Board]]
 +
* [[GNURadio: UHD]] ''NOT RECOMMENDED''
 +
* [[GNURadio: UHD Image]] ''NOT RECOMMENDED''
 +
* [[GNURadio: UHD burn EEPROM RFX Board di USRP1]] ''NOT RECOMMENDED''
 +
* [[GNURadio: UHD Identifikasi Device]]
 
* [[OpenBTS: Ubuntu 11.10 Install]]
 
* [[OpenBTS: Ubuntu 11.10 Install]]
 +
* [[OpenBTS: dari GIT ttsou]]
 +
* [[OpenBTS: 2.8 dari SVN Install]]
 +
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz di Ubuntu 12.10]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz di Ubuntu 13.04]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 dari SVN 2.8.0 Install Clock 52MHz di Ubuntu 13.04]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz dengan UHD tanpa GNURadio]] ''NOT RECOMMENDED''
 +
* [[OpenBTS: 2.8 Edit User di sqlite3.db]] '''RECOMMEND'''
 +
* [[OpenBTS: Yate Softswitch]] '''RECOMMENDED'''
 +
* [[OpenBTS: Yate Softswitch install Ubuntu 12.10]] '''RECOMMENDED'''
 +
* [[OpenBTS: Yate Softswitch install Ubuntu 13.04]] '''RECOMMENDED'''
 +
* [[OpenBTS: Yate Config Test]]
 +
* [[OpenBTS: 2.8 Instalasi Real Time Asterisk]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 Menjalankan]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 Konfigurasi]]
 +
* [[OpenBTS: 2.8 Konfigurasi Cognitive Radio Elsabagh]]
 +
* [[OpenBTS: 2.8 Konfigurasi Subscriber Registery]]
 +
* [[OpenBTS: Database SQLite]]
 +
* [[OpenBTS: Set SQLite Subscriber Registry secara manual]]
 +
* [[OpenBTS: Set SQLite parameter smqueue]]
 +
* [[OpenBTS: FreeSWITCH]]
 +
 +
===Multi OpenBTS 2.8===
 +
 +
* [[OpenBTS: Pola Multi OpenBTS]] '''RECOMMENDED'''
 +
* [[Multi OpenBTS: Catatan Konfigurasi]] '''RECOMMENDED'''
 +
* [[Multi OpenBTS: Catatan BSIC=NCC+BCC]]
 +
* [[Multi OpenBTS: Catatan Frekuensi Planning di GSM]]
 +
* [[Multi OpenBTS: Catatan BTS Color Code BCC di GSM]]
 +
* [[Multi OpenBTS: Catatan Network Color Code NCC di GSM]]
 +
* [[Multi OpenBTS: Catatan BCCH]]
 +
* [[Multi OpenBTS: Catatan Public Land Mobile Network PLMN]]
 +
 +
===OpenBTS 3.1.x===
 +
 +
* [[OpenBTS: Install UHD untuk USRP1]]
 +
* [[OpenBTS: UHD Identifikasi Device]]
 +
* [[OpenBTS: OpenBTS 3.1.3 Compile]] '''Tidak bisa untuk USRP1'''
 +
* [[OpenBTS: Yate Compile]]
  
 
===Ettus E110===
 
===Ettus E110===
  
 
* [[OpenBTS: E110 Cara Login]]
 
* [[OpenBTS: E110 Cara Login]]
* [[OpenBTS: E110 Install Image di MicroSD]]
+
* [[OpenBTS: E110 Install Image di MicroSD]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: E110 Cek Daughter Board]]
 +
* [[OpenBTS: E110 Mengubah Master Clock]]
 +
* [[OpenBTS: E110 Kalibrasi Clock]]
 +
* [[OpenBTS: E110 Konfigurasi Jaringan]]
 +
* [[OpenBTS: E110 Bekerja dengan opkg]]
 +
* [[OpenBTS: E110 Instalasi iptables]]
 +
* [[OpenBTS: E110 GNURadio]]
 +
* [[OpenBTS: E110 Compile UHD]] ''Not Recommended''
 +
* [[OpenBTS: E110 Compile UHD dari Release Bukan git]] ''Not Recommended''
 +
* [[OpenBTS: E110 UHD burn EEPROM RFX Board]] ''Not Recommended''
 +
* [[OpenBTS: E110 Install UHD Image]] ''Not Recommended''
 
* [[OpenBTS: E110 Instalasi OpenBTS]]
 
* [[OpenBTS: E110 Instalasi OpenBTS]]
 +
* [[OpenBTS: E110 Instalasi OpenBTS 2.6]] ''NOT RECOMMENDED''
 +
* [[OpenBTS: E110 Instalasi OpenBTS 2.8 untuk MultiBTS]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: E110 Yate Softswitch]]
 +
 +
===Ettus N210===
 +
 +
* [[OpenBTS: N210 Instalasi GPSDO Kit]]
 +
* [[OpenBTS: N210 GNURadio]]
 +
* [[OpenBTS: N210 GNURadio 3.7.0]]
 +
* [[OpenBTS: N210 Instalasi OpenBTS]]
 +
* [[OpenBTS: N210 Instalasi Yate]]
 +
* [[OpenBTS: N210 Yate Config Test]]
 +
* [[OpenBTS: N210 Burn Firmware]]
 +
 +
===RangeNetworks===
 +
 +
* [[OpenBTS: RangeNetwork Foto]]
 +
* [[OpenBTS: RangeNetwork menggunakan USB recovery image]]
 +
* [[OpenBTS: RangeNetwork Default Setting]]
 +
* [[OpenBTS: RangeNetwork Instalasi UHD]]
 +
* [[OpenBTS: RangeNetwork Compile GNURadio UHD]]
 +
* [[OpenBTS: RangeNetwork Compile]]
 +
* [[OpenBTS: RangeNetwork Compile OpenBTS 2.8.0]]
 +
* [[OpenBTS: RangeNetwork Compile OpenBTS 3.1.3]]
 +
* [[OpenBTS: RangeNetwork Yate Compile]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: RangeNetwork Web Interface]]
 +
* [[OpenBTS: RangeNetwork Trunk ke Asterisk Lain]]
 +
* [[OpenBTS: RangeNetwork Audit]]
 +
* [[VoIP: Trunk]]
 +
 +
===GPRS===
 +
 +
* [[OpenBTS: GPRS]]
 +
* [[OpenBTS: GPRS Konfigurasi]]
 +
* [[OpenBTS: GPRS untuk dibelakang Router dengan NAT]]
 +
 +
===Briker OpenBTS===
 +
 +
* [[OpenBTS: Briker]]
 +
 +
===FreeSWITCH OpenBTS===
 +
 +
* [[OpenBTS: FreeSWITCH]]
 +
 +
===Power Amplifier===
 +
 +
* [[Driver 900MHz]]
 +
* [[Power Amplifier 900MHz]]
 +
* [[Duplexer]]
 +
* [[OpenBTS: Menaikan Jangkauan OpenBTS]]
  
 
===Lain Lain===
 
===Lain Lain===
  
 +
* [[OpenBTS: Materi Magang di ICTWATCH]]
 +
* [[OpenBTS: Seminar Outline]]
 +
* [[OpenBTS: Workshop Outline]]
 
* [[Membuat Base Station GSM Open Source]]
 
* [[Membuat Base Station GSM Open Source]]
 
* [[Teknologi Selular]]
 
* [[Teknologi Selular]]
Line 76: Line 555:
 
* [[Siapa Bilang OpenBTS Ilegal?]]
 
* [[Siapa Bilang OpenBTS Ilegal?]]
 
* [[OpenBTS: Catatan MNC dan MCC Indonesia]]
 
* [[OpenBTS: Catatan MNC dan MCC Indonesia]]
 +
* [[OpenBTS: Catatan MNC dan MCC COOL]]
 
* [[OpenBTS : Alokasi Frekuensi Operator GSM Indonesia]]
 
* [[OpenBTS : Alokasi Frekuensi Operator GSM Indonesia]]
 +
* [[GSM: Daftar Channel Frekuensi]]
  
 
===Catatan Sejarah===
 
===Catatan Sejarah===
Line 83: Line 564:
 
* [[OpenBTS: Daftar Workshop atau Seminar yang pernah dilakukan]]
 
* [[OpenBTS: Daftar Workshop atau Seminar yang pernah dilakukan]]
 
* [[OpenBTS: Daftar Artikel di Media]]
 
* [[OpenBTS: Daftar Artikel di Media]]
 +
* [[OpenBTS: Permohonan Kanal dan DID untuk OpenBTS]]
 +
* [[OpenBTS: 2013/02/19 - OpenBTS TelkomSel Mengudara di Muscat Oman]]
 +
* [[OpenBTS: Beroperasi di Papua]]
 +
 +
===Dokumentasi Video===
 +
 +
* http://www.metrotvnews.com/read/newsprograms/2012/10/14/14624/212/Teknologi-BTS
 +
* http://youtu.be/8ogOcUSpINU (1/6)
 +
* http://youtu.be/F5d7HGuhppk (2/6)
 +
* http://youtu.be/90Jgq6bOgrQ (3/6)
 +
* http://youtu.be/cNkx_qNqdfc (4/6)
 +
* http://youtu.be/6LCuoeI57ak (5/6)
 +
* http://youtu.be/-dEqcHoIlYk (6/6)
 +
* http://www.youtube.com/watch?v=Ff_rw4kAOZg&feature=share
 +
 +
===Perjuangan OpenBTS===
 +
 +
* http://www.technologyreview.com/news/522371/how-remote-places-can-get-cellular-coverage-by-doing-it-themselves/?utm_campaign=socialsync&utm_medium=social-post&utm_source=twitter
 +
 +
  
 
[[Category: Wireless]]
 
[[Category: Wireless]]
 
[[Category: Selular]]
 
[[Category: Selular]]

Latest revision as of 06:02, 11 March 2014

Lakukan Ubah Master Clock ke 52MHz


Instalasi Aplikasi Pendukung

Instal aplikasi pendukung

opkg update
opkg install libosip2-6 libosip2-dev libortp8 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

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