Difference between revisions of "GNURadio: Ubuntu Install"

From OnnoWiki
Jump to navigation Jump to search
 
(61 intermediate revisions by the same user not shown)
Line 1: Line 1:
    * Development Tools (need for compilation)
+
Sumber: http://gnuradio.org/redmine/wiki/gnuradio/UbuntuInstall
          o g++
 
          o subversion
 
          o make
 
          o autoconf, automake, libtool
 
          o sdcc (from "universe"; 2.4 or newer)
 
          o guile (1.6 or newer)
 
          o ccache (not required, but recommended if you compile frequently)
 
  
    * Libraries (need for runtime and for compilation)
+
Development Tool yang dibutuhkan:
          o python-dev
+
* g++
          o FFTW 3.X (fftw3, fftw3-dev)
+
* subversion
          o cppunit (libcppunit and libcppunit-dev)
+
* make
          o Boost 1.35 (or later)
+
* autoconf, automake, libtool
          o libusb and libusb-dev
+
* sdcc
          o wxWidgets (wx-common) and wxPython (python-wxgtk2.8)
+
* guile
          o python-numpy (via python-numpy-ext) (for SVN on or after 2007-May-28)
+
* ccache
          o 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)
 
          o 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)
 
  
    * SWIG (1.3.31 or newer required)
+
Library yang dibutuhkan untuk runtime dan proses compile
          o Edgy or previous: requires installation from source
+
* python-dev
          o Feisty or newer: use the standard package install (swig)
+
* 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)
  
    * QWT (optional) (5.0.0 or newer required)
+
==Instal Library==
          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")
 
 
 
Install Scripts¶
 
 
 
The following are scripts to take most users through a GNU Radio install on a typical Ubuntu install, with the hope that it provides enough guidance such that you can get GNU Radio up and running on your Ubuntu box.
 
* This section is for Edgy or previous only (no changes are needed on Feisty or newer, except possibly to disable the CDROM entry):
 
Manually uncomment all repositories to include "universe" and "multiverse" either via direct editing
 
 
 
  sudo <EDITOR> /etc/apt/sources.list
 
 
 
 
 
or via the provided GUI: System -> Administration -> Software Sources. Then enter the admin password for access. On the "Ubuntu" tab, make sure all of "main restricted universe multiverse" are checked and the rest unchecked (or deal with those are you deem correct for your setup). Click "Close", then "Reload" to update the package list. The uncommented lines of the file "/etc/apt/sources.list" should read something like (DIST is a string with your particular distribution: edgy, feisty, gusty, etc):
 
 
 
deb http://us.archive.ubuntu.com/ubuntu/ DIST main restricted universe multiverse
 
deb http://us.archive.ubuntu.com/ubuntu/ DIST-updates main restricted universe multiverse
 
deb http://security.ubuntu.com/ubuntu/ DIST-security main restricted universe multiverse
 
  
 
Update
 
Update
Line 60: Line 31:
 
Instal untuk Maverick (10.10)
 
Instal untuk Maverick (10.10)
  
  apt-get -y install libfontconfig1-dev libxrender-dev libpulse-dev swig g++ automake libtool python-dev libfftw3-dev \
+
  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 \
 
  libcppunit-dev libboost-all-dev libusb-dev fort77 sdcc sdcc-libraries \
 
  libsdl1.2-dev python-wxgtk2.8 subversion git-core guile-1.8-dev \
 
  libsdl1.2-dev python-wxgtk2.8 subversion git-core guile-1.8-dev \
 
  libqt4-dev python-numpy ccache python-opengl libgsl0-dev \
 
  libqt4-dev python-numpy ccache python-opengl libgsl0-dev \
 
  python-cheetah python-lxml doxygen qt4-dev-tools \
 
  python-cheetah python-lxml doxygen qt4-dev-tools \
  libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools libqwt4c2
+
  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 
  
apt-get -y install gkrellm wx-common libwxgtk2.8-dev alsa-base autoconf xorg-dev gawk bison \
+
Jalankan
openssh-server emacs cvs octave3.2
 
  
  apt-get -y install g77 usbview
+
  sudo apt-get update 
  
apt-get install swig libqwt-dev
+
Install
  
  apt-get install libboost-dev
+
  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
  
Installing GNU Radio¶
+
==Instal QWT==
Download, bootstrap, configure, and compile GNU Radio package:
 
  
# Install GNU Radio from git
+
Install secara manual QWT
  
  cp qwt-6.0.0-rc5.tar.bz2 /usr/local/src/
+
Download dari http://sourceforge.net/projects/qwt/files/
 +
  cp qwt-6.0.1.tar.bz2 /usr/local/src/
 
  cd /usr/local/src/
 
  cd /usr/local/src/
  tar jxvf qwt-6.0.0-rc5.tar.bz2
+
  tar jxvf qwt-6.0.1.tar.bz2  
  cd /usr/local/src/qwt-6.0.0-rc5/
+
  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
 +
 
 +
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/
 
  cp gnuradio-3.3.0.tar.gz /usr/local/src/
Line 101: 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
 +
 +
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
  
git clone http://gnuradio.org/git/gnuradio.git
+
hasil USRP standard RX test
  
cd gnuradio
+
xfered 1.34e+08 bytes in 4.19 seconds.  3.2e+07 bytes/sec.  cpu time = 0.8681
export LD_LIBRARY_PATH=$BOOST_PREFIX/lib    # As per the instructions for installing Boost
+
noverruns = 0
  
./bootstrap
+
Jika di butuhkan, kita dapat mengupgrade seluruh sistem. Tapi ini lumayan riskan.
./configure --with-boost=$BOOST_PREFIX  # As per the instructions for installing Boost
 
make
 
  
Optionally: Run the GNU Radio software self-check; does not require a USRP.
+
sudo apt-get -y upgrade
  
make check
+
Kemudian reboot dan upgrade distro.
  
 +
sudo apt-get -y dist-upgrade
  
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 ):
+
==Referensi==
  
sudo make install
+
* http://gnuradio.org/redmine/wiki/gnuradio/Download
 +
* http://gnuradio.org/redmine/wiki/gnuradio/UbuntuInstall
  
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
+
==Pranala Menarik==
  
sudo addgroup usrp
+
* [[OpenBTS]]
sudo usermod -G usrp -a <YOUR_USERNAME>
+
* [[OpenBTS: Arsitektur secara umum]]
echo 'ACTION=="add", BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", GROUP:="usrp", MODE:="0660"' > tmpfile
+
 
sudo chown root.root tmpfile
+
===Persiapan===
sudo mv tmpfile /etc/udev/rules.d/10-usrp.rules
+
 
 +
* [[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]]
  
* 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.
+
===Script===
  
sudo udevadm control --reload-rules
+
* [[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===
  
or
+
* [[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]]
  
sudo /etc/init.d/udev stop
+
===OpenBTS 2.8===
sudo /etc/init.d/udev start
 
  
 +
* [[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]]
  
or
+
===Multi OpenBTS 2.8===
  
sudo killall -HUP udevd
+
* [[OpenBTS: Pola Multi OpenBTS]] '''RECOMMENDED'''
 +
* [[Multi OpenBTS: Catatan Konfigurasi]] '''RECOMMENDED'''
  
You can check if the USRP is being recognized, by examining /dev/bus/usb after plugging in a USRP. Using the command:
+
===OpenBTS 3.1.x===
  
ls -lR /dev/bus/usb | grep usrp
+
* [[OpenBTS: Install UHD untuk USRP1]]
 +
* [[OpenBTS: UHD Identifikasi Device]]
 +
* [[OpenBTS: OpenBTS 3.1.3 Compile]] '''Tidak bisa untuk USRP1'''
 +
* [[OpenBTS: Yate Compile]]
  
 +
===Ettus E110===
  
should result in one or more lines (one for each USRP) reading something like:
+
* [[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]]
  
crw-rw---- 1 root usrp 189, 514 Mar 24 09:46 003
+
===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]]
  
Each device file will be listed with group 'usrp' and mode 'crw-rw----'.
+
===RangeNetworks===
  
    * 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: RangeNetwork Foto]]
 +
* [[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]]
 +
* [[VoIP: Trunk]]
  
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:
+
===GPRS===
* 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: GPRS]]
./usrp_benchmark_usb.py
+
* [[OpenBTS: GPRS Konfigurasi]]
 +
* [[OpenBTS: GPRS untuk dibelakang Router dengan NAT]]
  
* C++ interface to the USRP; provides a good estimate of the maximum throughput (non-quantized) between the host computer and the USRP.
+
===Briker OpenBTS===
  
cd usrp/host/apps
+
* [[OpenBTS: Briker]]
./test_usrp_standard_tx
 
./test_usrp_standard_rx
 
  
Update the rest of the system, after which you might need or want to reboot:
+
===FreeSWITCH OpenBTS===
  
sudo apt-get -y upgrade
+
* [[OpenBTS: FreeSWITCH]]
  
Update the Linux distro, after which a reboot is required:
+
===Power Amplifier===
  
sudo apt-get -y dist-upgrade
+
* [[Driver 900MHz]]
 +
* [[Power Amplifier 900MHz]]
 +
* [[Duplexer]]
 +
* [[OpenBTS: Menaikan Jangkauan OpenBTS]]
  
Broken libtool on Debian and Ubuntu¶
+
===Lain Lain===
  
Because Debian and Ubuntu apply a poorly implemented "enhancement" to the upstream version of libtool,
+
* [[OpenBTS: Materi Magang di ICTWATCH]]
they break the ability to test code and libraries prior to installing them. We think that testing before
+
* [[OpenBTS: Seminar Outline]]
installation is a good idea. To work around their damage, be sure to include
+
* [[OpenBTS: Workshop Outline]]
$PREFIX/lib (and $PREFIX/lib64 on 64-bit machines) in /etc/ld.so.conf.
+
* [[Membuat Base Station GSM Open Source]]
 +
* [[Teknologi Selular]]
 +
* [[GSM: Daftar Channel Frekuensi]]
 +
* [[Wireless Internet]]
 +
* [[OpenBSC]]
 +
* [[AirProbe]]
 +
* [[Base station subsystem]]
 +
* [[GSM]]
 +
* [[Asterisk]]
 +
* [[Mobile phone]]
  
If you don't include $PREFIX/lib in /etc/ld.so.conf, you will see errors during the linking phase
+
===Catatan Legal dan Pendukung===
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":
+
* [[Siapa Bilang OpenBTS Ilegal?]]
1) Make a copy from the current ld.so.conf file and save it in a temp folder:
+
* [[OpenBTS: Catatan MNC dan MCC Indonesia]]
 +
* [[OpenBTS: Catatan MNC dan MCC COOL]]
 +
* [[OpenBTS : Alokasi Frekuensi Operator GSM Indonesia]]
 +
* [[GSM: Daftar Channel Frekuensi]]
  
cp /etc/ld.so.conf /tmp/ld.so.conf
+
===Catatan Sejarah===
  
2) Add /usr/local/lib path to it :
+
* [[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]]
  
echo /usr/local/lib >> /tmp/ld.so.conf
+
===Dokumentasi Video===
  
3) If you installed Boost (version 1_37_0 for example) manually, then add its library path to the file:
+
* 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
  
echo /opt/boost_1_37_0/lib >> /tmp/ld.so.conf
+
===Perjuangan OpenBTS===
  
4) Delete the original ld.so.conf file and put the modified file instead:
+
* 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
  
sudo mv /tmp/ld.so.conf /etc/ld.so.conf
 
  
5) Do ldconfig:
 
  
sudo ldconfig
+
[[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