Ubuntu (Gutsy) Installation of the CIREN system

The CIREN system installation consists of installing 3 major components.

  1. The OSSIE Framework.
  2. GNURadio, specifically the USRP libraries.
  3. 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 omniorb4-nameserver 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 ::

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
make install

OmniORB, the naming service will need to be started manually. To do so, create a file called omniNames.sh containing the following

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


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

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:

python build.py

Running the CIREN waveform

First starting the omniOrb naming service.


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.

注:Ubuntu (Gutsy) Installation of the CIREN system(原文出处,翻译整理仅供参考!)