| Version 24 (modified by trnewman, 5 years ago) |
|---|
Ubuntu (Gutsy) Installation of the CIREN system
The CIREN system installation consists of installing 3 major components.
- The OSSIE Framework.
- GNURadio, specifically the USRP libraries.
- The CIREN system itself.
Ubuntu (Gutsy) Installation of OSSIE
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:
deb http://archive.ubuntu.com/ubuntu/ gusty universe deb http://archive.ubuntu.com/ubuntu/ gusty main restricted deb http://security.ubuntu.com/ubuntu/ gusty-security main restricted
Update the local dpkg cache and upgrade:
sudo aptitude update sudo aptitude upgrade
Install required packages (some are likely already installed by Ubuntu by default; some are likely redundant with others; but these groups cover all of the required packages)
sudo aptitude install gcc build_essential sudo aptitude -y install omniorb4 libomniorb4-dev omniidl4-python python-omniorb2 libgtk2.0-dev freeglut3-dev libxerces27-dev libxerces27 python-wxgtk2.8 python-wxversion python-wxtools python-numpy python-numpy-ext python-numpy-dev g++ automake libtool subversion python-dev fftw3-dev libcppunit-dev libboost-dev sdcc libusb-dev libasound2-dev libsdl1.2-dev subversion guile-1.8 libqt3-mt-dev swig
If you are using Ubuntu 8.04 (Hardy) install one more extra package:
sudo aptitude install libboost-filesystem-dev
However if you are using Ubuntu 7.10 (Gutsy), there is a small bug when installing the libboost-filesystem package that requires a quick modification again to "/etc/apt/sources.list". Comment out the following repository in order to install the last package.
deb http://security.ubuntu.com/ubuntu/ gusty-security main restricted
With this repository commented out, update the local cache and install the package.
sudo aptitude update sudo aptitude install libboost-filesystem-dev
It would be best to edit "/etc/apt/sources.list" again and uncomment the previous repository for future package installations. Make sure to run "sudo apt-get update" to update the cache once you've uncommented it.
By default, the installation directory of the OSSIE platform is /sdr. In order to install new source code and binaries into this directory without root permissions, you need to create and change the ownership of /sdr.
sudo mkdir /sdr sudo chown -R username /sdr sudo chgrp -R username /sdr
Configure omniORB by editing /etc/omniORB4.cfg as root. Around line 313 you should see:
#InitRef = NameService = corbaname :: my. host . name
Uncomment the line by deleting the pound or hash character ‘#’ and change it to:
InitRef = NameService = corbaname ::127.0.0.1
Pull down the latest OSSIE trunk from the repository.
svn co https://ossie.wireless.vt.edu/repos/ossie/ossiedev/branches/0.6.x ossie-0.6.x
To run the installation script, navigate to the ossie-0.6.x directory and run build.py:
cd ossie-0.6.x/ python build.py
Depending on the speed of your system this might take several minutes. You may be asked for a password during the first make install command. Because we are using sudo, this prompt is asking for your user password, not the root password. If successful, the prompt should say:
********************************************************* Complete installation of OSSIE 0.6.2 finished ! *********************************************************
Install the USRP node.
cd platform/nodes/default_GPP_USRP_node ./reconf ./configure make install
OmniORB, the naming service will need to be started manually. To do so, create a file called omniNames.sh containing the following
#!/bin/sh killall omniNames rm /sdr/logs/omninames* omniNames -start -logdir /sdr/logs &
Once this file is created, the file must be given executable permissions and copied to a suitable location:
sudo chmod 755 omniNames.sh sudo cp omniNames.sh /usr/local/bin
Create a directory for the logs:
mkdir /sdr/logs
Once the OSSIE libraries are installed, they need to be linked. As root edit the file /etc/ld.so.conf, adding the line
/usr/local/lib
Now run:
sudo /sbin/ldconfig
OSSIE should now be successfully installed on your system.
Ubuntu (Gutsy) GNU Radio Installation
Download, bootstrap, configure, and compile GNU Radio:
svn co http://gnuradio.org/svn/gnuradio/trunk gnuradio cd gnuradio ./bootstrap ./configure make
Now install GNU Radio for general use (default is in to /usr/local ):
sudo make install
Configure USB and change USRP permissions
To be able to run a waveform that uses the USRP you will either need to have root permissions or give access to your user to use the USRP. The process for each distribution is different but for Fedora 5 or 6: Define a group named usrp (as root):
# /usr/sbin/groupadd usrp
Add a user to the group
# /usr/sbin/usermod -G usrp -a [username]
Create a file named /etc/udev/rules.d/10-usrp.rules with the following contents, and be sure to include the : in MODE:="0660" otherwise the default usb_device rule will override MODE to "0640". This also applies to the GROUP setting.
# rule to grant read/write access on USRP to group named usrp.
# to use, install this file in /etc/udev/rules.d as 10-usrp.rules
ACTION=="add", BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002",
GROUP:="usrp", MODE:="0660"
Restart the udev daemon to enable the changes.
# killall -HUP udevd
You can check if this is working by examining /dev/bus/usb after plugging in a USRP:
$ ls -lR /dev/bus/usb
You should see a device file with group usrp and mode crw-rw----
Now restart your machine.
Ubuntu (Gutsy) CIREN Installation
Pull down the latest CIREN version from the subversion repository.
svn co https://ossie.wireless.vt.edu/repos/ossie/ossiedev/branches/jgaeddert/0.6.x/CIREN CIREN
To run the installation script, navigate to the CIREN directory and run build.py:
cd CIREN/ python build.py
Running the CIREN waveform
First starting the omniOrb naming service.
omniNames.sh
To run nodeBooter, open a terminal and execute the following:
cd /sdr nodeBooter -D -d nodes/default_GPP_USRP_node/DeviceManager.dcd.xml
It is important that nodeBooter be run from the /sdr directory because nodeBooter uses paths that are defined relatively to the directory in which it is run.
Once nodeBooter is running, open a second tab or terminal, navigate to the alf directory and start ALF:
cd /sdr/tools/alf python ALF.py
This should open the ALF main window without errors or warnings.
Double click on the CIREN waveform to open the application window.
Make magic.