Difference between revisions of "GNURadio: Ubuntu Install"

From OnnoWiki
Jump to navigation Jump to search
 
(60 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Sumber: http://gnuradio.org/redmine/wiki/gnuradio/UbuntuInstall
 
Sumber: http://gnuradio.org/redmine/wiki/gnuradio/UbuntuInstall
  
    * Development Tools (need for compilation)
+
Development Tool yang dibutuhkan:
          o g++
+
* g++
          o subversion
+
* subversion
          o make
+
* make
          o autoconf, automake, libtool
+
* autoconf, automake, libtool
          o sdcc (from "universe"; 2.4 or newer)
+
* sdcc
          o guile (1.6 or newer)
+
* guile
          o ccache (not required, but recommended if you compile frequently)
+
* ccache
  
    * Libraries (need for runtime and for compilation)
+
Library yang dibutuhkan untuk runtime dan proses compile
          o python-dev
+
* python-dev
          o FFTW 3.X (fftw3, fftw3-dev)
+
* FFTW 3.X (fftw3, fftw3-dev)
          o cppunit (libcppunit and libcppunit-dev)
+
* cppunit (libcppunit and libcppunit-dev)
          o Boost 1.35 (or later)
+
* Boost 1.35 (or later)
          o libusb and libusb-dev
+
* libusb and libusb-dev
          o wxWidgets (wx-common) and wxPython (python-wxgtk2.8)
+
* wxWidgets (wx-common) and wxPython (python-wxgtk2.8)
          o python-numpy (via python-numpy-ext) (for SVN on or after 2007-May-28)
+
* python-numpy (via python-numpy-ext) (for SVN on or after 2007-May-28)
          o ALSA (alsa-base, libasound2 and libasound2-dev)
+
* ALSA (alsa-base, libasound2 and libasound2-dev)
          o Qt (libqt3-mt-dev for versions earlier than 8.04; version 4 works for 8.04 and later)
+
* Qt (libqt3-mt-dev for versions earlier than 8.04; version 4 works for 8.04 and later)
          o SDL (libsdl-dev)
+
* SDL (libsdl-dev)
          o GSL GNU Scientific Library (libgsl0-dev >= 1.10 required for SVN trunk, not in binary repositories for 7.10 and earlier)
+
* GSL GNU Scientific Library (libgsl0-dev >= 1.10 required for SVN trunk, not in binary repositories for 7.10 and earlier)
  
    * SWIG (1.3.31 or newer required)
+
==Instal Library==
          o Edgy or previous: requires installation from source
 
          o Feisty or newer: use the standard package install (swig)
 
 
 
    * QWT (optional) (5.0.0 or newer required)
 
          o Must be installed from source (as of 2008-01-15).
 
          o qt4 versions should be used for 8.04 and 8.10. DO! : sudo apt-get update and then upgrade for a proper qt4.
 
 
 
    * QWT Plot3d Lib
 
          o Must be installed for gr-qtgui to work. qt4 version preferred for Ubuntu 8.04 and 8.10
 
 
 
    * Polyphase Filter Bank examples
 
          o for the examples in gnuradio-examples/python/pfb to work you need to install python-scipy, python-matplotlib, and python-tk
 
 
 
    * Other useful packages
 
          o doxygen (for creating documentation from source code)
 
          co octave (from "universe")
 
  
 
Update
 
Update
Line 55: Line 39:
 
  libpcre3 libpcre3-dbg libpcre3-dev libpcrecpp0
 
  libpcre3 libpcre3-dbg libpcre3-dev libpcrecpp0
  
 +
==Instalasi WxWidget==
  
 
+
Jika ingin menginstall WxWidget yang lebih baru. Tapi ini tidak fatal, kita bisa skip jika tidak terlalu membutuhkan. Jika ingin melakukan juga dapat menjalankan langkah berikut.
apt-get -y install gkrellm wx-common libwxgtk2.8-dev alsa-base autoconf xorg-dev gawk bison \
 
openssh-server emacs cvs octave3.2
 
 
 
apt-get -y install g77 usbview
 
 
 
apt-get install swig libqwt-dev
 
 
 
apt-get install libboost-dev
 
 
 
Jika ingin menginstall WxWidget yang lebih baru kita bisa melakukan
 
  
 
Edit /etc/apt/sources.list
 
Edit /etc/apt/sources.list
  
    # wxWidgets/wxPython repository at apt.wxwidgets.org
+
# wxWidgets/wxPython repository at apt.wxwidgets.org
    deb http://apt.wxwidgets.org/ DIST-wx main
+
deb http://apt.wxwidgets.org/ DIST-wx main
    deb-src http://apt.wxwidgets.org/ DIST-wx main   
+
deb-src http://apt.wxwidgets.org/ DIST-wx main   
  
 
Contoh untuk gutsy
 
Contoh untuk gutsy
  
    # wxWidgets/wxPython repository at apt.wxwidgets.org
+
# wxWidgets/wxPython repository at apt.wxwidgets.org
    deb http://apt.wxwidgets.org/ gutsy-wx main
+
deb http://apt.wxwidgets.org/ gutsy-wx main
    deb-src http://apt.wxwidgets.org/ gutsy-wx main   
+
deb-src http://apt.wxwidgets.org/ gutsy-wx main   
  
 
Jalankan
 
Jalankan
  
    sudo apt-get update   
+
sudo apt-get update   
  
 
Install
 
Install
  
    sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n
+
sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n
    sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n libwxgtk2.8-dev libgtk2.0-dev
+
sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n libwxgtk2.8-dev libgtk2.0-dev
  
 +
==Instal SWIG==
  
Install SWIG
+
Install secara manual SWIG
  
 
  Download dari http://sourceforge.net/projects/swig/files/swig/
 
  Download dari http://sourceforge.net/projects/swig/files/swig/
  cp swig-2.0.1.tar.gz /usr/local/src/
+
  cp swig-2.0.4.tar.gz /usr/local/src/
 
  cd /usr/local/src/
 
  cd /usr/local/src/
  tar zxvf swig-2.0.1.tar.gz  
+
  tar zxvf swig-2.0.4.tar.gz  
  cd /usr/local/src/swig-2.0.1/
+
  cd /usr/local/src/swig-2.0.4/
 
  ./configure
 
  ./configure
 
  make
 
  make
 
  make install
 
  make install
  
 +
==Instal QWT==
  
Install QWT
+
Install secara manual QWT
  
 
  Download dari http://sourceforge.net/projects/qwt/files/
 
  Download dari http://sourceforge.net/projects/qwt/files/
  cp qwt-5.2.1.tar.bz2 /usr/local/src/
+
  cp qwt-6.0.1.tar.bz2 /usr/local/src/
 
  cd /usr/local/src/
 
  cd /usr/local/src/
  tar jxvf qwt-5.2.1.tar.bz2  
+
  tar jxvf qwt-6.0.1.tar.bz2  
  cd /usr/local/src/qwt-5.2.1/
+
  cd /usr/local/src/qwt-6.0.1/
 
  qmake
 
  qmake
 
  make
 
  make
 
  make install
 
  make install
  
 +
==Handling USRP==
 +
 +
[[Ubuntu]] menggunakan udev untuk menangani hotplug devices, dan secara default tidak memberikan akses non-root ke [[USRP]]. Script berikut akan memberikan akses bagi user untuk menghandel [[USRP]] via [[USB]] baik secara live atau hot-plug.
 +
 +
sudo addgroup usrp
 +
sudo usermod -G usrp -a <YOUR_USERNAME>
 +
echo 'ACTION=="add", BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", GROUP:="usrp", MODE:="0660"' > tmpfile
 +
sudo chown root.root tmpfile
 +
sudo mv tmpfile /etc/udev/rules.d/10-usrp.rules
  
 +
Pada titik ini, Ubuntu telah di konfigurasi untuk tahu apa yang harus di kerjakan jika medeteksi [[USRP]] di [[USB]] tapi "udev" perlu me-reload rules untuk memasukan rules yang baru kita buat. Langkah berikut dapat dilakukan sehingga kita tidak perlu me-reboot [[komputer]].
  
 +
sudo udevadm control --reload-rules
  
 +
atau
  
Installing GNU Radio¶
+
sudo /etc/init.d/udev stop
Download, bootstrap, configure, and compile GNU Radio package:
+
sudo /etc/init.d/udev start
  
# Install GNU Radio from git
+
atau
  
  cp qwt-6.0.0-rc5.tar.bz2 /usr/local/src/
+
  sudo killall -HUP udevd
  cd /usr/local/src/
+
 
  tar jxvf qwt-6.0.0-rc5.tar.bz2
+
atau paling aman
  cd /usr/local/src/qwt-6.0.0-rc5/
+
 
qmake
+
Reboot komputer
make
+
 
make install
+
Kita dapat mencek jika [[USRP]] telah di kenali dengan mengamati /dev/bus/usb setelah [[USRP]] di pasang menggunakan perintah
+
 
 +
  ls -lR /dev/bus/usb | grep usrp
 +
 
 +
Harusnya akan keluar seperti
 +
 
 +
  crw-rw---- 1 root usrp 189, 1 2010-12-09 17:38 002
 +
 
 +
Setiap [[USRP]] yang terpasang akan terdaftar pada group 'usrp' dan mode 'crw-rw----'.
 +
 
 +
==Install GNURadio==
 +
 
 +
Sebaiknya pada saat melakukan instalasi [[GNURadio]], kita pasang [[USRP]] ke [[USB]] port-nya.
 +
 
 +
Download aplikasi [[GNURadio]] dari
 +
 
 +
  http://gnuradio.org/redmine/wiki/gnuradio/Download
 +
 
 +
Install [[GNURadio]]
  
 
  cp gnuradio-3.3.0.tar.gz /usr/local/src/
 
  cp gnuradio-3.3.0.tar.gz /usr/local/src/
Line 136: Line 142:
 
  cd /usr/local/src/gnuradio-3.3.0/
 
  cd /usr/local/src/gnuradio-3.3.0/
 
  ./configure
 
  ./configure
 +
make clean
 +
make all
 
  make
 
  make
 
  make check
 
  make check
 
  make install
 
  make install
 +
sudo ldconfig
 +
 +
Jika saat menjalankan aplikasi [[gnuradio]] ada error seperti
 +
 +
ImportError: libgnuradio-core-3.3.0.so.0: cannot open shared object file: No such file or directory
 +
 +
Lakukan / ketik
 +
 +
sudo ldconfig
 +
 +
==Verifikasi USRP==
 +
 +
Selanjutnya kita perlu memverifikasi apakah GNURadio dapat bekerja dengan USRP. Untuk tahapan ini kita perlu menyambungkan USRP ke komputer.
 +
 +
Cek kecepatan sambungan USB ke USRP
 +
 +
cd /usr/local/src/gnuradio-3.3.0/gnuradio-examples/python/usrp
 +
./usrp_benchmark_usb.py
 +
 +
Akan keluar sbb:
 +
 +
Testing 2MB/sec... usb_throughput = 2M
 +
ntotal    = 1000000
 +
nright    = 999918
 +
runlength = 999918
 +
delta    = 82
 +
OK
 +
Testing 4MB/sec... usb_throughput = 4M
 +
ntotal    = 2000000
 +
nright    = 1999492
 +
runlength = 1999492
 +
delta    = 508
 +
OK
 +
Testing 8MB/sec... usb_throughput = 8M
 +
ntotal    = 4000000
 +
nright    = 3998860
 +
runlength = 3998860
 +
delta    = 1140
 +
OK
 +
Testing 16MB/sec... usb_throughput = 16M
 +
ntotal    = 8000000
 +
nright    = 7997680
 +
runlength = 7997680
 +
delta    = 2320
 +
OK
 +
Testing 32MB/sec... usb_throughput = 32M
 +
ntotal    = 16000000
 +
nright    = 15995986
 +
runlength = 15995986
 +
delta    = 4014
 +
OK
 +
Max USB/USRP throughput = 32MB/sec
 +
 +
===Error libgnuradio-core===
 +
 +
Jika ada error
 +
 +
ImportError: libgnuradio-core-3.3.0.so.0: cannot open shared object file: No such file or directory
 +
 +
lakukan
 +
 +
sudo ldconfig
 +
 +
===Cek C++ Interface ke USRP===
  
  
 +
C++ interface ke USRP, memberikan estimasi throughput maksimum antara PC ke USRP
  
git clone http://gnuradio.org/git/gnuradio.git
+
cd /usr/local/src/gnuradio-3.3.0/usrp/host/apps
 +
./test_usrp_standard_tx
 +
./test_usrp_standard_rx
  
cd gnuradio
+
hasil dari USRP_standard_tx test
export LD_LIBRARY_PATH=$BOOST_PREFIX/lib    # As per the instructions for installing Boost
 
  
./bootstrap
+
which:    0
./configure --with-boost=$BOOST_PREFIX  # As per the instructions for installing Boost
+
interp:  16
make
+
rf_freq:  -1
 +
amp:      10000.000000
 +
nsamples: 3.2e+07
 +
Subdevice name is Flex 900 Tx MIMO B
 +
Subdevice freq range: (7.5e+08, 1.05e+09)
 +
mux: 0x000098
 +
baseband rate: 8e+06
 +
target_freq:    900000000.000000
 +
ok:              true
 +
r.baseband_freq: 904000000.000000
 +
r.dxc_freq:      -4000000.000000
 +
r.residual_freq: 0.000000
 +
r.inverted:      0
 +
tx_underrun
 +
tx_underrun
 +
tx_underrun
 +
tx_underrun
 +
tx_underrun
 +
tx_underrun
 +
tx_underrun
 +
tx_underrun
 +
tx_underrun
 +
xfered 3.2e+07 bytes in 1.01 seconds. 3.154e+07 bytes/sec.  cpu time = 0.16
 +
9 underruns
  
Optionally: Run the GNU Radio software self-check; does not require a USRP.
+
hasil USRP standard RX test
  
make check
+
xfered 1.34e+08 bytes in 4.19 seconds.  3.2e+07 bytes/sec.  cpu time = 0.8681
 +
noverruns = 0
  
 +
Jika di butuhkan, kita dapat mengupgrade seluruh sistem. Tapi ini lumayan riskan.
  
If any test or tests do not work, GNU Radio might still function properly, but it might be wise to look in the email archives for a fix or to write the email list. If writing to the email list, please include the OS type, OS version, and CPU type (e.g. via "uname -a"), anything special about the computer hardware, software versions (gcc, g++, swig, sdcc, etc) and how installed (standard or non-standard package, source). Now install GNU Radio for general use (default is in to /usr/local ):
+
sudo apt-get -y upgrade
  
sudo make install
+
Kemudian reboot dan upgrade distro.
  
Ubuntu uses udev for handling hotplug devices, and does not by default provide non-root access to the USRP. The following script is taken from directions, and sets up groups to handle USRP via USB, either live or hot-plug
+
sudo apt-get -y dist-upgrade
  
sudo addgroup usrp
+
==Referensi==
sudo usermod -G usrp -a <YOUR_USERNAME>
+
 
echo 'ACTION=="add", BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", GROUP:="usrp", MODE:="0660"' > tmpfile
+
* http://gnuradio.org/redmine/wiki/gnuradio/Download
sudo chown root.root tmpfile
+
* http://gnuradio.org/redmine/wiki/gnuradio/UbuntuInstall
sudo mv tmpfile /etc/udev/rules.d/10-usrp.rules
 
  
* At this point, Ubuntu is configured to know what to do if/when it detects the USRP on the USB, except that "udev" needs to reload the rules to include the newly created one. The following might work, but if it doesn't then rebooting the computer will.
+
==Pranala Menarik==
  
sudo udevadm control --reload-rules
+
* [[OpenBTS]]
 +
* [[OpenBTS: Arsitektur secara umum]]
  
 +
===Persiapan===
  
or
+
* [[USRP: High Precision Clock]]
 +
* [[USRP: Menyambungkan ClockTamer ke USRP1]]
 +
* [[USRP: Kalibrasi ClockTamer]]
 +
* [[USRP: ClockTamer Control Protocol]]
 +
* [[USRP: ClockTamer Flashing]]
 +
* [[USRP: Instalasi Board]]
 +
* [[OpenBTS: GIT Source Code]]
 +
* [[USRP: Rangkaian Board USRP]]
 +
* [[OpenBTS: Tethr untuk Bencana Alam]]
 +
* [[USRP: Tip Pemesanan]]
  
sudo /etc/init.d/udev stop
+
===Script===
sudo /etc/init.d/udev start
 
  
 +
* [[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]]
  
or
+
===OpenBTS 2.6===
  
sudo killall -HUP udevd
+
* [[GNURadio]]
 +
* [[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: Mengubah board RFX1800 menjadi RFX900]]
 +
* [[GNURadio: Programming Untuk Pemula]]
 +
* [[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: Konfigurasi Asterisk untuk OpenBTS]] '''RECOMMENDED'''
 +
* [[OpenBTS: Menjalankan smqueue]]
 +
* [[OpenBTS: Mengoperasikan BTS]] '''RECOMMENDED'''
 +
* [[OpenBTS: Tampilan di Nokia saat pakai OpenBTS]]
 +
* [[OpenBTS: Operasi 1800 MHz]]
 +
* [[OpenBTS: Beberapa Tips]]
 +
* [[OpenBTS: USRP2]]
 +
* [[OpenBTS: Amplifier]]
 +
* [[OpenBTS: SMS]]
 +
* [[AirProbe]]
  
You can check if the USRP is being recognized, by examining /dev/bus/usb after plugging in a USRP. Using the command:
+
===OpenBTS 2.8===
  
ls -lR /dev/bus/usb | grep usrp
+
* [[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: 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===
  
should result in one or more lines (one for each USRP) reading something like:
+
* [[OpenBTS: Pola Multi OpenBTS]] '''RECOMMENDED'''
 +
* [[Multi OpenBTS: Catatan Konfigurasi]] '''RECOMMENDED'''
  
crw-rw---- 1 root usrp 189, 514 Mar 24 09:46 003
+
===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]]
  
Each device file will be listed with group 'usrp' and mode 'crw-rw----'.
+
===Ettus E110===
  
    * NOTE: If installing on Feisty or newer, the computer probably needs to be rebooted in order for the GNU Radio software to interface correctly with the USRP hardware. This does not seem to be necessary on Edgy.
+
* [[OpenBTS: E110 Cara Login]]
 +
* [[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 2.6]] ''NOT RECOMMENDED''
 +
* [[OpenBTS: E110 Instalasi OpenBTS 2.8 untuk MultiBTS]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: E110 Yate Softswitch]]
  
Once you've verified that the USRP is available to Ubuntu, now it is time to verify that GNU Radio works with the USRP (if installed; if not, skip this). While "usrp_benchmark_usb" might not return a full 32 MB/s of throughput, the script should at least run properly; if not, either GNU Radio didn't make correctly or the USRP isn't accessible. From the "gnuradio" directory, verify that all of the following work:
+
===Ettus N210===
* Python interface to the USRP; provides a rough estimate of the maximum throughput (quantized to a power of 2) between the host computer and the USRP.
 
  
cd gnuradio-examples/python/usrp
+
* [[OpenBTS: N210 Instalasi GPSDO Kit]]
./usrp_benchmark_usb.py
+
* [[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]]
  
* C++ interface to the USRP; provides a good estimate of the maximum throughput (non-quantized) between the host computer and the USRP.
+
===RangeNetworks===
  
cd usrp/host/apps
+
* [[OpenBTS: RangeNetwork Foto]]
./test_usrp_standard_tx
+
* [[OpenBTS: RangeNetwork Default Setting]]
./test_usrp_standard_rx
+
* [[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]]
 +
* [[VoIP: Trunk]]
  
Update the rest of the system, after which you might need or want to reboot:
+
===GPRS===
  
sudo apt-get -y upgrade
+
* [[OpenBTS: GPRS]]
 +
* [[OpenBTS: GPRS Konfigurasi]]
 +
* [[OpenBTS: GPRS untuk dibelakang Router dengan NAT]]
  
Update the Linux distro, after which a reboot is required:
+
===Briker OpenBTS===
  
sudo apt-get -y dist-upgrade
+
* [[OpenBTS: Briker]]
  
Broken libtool on Debian and Ubuntu¶
+
===FreeSWITCH OpenBTS===
  
Because Debian and Ubuntu apply a poorly implemented "enhancement" to the upstream version of libtool,
+
* [[OpenBTS: FreeSWITCH]]
they break the ability to test code and libraries prior to installing them. We think that testing before
 
installation is a good idea. To work around their damage, be sure to include
 
$PREFIX/lib (and $PREFIX/lib64 on 64-bit machines) in /etc/ld.so.conf.
 
  
If you don't include $PREFIX/lib in /etc/ld.so.conf, you will see errors during the linking phase
+
===Power Amplifier===
of the build. There are several places it shows up. The first one is often during the build of
 
mblocks. It's not an mblock problem. It's a Debian/Ubuntu problem.
 
  
Do this to work around this "feature":
+
* [[Driver 900MHz]]
1) Make a copy from the current ld.so.conf file and save it in a temp folder:
+
* [[Power Amplifier 900MHz]]
 +
* [[Duplexer]]
 +
* [[OpenBTS: Menaikan Jangkauan OpenBTS]]
  
cp /etc/ld.so.conf /tmp/ld.so.conf
+
===Lain Lain===
  
2) Add /usr/local/lib path to it :
+
* [[OpenBTS: Materi Magang di ICTWATCH]]
 +
* [[OpenBTS: Seminar Outline]]
 +
* [[OpenBTS: Workshop Outline]]
 +
* [[Membuat Base Station GSM Open Source]]
 +
* [[Teknologi Selular]]
 +
* [[GSM: Daftar Channel Frekuensi]]
 +
* [[Wireless Internet]]
 +
* [[OpenBSC]]
 +
* [[AirProbe]]
 +
* [[Base station subsystem]]
 +
* [[GSM]]
 +
* [[Asterisk]]
 +
* [[Mobile phone]]
  
echo /usr/local/lib >> /tmp/ld.so.conf
+
===Catatan Legal dan Pendukung===
  
3) If you installed Boost (version 1_37_0 for example) manually, then add its library path to the file:
+
* [[Siapa Bilang OpenBTS Ilegal?]]
 +
* [[OpenBTS: Catatan MNC dan MCC Indonesia]]
 +
* [[OpenBTS: Catatan MNC dan MCC COOL]]
 +
* [[OpenBTS : Alokasi Frekuensi Operator GSM Indonesia]]
 +
* [[GSM: Daftar Channel Frekuensi]]
  
echo /opt/boost_1_37_0/lib >> /tmp/ld.so.conf
+
===Catatan Sejarah===
  
4) Delete the original ld.so.conf file and put the modified file instead:
+
* [[2011/04/30 - Workshop OpenBTS Pertama di Indonesia dilakukan di Univ Gajah Putih Takengon Aceh Tengah]]
 +
* [[OpenBTS: Daftar Workshop atau Seminar yang pernah dilakukan]]
 +
* [[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]]
  
sudo mv /tmp/ld.so.conf /etc/ld.so.conf
+
===Dokumentasi Video===
  
5) Do ldconfig:
+
* 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
  
sudo ldconfig
+
===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
  
  
==Referensi==
 
  
* http://gnuradio.org/redmine/wiki/gnuradio/UbuntuInstall
+
[[Category: Wireless]]
 +
[[Category: Selular]]

Latest revision as of 07:00, 25 February 2014

Sumber: http://gnuradio.org/redmine/wiki/gnuradio/UbuntuInstall

Development Tool yang dibutuhkan:

  • g++
  • subversion
  • make
  • autoconf, automake, libtool
  • sdcc
  • guile
  • ccache

Library yang dibutuhkan untuk runtime dan proses compile

  • python-dev
  • FFTW 3.X (fftw3, fftw3-dev)
  • cppunit (libcppunit and libcppunit-dev)
  • Boost 1.35 (or later)
  • libusb and libusb-dev
  • wxWidgets (wx-common) and wxPython (python-wxgtk2.8)
  • python-numpy (via python-numpy-ext) (for SVN on or after 2007-May-28)
  • ALSA (alsa-base, libasound2 and libasound2-dev)
  • Qt (libqt3-mt-dev for versions earlier than 8.04; version 4 works for 8.04 and later)
  • SDL (libsdl-dev)
  • GSL GNU Scientific Library (libgsl0-dev >= 1.10 required for SVN trunk, not in binary repositories for 7.10 and earlier)

Instal Library

Update

sudo apt-get update

Instal untuk Maverick (10.10)

sudo apt-get -y install libfontconfig1-dev libxrender-dev libpulse-dev swig g++ automake libtool python-dev libfftw3-dev \
libcppunit-dev libboost-all-dev libusb-dev fort77 sdcc sdcc-libraries \
libsdl1.2-dev python-wxgtk2.8 subversion git-core guile-1.8-dev \
libqt4-dev python-numpy ccache python-opengl libgsl0-dev \
python-cheetah python-lxml doxygen qt4-dev-tools \
libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools \
libpcre3 libpcre3-dbg libpcre3-dev libpcrecpp0

Instalasi WxWidget

Jika ingin menginstall WxWidget yang lebih baru. Tapi ini tidak fatal, kita bisa skip jika tidak terlalu membutuhkan. Jika ingin melakukan juga dapat menjalankan langkah berikut.

Edit /etc/apt/sources.list

# wxWidgets/wxPython repository at apt.wxwidgets.org
deb http://apt.wxwidgets.org/ DIST-wx main
deb-src http://apt.wxwidgets.org/ DIST-wx main  

Contoh untuk gutsy

# wxWidgets/wxPython repository at apt.wxwidgets.org
deb http://apt.wxwidgets.org/ gutsy-wx main
deb-src http://apt.wxwidgets.org/ gutsy-wx main  

Jalankan

sudo apt-get update  

Install

sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n
sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n libwxgtk2.8-dev libgtk2.0-dev

Instal SWIG

Install secara manual SWIG

Download dari http://sourceforge.net/projects/swig/files/swig/
cp swig-2.0.4.tar.gz /usr/local/src/
cd /usr/local/src/
tar zxvf swig-2.0.4.tar.gz 
cd /usr/local/src/swig-2.0.4/
./configure
make
make install

Instal QWT

Install secara manual QWT

Download dari http://sourceforge.net/projects/qwt/files/
cp qwt-6.0.1.tar.bz2 /usr/local/src/
cd /usr/local/src/
tar jxvf qwt-6.0.1.tar.bz2 
cd /usr/local/src/qwt-6.0.1/
qmake
make
make install

Handling USRP

Ubuntu menggunakan udev untuk menangani hotplug devices, dan secara default tidak memberikan akses non-root ke USRP. Script berikut akan memberikan akses bagi user untuk menghandel USRP via USB baik secara live atau hot-plug.

sudo addgroup usrp
sudo usermod -G usrp -a <YOUR_USERNAME>
echo 'ACTION=="add", BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", GROUP:="usrp", MODE:="0660"' > tmpfile
sudo chown root.root tmpfile
sudo mv tmpfile /etc/udev/rules.d/10-usrp.rules

Pada titik ini, Ubuntu telah di konfigurasi untuk tahu apa yang harus di kerjakan jika medeteksi USRP di USB tapi "udev" perlu me-reload rules untuk memasukan rules yang baru kita buat. Langkah berikut dapat dilakukan sehingga kita tidak perlu me-reboot komputer.

sudo udevadm control --reload-rules

atau

sudo /etc/init.d/udev stop
sudo /etc/init.d/udev start

atau

sudo killall -HUP udevd

atau paling aman

Reboot komputer

Kita dapat mencek jika USRP telah di kenali dengan mengamati /dev/bus/usb setelah USRP di pasang menggunakan perintah

ls -lR /dev/bus/usb | grep usrp

Harusnya akan keluar seperti

crw-rw---- 1 root usrp 189, 1 2010-12-09 17:38 002

Setiap USRP yang terpasang akan terdaftar pada group 'usrp' dan mode 'crw-rw----'.

Install GNURadio

Sebaiknya pada saat melakukan instalasi GNURadio, kita pasang USRP ke USB port-nya.

Download aplikasi GNURadio dari

http://gnuradio.org/redmine/wiki/gnuradio/Download

Install GNURadio

cp gnuradio-3.3.0.tar.gz /usr/local/src/
cd /usr/local/src/
tar zxvf gnuradio-3.3.0.tar.gz 
cd /usr/local/src/gnuradio-3.3.0/
./configure
make clean
make all
make
make check
make install
sudo ldconfig

Jika saat menjalankan aplikasi gnuradio ada error seperti

ImportError: libgnuradio-core-3.3.0.so.0: cannot open shared object file: No such file or directory

Lakukan / ketik

sudo ldconfig

Verifikasi USRP

Selanjutnya kita perlu memverifikasi apakah GNURadio dapat bekerja dengan USRP. Untuk tahapan ini kita perlu menyambungkan USRP ke komputer.

Cek kecepatan sambungan USB ke USRP

cd /usr/local/src/gnuradio-3.3.0/gnuradio-examples/python/usrp
./usrp_benchmark_usb.py

Akan keluar sbb:

Testing 2MB/sec... usb_throughput = 2M
ntotal    = 1000000
nright    = 999918
runlength = 999918
delta     = 82
OK
Testing 4MB/sec... usb_throughput = 4M
ntotal    = 2000000
nright    = 1999492
runlength = 1999492
delta     = 508
OK
Testing 8MB/sec... usb_throughput = 8M
ntotal    = 4000000
nright    = 3998860
runlength = 3998860
delta     = 1140
OK
Testing 16MB/sec... usb_throughput = 16M
ntotal    = 8000000
nright    = 7997680
runlength = 7997680
delta     = 2320
OK
Testing 32MB/sec... usb_throughput = 32M
ntotal    = 16000000
nright    = 15995986
runlength = 15995986
delta     = 4014
OK
Max USB/USRP throughput = 32MB/sec

Error libgnuradio-core

Jika ada error

ImportError: libgnuradio-core-3.3.0.so.0: cannot open shared object file: No such file or directory

lakukan

sudo ldconfig

Cek C++ Interface ke USRP

C++ interface ke USRP, memberikan estimasi throughput maksimum antara PC ke USRP

cd /usr/local/src/gnuradio-3.3.0/usrp/host/apps
./test_usrp_standard_tx
./test_usrp_standard_rx

hasil dari USRP_standard_tx test

which:    0
interp:   16
rf_freq:  -1
amp:      10000.000000
nsamples: 3.2e+07
Subdevice name is Flex 900 Tx MIMO B
Subdevice freq range: (7.5e+08, 1.05e+09)
mux: 0x000098
baseband rate: 8e+06
target_freq:     900000000.000000
ok:              true
r.baseband_freq: 904000000.000000
r.dxc_freq:      -4000000.000000
r.residual_freq: 0.000000
r.inverted:      0
tx_underrun
tx_underrun
tx_underrun
tx_underrun
tx_underrun
tx_underrun
tx_underrun
tx_underrun
tx_underrun
xfered 3.2e+07 bytes in 1.01 seconds.  3.154e+07 bytes/sec.  cpu time = 0.16
9 underruns

hasil USRP standard RX test

xfered 1.34e+08 bytes in 4.19 seconds.  3.2e+07 bytes/sec.  cpu time = 0.8681
noverruns = 0

Jika di butuhkan, kita dapat mengupgrade seluruh sistem. Tapi ini lumayan riskan.

sudo apt-get -y upgrade

Kemudian reboot dan upgrade distro.

sudo apt-get -y dist-upgrade

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