GNURadio: Ubuntu 11.10 Install dari GIT GNURadio

From OnnoWiki
Jump to navigation Jump to search

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----'.

Instal Aplikasi Pendukung

Update

sudo apt-get update

Instal untuk Ubuntu 11.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 \
python-wxgtk2.8 python-wxtools wx2.8-i18n libwxgtk2.8-dev libgtk2.0-dev \
autoconf libtool libosip2-dev libortp-dev \
libusb-1.0-0-dev g++ sqlite3 libsqlite3-dev erlang \
git-core git-doc gitk stgit git-arch git-cvs git-svn git-email gitweb \
asterisk asterisk-mysql cmake

Instal SWIG

Install secara manual SWIG

Download dari http://sourceforge.net/projects/swig/files/swig/
cp swig-2.0.5.tar.gz /usr/local/src/
cd /usr/local/src/
tar zxvf swig-2.0.5.tar.gz 
cd /usr/local/src/swig-2.0.5/
./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

Instal boost

Instalasi secara manual boost

Download dari http://sourceforge.net/projects/boost/files/boost/1.49.0/boost_1_49_0.zip/download
cp boost_1_49_0.zip /usr/local/src
cd /usr/local/src
unzip boost_1_49_0.zip
chmod -Rf 777 /usr/local/src/boost_1_49_
mkdir /opt/boost_1_49_0
BOOST_PREFIX=/opt/boost_1_49_0
cd /usr/local/src/boost_1_49_0  
./bootstrap.sh
sudo ./b2 --prefix=$BOOST_PREFIX --with-thread --with-date_time \
--with-program_options --with-filesystem --with-system \
--layout=versioned threading=multi variant=release install

Siapkan GIT

Install GIT minimal

apt-get install git-core git

jika ingin lebih eksis dapat menginstalasi lebih lengkap

apt-get install git-core git-doc gitk stgit git-arch git-cvs git-svn git-email gitweb

Download GNURadio & UHD

Download menggunakan perintah

cd /usr/local/src
git clone git://gnuradio.org/gnuradio gnuradio.git 
git clone git://ettus.sourcerepo.com/ettus/uhd.git uhd.git

Compile UHD

cd /usr/local/src/uhd.git/host/
mkdir build
cd build
cmake ../
make
make test
sudo make install
sudo ldconfig
PKG_CONFIG_PATH=/usr/local/src/uhd.git/host/build/
export PKG_CONFIG_PATH

Setup UHD

Download & Install firmware

wget http://files.ettus.com/binaries/master_images/uhd-images_003.004.001-98-gae40e8f5.tar.gz
tar zxvf uhd-images_003.004.001-98-gae40e8f5.tar.gz 
cp -Rf uhd-images_003.004.001-98-gae40e8f5/* /usr/local/ 

Setup UHD agar mengetahui bahwa USRP1 menggunakan clock 52MHz

cd /usr/local/share/uhd/utils/
./usrp_burn_mb_eeprom --args="type=usrp1" --key=mcr --val=52000000

Hasilnya

linux; GNU C++ version 4.6.1; Boost_104601; UHD_003.004.001-101-gff2649ca

Creating USRP device from address: type=usrp1
-- Opening a USRP1 device...
-- Using FPGA clock rate of 64.000000MHz...

Fetching current settings from EEPROM...
    EEPROM ["mcr"] is ""

Setting EEPROM ["mcr"] to "52000000"...
Power-cycle the USRP device for the changes to take effect.


Cek menggunakan

cd /usr/local/share/uhd/utils
./uhd_usrp_probe | more

Hasilnya antara lain harus keluar

|    /
|   |       Mboard: USRP1
|   |   serial: 0R24X5U1
|   |   mcr: 52000255
|   |   
|   |   Time sources: none
|   |   Clock sources: internal
|   |   Sensors:

Compile GNURadio

*WARNING* : source git yang baru tidak ada bootstrap Sebaiknya compile menggunakan cmake di bawah.

Sambungan USRP ke PC. Instalasi & Compile menggunakan cmake

cd /usr/local/src/gnuradio.git
./bootstrap
./configure --enable-gr-uhd

atau

./configure --enable-all-components \
            --disable-gr-audio-osx \
            --disable-gr-audio-windows \
            --disable-gr-comedi \
            --disable-gr-qtgui \
            --disable-gr-shd
make
make check
sudo make install
sudo ldconfig


Compile GNURadio

./configure --disable-all-components --enable-usrp --enable-gruel

Compile GNURadio menggunakan cmake

Cara ini tidak bisa di satukan dengan cara di atas akan error

cd /usr/local/src/gnuradio.git
mkdir build
cd /usr/local/src/gnuradio.git/build

cmake -DBOOST_ROOT=$BOOST_PREFIX \
-DBoost_INCLUDE_DIR=$BOOST_PREFIX/include/boost-1_49/ \
-DBoost_LIBRARY_DIRS=$BOOST_PREFIX/lib /usr/local/src/gnuradio.git

make
make test
sudo make install
ldconfig


Error Bad Practice

Keluar error pada saat menjalankan cmake

CMake Error at CMakeLists.txt:22 (message):
  Prevented in-tree built.  This is bad practice.
-- Configuring incomplete, errors occurred!

SOLUSI:

  • Jangan di satukan cara compile ini engan cara tradisional di atas.

Instalasi UHD USRP

Instalasi UHD USRP Support

cd /usr/local/share/uhd/utils
sudo cp uhd-usrp.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules


Setup firmware USRP1 agar nilai clock 52MHz

cd /usr/local/share/uhd/utils/
./usrp_burn_mb_eeprom --args="type=usrp1" --key=mcr --val=52000000

Error

Setelah dilakukan

./usrp_burn_mb_eeprom --args="type=usrp1" --key=mcr --val=52000000

Keluar

UHD Warning:
    Could not locate USRP1 firmware.
    Please install the images package.
Error: LookupError: KeyError: No devices found for ----->
Device Address:
    type: usrp1

SOLUSI:

Lakukan GNURadio: UHD Image

Perbaiki PATH

Edit

gedit .bashrc

Masukan

export PATH=$PATH:/usr/local/bin/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages/

Referensi

Pranala Menarik

Persiapan

OpenBTS 2.6

OpenBTS 2.8

Ettus E110

Lain Lain

Catatan Legal dan Pendukung

Catatan Sejarah