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

From OnnoWiki
Jump to navigation Jump to search
 
(86 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
 +
 +
opkg update
 +
opkg install libosip2-dev subversion sqlite3
  
==Instalasi OpenBTS==
+
Cek sqlite3
  
Cek apakah ada [[OpenBTS]]
+
sqlite3 --version
  
updatedb &
+
Harusnya keluar seperti
locate openbts
 
  
Kalau tidak ketemu berarti kita perlu instalasi.
+
3.6.23.1
  
==Download OpenBTS==
+
==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
  scp -r openbts root@<ip-address-E110>
+
 
 +
Kemudian di transfer ke 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 ~/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
Line 55: Line 87:
 
  ln -s ../Transceiver52M/transceiver .
 
  ln -s ../Transceiver52M/transceiver .
  
Instalasi [[Database]] Konfigurasi [[OpenBTS]]
+
mkdir /var/run/OpenBTS/
 +
touch /var/run/OpenBTS/TransactionTable.db
  
cd ~/src/openbts-2.8.0/openbts/trunk
 
sudo mkdir /etc/OpenBTS
 
rm /etc/OpenBTS/OpenBTS.db
 
sudo sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db
 
.exit
 
  
 +
===Jika Menggunakan RFX 1800 daughter board===
  
===Error "assuming TRX is dead"===
+
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'''
  
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-2.8.0/openbts/trunk/apps/OpenBTS.example.sql
  
vi ~/src/openbts/openbts/trunk/apps/OpenBTS.cpp
+
Agar
  
Edit
+
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.');
  
// Start the transceiver interface.
+
Instalasi [[Database]] Konfigurasi [[OpenBTS]]
// Sleep long enough for the USRP to bootload.
 
sleep(5);
 
  
Ubah menjadi
+
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"
  
sleep(8);
+
==Instalasi Subscriber Registry==
  
===Error File System Kurang Baik===
+
Lakukan
  
Kalau microSD yang kita gunakan kurang baik, ada beberapa sector yang Read-only, maka kita akan melihat error di bawah ini.
+
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==
  
Preparing build ... autom4te: cannot open autom4te.cache/requests: Read-only file system
+
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.
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:'''
+
Compile Sipauthserve
* reboot & ulang proses compile.
 
* Kalau tetap gagal, maka kita perlu membuat ulang [[microSD]] tersebut.
 
  
===Error autoreconf===
+
cd ~/src/openbts-2.8.0/subscriberRegistry/trunk
 +
make
  
Sebaiknya jangan menggunakan autoreconf seperti di bawah ini karena akan meminta perl yang tidak ada di E110.
+
Setup [[database]] untuk Sipauthserve
  
  mv openbts ~/src
+
  mkdir /etc/OpenBTS
  cd ~/src/openbts/openbts/trunk
+
rm -Rf /etc/OpenBTS/sipauthserve.db
  autoreconf -i
+
  cd ~/src/openbts-2.8.0/subscriberRegistry/trunk
 +
  sudo sqlite3 -init sipauthserve.example.sql /etc/OpenBTS/sipauthserve.db ".quit"
  
Akan keluar error sebagai berikut
+
==Instalasi Smqueue==
  
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.
+
Smqueue dapat di instalasi dengan melakukan langkah berikut
BEGIN failed--compilation aborted at /usr/bin/gnu-configize line 40.
 
autoreconf: gnu-configize failed with exit status: 2
 
  
'''SOLUSI:'''
+
  cd ~/src/openbts-2.8.0/smqueue/trunk
* 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.
+
  autoreconf -i
* Alternatif lain menggunakan  ./autogen.sh  kemungkinan berhasil lebih tinggi.
 
 
 
==Compile Smqueue==
 
 
 
Lakukan
 
 
 
  cd ~/src/openbts/smqueue/trunk
 
  ./autogen.sh
 
 
  ./configure  
 
  ./configure  
 
  make clean
 
  make clean
Line 126: Line 149:
 
  make install
 
  make install
  
Selanjutnya, inisialisasi konfigurasi database OpenBTS
+
Selanjutnya, inisialisasi konfigurasi [[database]] [[OpenBTS]]
  
  cd ~/src/openbts/smqueue/trunk
+
  cd ~/src/openbts-2.8.0/smqueue/trunk
 
  rm -Rf /etc/OpenBTS/smqueue.db
 
  rm -Rf /etc/OpenBTS/smqueue.db
  sudo sqlite3 -init smqueue/smqueue.example.sql /etc/OpenBTS/smqueue.db
+
  sudo sqlite3 -init smqueue/smqueue.example.sql /etc/OpenBTS/smqueue.db ".quit"
.exit
+
 
 +
==Menjalankan OpenBTS==
 +
 
 +
'''[[OpenBTS: Yate Softswitch | Pastikan Yate sudah di Instalasi.]]'''
  
===Error saat compile / make Smqueue===
+
Lakukan di tiga (3) windows yang berbeda
  
  make[1]: Entering directory `/home/root/src/openbts/smqueue/trunk/smqueue'
+
  cd ~/src/openbts-2.8.0/subscriberRegistry/trunk/
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
+
  ./sipauthserve &
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:'''
+
mkdir -p /var/lib/OpenBTS
* Belum ada solusi
+
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
  
==Menjalankan OpenBTS==
+
config save
  
cd ~/src/openbts/openbts/trunk/apps/
+
==Debug Transceiver==
./OpenBTS
 
  
Bisa keluar
+
cd ~/src/openbts-2.8.0/openbts/trunk/apps/
 +
./transceiver DEBUG
  
OpenBTS> version
+
==Error==
release P2.8TRUNK built Mar  3 2012
 
  
 +
===Error SubscriberRegistry===
  
===Error waktu Start===
+
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:
  
ALERT 1088898144 TRXManager.cpp:86:clockHandler: TRX clock interface timed out, assuming TRX is dead.
+
'''SOLUSI:'''
Aborted
 
  
Biasanya setelah itu terjadi maka kalau di cek
+
Instalasi Subscriber Registry, Lakukan
  
  uhd_usrp_probe
+
  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"
  
Hasilnya
+
===Error TX Dead===
  
  -- Opening device node /dev/usrp_e0...
+
  ALERT 1089582176 TRXManager.cpp:92:clockHandler: TRX clock interface timed out, assuming TRX is dead.
Error: EnvironmentError: IOError: Failed to open /dev/usrp_e0
 
  
 
'''SOLUSI:'''
 
'''SOLUSI:'''
  
Edit
+
* 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
 +
 
 +
killall transceiver
 +
cd ~/src/openbts-2.8.0/openbts/trunk/apps
 +
./OpenBTS &
 +
 
 +
===Error set_rates===
  
vi ~/src/openbts/openbts/trunk/apps/OpenBTS.cpp
+
Saat
  
Edit
+
cd ~/src/openbts-2.8.0/openbts/trunk/Transceiver52M
 +
./USRPping
  
// Start the transceiver interface.
+
Error
// Sleep long enough for the USRP to bootload.
 
sleep(5);
 
  
Ubah menjadi
+
ALERT 1075093504 UHDDevice.cpp:357:set_rates: Actual sample rate differs from desired rate
  
sleep(8);
+
'''SOLUSI:'''
  
Lakukan ini sebelum mengcompile [[openbts]]
+
[[OpenBTS: E110 Mengubah Master Clock | Compile UHD agar master clock 52MHz]]
  
 
==Referensi==
 
==Referensi==
Line 203: Line 269:
  
 
* [[OpenBTS]]
 
* [[OpenBTS]]
 +
* [[OpenBTS: Arsitektur secara umum]]
  
 
===Persiapan===
 
===Persiapan===
Line 210: 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 222: 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 228: 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 248: 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 255: 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 262: 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]] '''*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 293: Line 448:
 
* [[Power Amplifier 900MHz]]
 
* [[Power Amplifier 900MHz]]
 
* [[Duplexer]]
 
* [[Duplexer]]
 +
* [[OpenBTS: Menaikan Jangkauan OpenBTS]]
  
 
===Lain Lain===
 
===Lain Lain===
Line 323: 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 332: 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