Difference between revisions of "OpenBTS: E110 Instalasi OpenBTS 2.8 untuk MultiBTS"

From OnnoWiki
Jump to navigation Jump to search
 
(79 intermediate revisions by the same user not shown)
Line 1: Line 1:
Lakukan [[OpenBTS: E110 Mengubah Master Clock | Ubah Master Clock ke 52MHz]]
+
==Persiapan==
  
 +
* [[OpenBTS: E110 Install Image di MicroSD | Instal Image E110 e1xx-003-make.tar.bz2 ke MicroSD]]
 +
* [[OpenBTS: E110 UHD burn EEPROM RFX Board | Lakukan usrp_burn_db_eeprom agar RFX 1800 menjadi RFX 900]]
  
==Instalasi Aplikasi Pendukung==
+
==Set IP Adddress Statik==
  
Instal aplikasi pendukung
+
Edit
  
  opkg update
+
  vi /etc/network/interfaces
opkg install libosip2-6 libosip2-dev libortp8 libortp-dev sqlite3
 
  
Jika dibutuhkan kita dapat menset di shell
+
Isi dengan
  
  setenv PERL5LIB /usr/share/autoconf/Autom4te:/usr/share/automake-1.11/Automake
+
  # 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
  
==Instalasi OpenBTS==
+
opkg update
 +
opkg install libosip2-dev subversion sqlite3
  
Cek apakah ada [[OpenBTS]]
+
Cek sqlite3
  
  updatedb &
+
  sqlite3 --version
locate openbts
 
  
Kalau tidak ketemu berarti kita perlu instalasi.
+
Harusnya keluar seperti
  
==Download OpenBTS==
+
3.6.23.1
 +
 
 +
==Alternatif Download OpenBTS di PC / Laptop==
  
 
Download di PC [[source code]] [[openbts]] bisa melalui
 
Download di PC [[source code]] [[openbts]] bisa melalui
Line 31: Line 45:
 
  apt-get install subversion
 
  apt-get install subversion
 
  svn co http://wush.net/svn/range/software/public openbts-2.8.0
 
  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>:
 
  scp -r openbts-2.8.0 root@<ip-address-E110>:
  
 
==Compile OpenBTS==
 
==Compile OpenBTS==
  
Compile menggunakan perintah
+
Cara yang lebih mudah untuk download menggunakan wget
  
  mv openbts-2.8.0 ~/src
+
  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  
 
  vi ~/src/openbts-2.8.0/openbts/trunk/apps/OpenBTS.cpp  
  
pastikan  
+
pastikan sleep > 5, misalnya
  
 
  sleep(8);
 
  sleep(8);
Line 46: Line 64:
 
lanjutkan proses compile
 
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
 
  cd ~/src/openbts-2.8.0/openbts/trunk
  ./autogen.sh
+
  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"  
+
  ./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
 
  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  
 
  make install
 
  make install
 
  cd ~/src/openbts-2.8.0/openbts/trunk/apps
 
  cd ~/src/openbts-2.8.0/openbts/trunk/apps
 
  ln -s ../Transceiver52M/transceiver .
 
  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]]
 
Instalasi [[Database]] Konfigurasi [[OpenBTS]]
Line 59: Line 109:
 
  cd ~/src/openbts-2.8.0/openbts/trunk
 
  cd ~/src/openbts-2.8.0/openbts/trunk
 
  sudo mkdir /etc/OpenBTS
 
  sudo mkdir /etc/OpenBTS
  rm /etc/OpenBTS/OpenBTS.db
+
  rm -Rf /etc/OpenBTS/OpenBTS.db
  sudo sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db
+
  sudo sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db ".quit"
.exit
 
  
 +
==Instalasi Subscriber Registry==
  
===Error "assuming TRX is dead"===
+
Lakukan
  
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
+
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"
  
vi ~/src/openbts/openbts/trunk/apps/OpenBTS.cpp
+
==Instalasi Sipauthserve==
  
Edit
+
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.
  
// Start the transceiver interface.
+
Compile Sipauthserve
// Sleep long enough for the USRP to bootload.
 
sleep(5);
 
  
Ubah menjadi
+
cd ~/src/openbts-2.8.0/subscriberRegistry/trunk
 +
make
  
sleep(15);
+
Setup [[database]] untuk Sipauthserve
  
===Error File System Kurang Baik===
+
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"
  
Kalau microSD yang kita gunakan kurang baik, ada beberapa sector yang Read-only, maka kita akan melihat error di bawah ini.
+
==Instalasi Smqueue==
  
 +
Smqueue dapat di instalasi dengan melakukan langkah berikut
  
  Preparing build ... autom4te: cannot open autom4te.cache/requests: Read-only file system
+
  cd ~/src/openbts-2.8.0/smqueue/trunk
  automake: autoconf failed with exit status: 1
+
  autoreconf -i
  ERROR: automake failed
+
  ./configure
rm: cannot remove `COPYING.5934.protect_from_automake.backup': Read-only file  system
+
  make clean
  rm: cannot remove `INSTALL.5934.protect_from_automake.backup': Read-only file system
+
  make
  rm: cannot remove `./config.sub.backup': Read-only file system
+
  make install
  rm: cannot remove `./ltmain.sh.backup': Read-only file system
 
  
'''SOLUSI:'''
+
Selanjutnya, inisialisasi konfigurasi [[database]] [[OpenBTS]]
* reboot & ulang proses compile.
+
 
* Kalau tetap gagal, maka kita perlu membuat ulang [[microSD]] tersebut.
+
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==
 +
 
 +
'''[[OpenBTS: Yate Softswitch | Pastikan Yate sudah di Instalasi.]]'''
 +
 
 +
Lakukan di tiga (3) windows yang berbeda
 +
 
 +
cd ~/src/openbts-2.8.0/subscriberRegistry/trunk/
 +
./sipauthserve &
  
===Error autoreconf===
+
mkdir -p /var/lib/OpenBTS
 +
touch /var/lib/OpenBTS/smq.cdr
 +
cd ~/src/openbts-2.8.0/smqueue/trunk/smqueue/
 +
./smqueue &
  
Sebaiknya jangan menggunakan autoreconf seperti di bawah ini karena akan meminta perl yang tidak ada di E110.
+
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
  
  mv openbts ~/src
+
  mkdir /var/run/OpenBTS/
  cd ~/src/openbts/openbts/trunk
+
touch /var/run/OpenBTS/TransactionTable.db
  autoreconf -i
+
  cd ~/src/openbts-2.8.0/openbts/trunk/apps
 +
  ./OpenBTS &
  
Akan keluar error sebagai berikut
+
==Edit Konfigurasi==
  
  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.
+
  cd ~/src/openbts-2.8.0/openbts/trunk/apps/
  BEGIN failed--compilation aborted at /usr/bin/gnu-configize line 40.
+
  ./OpenBTSCLI
autoreconf: gnu-configize failed with exit status: 2
 
  
'''SOLUSI:'''
+
Parameter yang perlu di ubah
* 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==
+
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
  
Lakukan
+
config save
  
cd ~/src/openbts/smqueue/trunk
+
==Debug Transceiver==
./autogen.sh
 
./configure
 
make clean
 
make
 
make install
 
  
Selanjutnya, inisialisasi konfigurasi database OpenBTS
+
cd ~/src/openbts-2.8.0/openbts/trunk/apps/
 +
./transceiver DEBUG
  
cd ~/src/openbts/smqueue/trunk
+
==Error==
rm -Rf /etc/OpenBTS/smqueue.db
 
sudo sqlite3 -init  smqueue/smqueue.example.sql /etc/OpenBTS/smqueue.db
 
.exit
 
  
===Error saat compile / make Smqueue===
+
===Error SubscriberRegistry===
  
  make[1]: Entering directory `/home/root/src/openbts/smqueue/trunk/smqueue'
+
  EMERG 1079640064 SubscriberRegistry.cpp:160:init: Cannot open SubscriberRegistry database: unable to open database file
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
+
  Mar 29 07:26:33 usrp-e1xx openbts: EMERG 1079640064 SubscriberRegistry.cpp:160:init: Cannot open  SubscriberRegistry database: unable to open database file
smqueue.cpp: In member function 'void SMqueue::SMq::respond_sip_ack(int, SMqueue::short_msg_pending*, char*, size_t)':
+
  1333002393.869356 1079640064:  
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:'''
 
'''SOLUSI:'''
* Belum ada 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.
  
==Menjalankan OpenBTS==
+
'''SOLUSI:'''
 +
 
 +
* Naikan sleep() di OpenBTS.cpp & compile ulang
 +
 
 +
vi ~/src/openbts-2.8.0/openbts/trunk/apps/OpenBTS.cpp
 +
 
 +
sleep(8);
 +
 
 +
* '''SEBAIKNYA:''' [[OpenBTS: E110 UHD burn EEPROM RFX Board | Gunakan RFX900. Burn EEPROM di RFX1800 agar menjadi RFX900]]
 +
* Jika terpaksa menggunakan RFX 1800, edit OpenBTS.example.sql agar menggunakan frekuensi 1800 & ARFCN 800-an.
 +
* Restart OpenBTS
  
  cd ~/src/openbts-2.8.0/openbts/trunk/apps/
+
killall transceiver
 +
  cd ~/src/openbts-2.8.0/openbts/trunk/apps
 
  ./OpenBTS &
 
  ./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:'''
 +
 +
[[OpenBTS: E110 Mengubah Master Clock | Compile UHD agar master clock 52MHz]]
  
 
==Referensi==
 
==Referensi==
Line 165: Line 269:
  
 
* [[OpenBTS]]
 
* [[OpenBTS]]
 +
* [[OpenBTS: Arsitektur secara umum]]
  
 
===Persiapan===
 
===Persiapan===
Line 172: Line 277:
 
* [[USRP: Kalibrasi ClockTamer]]
 
* [[USRP: Kalibrasi ClockTamer]]
 
* [[USRP: ClockTamer Control Protocol]]
 
* [[USRP: ClockTamer Control Protocol]]
 +
* [[USRP: ClockTamer Flashing]]
 
* [[USRP: Instalasi Board]]
 
* [[USRP: Instalasi Board]]
 
* [[OpenBTS: GIT Source Code]]
 
* [[OpenBTS: GIT Source Code]]
 
* [[USRP: Rangkaian Board USRP]]
 
* [[USRP: Rangkaian Board USRP]]
 
* [[OpenBTS: Tethr untuk Bencana Alam]]
 
* [[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===
Line 184: Line 298:
 
* [[GNURadio: Ubuntu Install GNURadio 3.4.2]] '''RECOMMENDED'''
 
* [[GNURadio: Ubuntu Install GNURadio 3.4.2]] '''RECOMMENDED'''
 
* [[GNURadio: Ubuntu Install GNURadio 3.4.2 Clock 52MHz]] '''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: Contoh Aplikasi]]
 
* [[GNURadio: Spectrum Analizer GSM]]
 
* [[GNURadio: Spectrum Analizer GSM]]
Line 190: Line 305:
 
* [[OpenBTS: Ubuntu Install]] '''RECOMMENDED'''
 
* [[OpenBTS: Ubuntu Install]] '''RECOMMENDED'''
 
* [[OpenBTS: Ubuntu Install OpenBTS 2.6 Clock 52MHz]] '''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: Konfigurasi]] '''RECOMMENDED'''
 
* [[OpenBTS: Kalibrasi]]
 
* [[OpenBTS: Kalibrasi]]
Line 210: Line 326:
 
* [[GNURadio: Install UHD]]
 
* [[GNURadio: Install UHD]]
 
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.3.0]]
 
* [[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 11.10 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 
* [[GNURadio: Ubuntu 12.04 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.0]] ''NOT RECOMMENDED''
 
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.5.3.2]] ''NOT RECOMMENDED''
 
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.5.3.2]] ''NOT RECOMMENDED''
Line 217: Line 338:
 
* [[GNURadio: Ubuntu 11.10 Install dari GIT GNURadio]] ''NOT RECOMMENDED''
 
* [[GNURadio: Ubuntu 11.10 Install dari GIT GNURadio]] ''NOT RECOMMENDED''
 
* [[GNURadio: Ubuntu 11.10 cek USRP Daughter Board]]
 
* [[GNURadio: Ubuntu 11.10 cek USRP Daughter Board]]
* [[GNURadio: UHD]]
+
* [[GNURadio: UHD]] ''NOT RECOMMENDED''
* [[GNURadio: UHD Image]]
+
* [[GNURadio: UHD Image]] ''NOT RECOMMENDED''
 +
* [[GNURadio: UHD burn EEPROM RFX Board di USRP1]] ''NOT RECOMMENDED''
 
* [[GNURadio: UHD Identifikasi Device]]
 
* [[GNURadio: UHD Identifikasi Device]]
 
* [[OpenBTS: Ubuntu 11.10 Install]]
 
* [[OpenBTS: Ubuntu 11.10 Install]]
Line 224: Line 346:
 
* [[OpenBTS: 2.8 dari SVN Install]]
 
* [[OpenBTS: 2.8 dari SVN Install]]
 
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz]] '''RECOMMENDED'''
 
* [[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: 2.8 Edit User di sqlite3.db]] '''RECOMMEND'''
* [[OpenBTS: Yate Softswitch]]
+
* [[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: Yate Config Test]]
 
* [[OpenBTS: 2.8 Instalasi Real Time Asterisk]] '''RECOMMENDED'''
 
* [[OpenBTS: 2.8 Instalasi Real Time Asterisk]] '''RECOMMENDED'''
 
* [[OpenBTS: 2.8 Menjalankan]] '''RECOMMENDED'''
 
* [[OpenBTS: 2.8 Menjalankan]] '''RECOMMENDED'''
 
* [[OpenBTS: 2.8 Konfigurasi]]
 
* [[OpenBTS: 2.8 Konfigurasi]]
 +
* [[OpenBTS: 2.8 Konfigurasi Cognitive Radio Elsabagh]]
 
* [[OpenBTS: 2.8 Konfigurasi Subscriber Registery]]
 
* [[OpenBTS: 2.8 Konfigurasi Subscriber Registery]]
 
* [[OpenBTS: Database SQLite]]
 
* [[OpenBTS: Database SQLite]]
 +
* [[OpenBTS: Set SQLite Subscriber Registry secara manual]]
 +
* [[OpenBTS: Set SQLite parameter smqueue]]
 +
* [[OpenBTS: FreeSWITCH]]
  
 
===Multi OpenBTS 2.8===
 
===Multi OpenBTS 2.8===
  
* [[OpenBTS: Pola Multi OpenBTS]]
+
* [[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 Cek Daughter Board]]
 
* [[OpenBTS: E110 Mengubah Master Clock]]
 
* [[OpenBTS: E110 Mengubah Master Clock]]
 
* [[OpenBTS: E110 Kalibrasi Clock]]
 
* [[OpenBTS: E110 Kalibrasi Clock]]
 +
* [[OpenBTS: E110 Konfigurasi Jaringan]]
 
* [[OpenBTS: E110 Bekerja dengan opkg]]
 
* [[OpenBTS: E110 Bekerja dengan opkg]]
 +
* [[OpenBTS: E110 Instalasi iptables]]
 
* [[OpenBTS: E110 GNURadio]]
 
* [[OpenBTS: E110 GNURadio]]
* [[OpenBTS: E110 Install UHD Image]]
+
* [[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.6]] ''NOT RECOMMENDED''
* [[OpenBTS: E110 Instalasi OpenBTS 2.8 untuk MultiBTS]]
+
* [[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===
 
===Power Amplifier===
Line 256: Line 448:
 
* [[Power Amplifier 900MHz]]
 
* [[Power Amplifier 900MHz]]
 
* [[Duplexer]]
 
* [[Duplexer]]
 +
* [[OpenBTS: Menaikan Jangkauan OpenBTS]]
  
 
===Lain Lain===
 
===Lain Lain===
Line 286: Line 479:
 
* [[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===
 
===Dokumentasi Video===
  
 +
* http://www.metrotvnews.com/read/newsprograms/2012/10/14/14624/212/Teknologi-BTS
 
* http://youtu.be/8ogOcUSpINU (1/6)
 
* http://youtu.be/8ogOcUSpINU (1/6)
 
* http://youtu.be/F5d7HGuhppk (2/6)
 
* http://youtu.be/F5d7HGuhppk (2/6)
Line 295: Line 492:
 
* http://youtu.be/6LCuoeI57ak (5/6)
 
* http://youtu.be/6LCuoeI57ak (5/6)
 
* http://youtu.be/-dEqcHoIlYk (6/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:03, 11 March 2014

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