Installing Ubisense server software on Ubuntu Linux

Ubisense is a real-time location system based on ultra-wide band. Their software has 2 parts, the server which can run on Windows or Linux, and the configuration UI which can only run on Windows. The server is provided as RPMs for installation on Suse or RedHat, but it’s possible to install it on Ubuntu. These instructions are for version 2.0.4 of the Ubisense server software.

Download UbisensePlatform.zip from your password protected Ubisense download area. Unpack the archive.

Create a new user (and group) called platform to run the server. Make this a system account so it doesn’t appear as an option in the login window.
sudo useradd -r -m platform

Convert the RPM packages to .deb with alien.
sudo aptitude install alien
alien -d Platform/rpm/i586_linux_2.6/ubisense_core_server-2.0-4.i386.rpm
alien -d Platform/rpm/i586_linux_2.6/ubisense_local_control-2.0-4.i386.rpm

Install the .deb packages.
sudo dpkg -i ubisense-core-server_2.0-5_i386.deb
sudo dpkg --force-overwrite -i ubisense-local-control_2.0-5_i386.deb

You may not be able to directly install packages on some platforms such as 64 bit AMD, you will have to tweak the contents of the package.
sudo alien -g Platform/rpm/i586_linux_2.6/ubisense_core_server-2.0-4.i386.rpm
cd ubisense_core_server-2.0

Edit debian/control and replace i386 with your architecture, amd64 for instance.
Generate the .deb package and install.
sudo debian/rules binary
cd ..
dpkg -i ubisense-core-server_2.0-5_i386.deb

Do the same for ubisense-local-control_2.0-5_i386.deb.

Change ownership of /home/platform to the new platform user and group.
sudo chown -R platform:platform /home/platform

Compile and install the startproc and killproc utilities from Suse. Download the latest killproc-M.mm.tar.gz, extract, compile with make. Copy the binaries to /usr/local/bin after checking that it’s in your path.
sudo cp checkproc fsync killproc startproc usleep /usr/local/bin

Alternatively edit /etc/init.d/ubisense*. startproc can be replaced by a simple call to the whatever is being started and killproc can be replaced by a call to killall.

These startup scripts put some lock files in /var/lock/subsys/ but on Ubuntu this gets deleted at every restart. Edit /etc/init.d/ubisense_core_server to create the folder if it doesn’t exist. Put these lines at the beginning of the script.
if [ ! -d /var/lock/subsys ]
then
mkdir /var/lock/subsys
fi

Make sure the server gets run automatically at each startup.
sudo update-rc.d ubisense_core_server defaults
sudo update-rc.d ubisense_local_control defaults

Although these scripts work fine when run on their own the automatic startup doesn’t seem to work. I don’t know how to debug this. I’ve tried running the scripts last of all and also from /etc/rc.local but when the machine has booted the ubisense processes aren’t running. I have to run /etc/init.d/ubisense_local_control start and /etc/init.d/ubisense_core_server start manually. If anyone knows how to fix this please let me know.

Calculate the machine id and send it to Ubisense via their support page with a license request.
sudo /home/platform/bin/i586_linux_2.6/ubisense_machine_id

When you receive the new license, unzip the archive into /home/platform/bin/i586_linux_2.6/.
unzip -d /home/platform/bin/i586_linux_2.6/ LicenseSetup.zip

Check that the licenses are detected.
sudo /home/platform/bin/i586_linux_2.6/ubisense_show_licenses

Start the server.
sudo /etc/init.d/ubisense_core_server start
sudo /etc/init.d/ubisense_local_control start

You still need to install various packages on the server for it to actually do anything with the Ubisensors. This can only be done from a Windows computer connected to the same network as the server. They detect each other automatically via some kind of multicast.

On the Windows computer, download, extract and install the Ubisense Location Engine. Run the Service Installer from the Start menu. Point it to UbisenseLocationEngine/LocationEngine/packages. The selected packages will be installed on the server. Check that there is now a new folder on the server called /home/platform/default.

Now run the Location Engine Configuration on the Windows computer to setup and start using the location system. Various issues can be resolved by logging in to the self service support portal and reading the FAQ, or using the Research Network forum.

This entry was posted on Thursday, November 5th, 2009 at 05:16:17 Europe/London and is filed under Linux, Research. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a reply