From: Axel Kohlmeyer (
Date: Tue Oct 30 2012 - 08:10:18 CDT

On Tue, Oct 30, 2012 at 11:57 AM, George Patargias <> wrote:
> Many thanks for your reply; it really clarified a lot.
> Just a couple of more things, if you don't mind, that occurred to me as I
> went through the set-up requirements listed in your page.
> One requirement is the libnifalcon library. Does the installation of
> libnifalcon come before or a after VRPN installation? How the two
> installations relate?

when you compile VRPN you need access to the include
files and library from libnifalcon, or else you cannot compile
support for the falcon into VRPN. however, you may not need
to "install" libnifalcon or its utilities to *use* a falcon enabled
VRPN server. the library is a static library and thus copied
into the VRPN server binary. nevertheless, the test programs
that are bundled with libnifalcon are useful for debugging.

> In .vmdsensors file, am I right to understand that in
> "vrpntracker://localhost/Tracker0"
> "localhost" is the IP address (or hostname?) of the machine that Falcon is
> connected?

yes. it is the machine where the VRPN server is running.

> Do you have any idea which type of USB-2.0 hub would be suitable for a
> MacOS laptop? In the instructions for calibrating the device and loading
> the firmware you say that the firmware (after second/third attempt) will
> not load if the USB is not suitable.

it has to be a *powered* hub, i.e. a hub that has its
own power supply. i don't really know what is the
technical reason for that, and i ran into the rare case
of seeing a powered hub that was not sufficient.
it won't exclude that it may work *without* a hub.
my tests were only only done on Linux. things may
be different on other operating systems.

> Is there any standard way to choose TCP port numbers for the VMD/IMD and
> VRPN/VMD connections?

for VMD/IMD you are free to choose any
port that you want. by convention, opening
ports below 1024 for server processes are
restricted to the superuser on unix-like
machines. often ports between 5000 and
10000 are chosen. port numbers are 16-bit
unsigned integer, so 65535 is the largest
possible port to choose. the command:

netstat -tan

(on a linux machines) will show you, which
ports are currently in use. and the file
/etc/services typically has a list of ports
commonly used by known applications.

VRPN uses a port (3883) usually listed
in /etc/services for the server to listen to.
unless you explicitly tell it to use a TCP
connection, the VRPN protocol will use
multiple concurrent UDP ports for lower
latency communication. if you need to
run through a firewall, you probably want
to use force TCP instead of UDP. so
you don't have to deal with the port
randomization. similarly, if you have to
forward the port through ssh tunneling
(which has been successfully done as
well in the past).

hope that answers your questions.
don't hesitate to ask again, if there are
more or something is not clear in what
i wrote. it has been a while since i was
last working with a falcon (in fact, i have
been physically separated by over 4,500
miles from it for the last four months).


> Thanks again.
> George

Dr. Axel Kohlmeyer
International Centre for Theoretical Physics, Trieste. Italy.