This section covers the installation of the GalilTools 64 bit software package. After installing the GalilTools software package, additional configuration is necessary. Any previous installations of GalilTools must be removed before installing the latest version.
This document will outline the complete setup of GalilTools for all controller communication interfaces.
12.04
$ wget http://galil.com/download/software/galiltools/linux/ubuntu_12.04/galiltools_1.6.4_amd64.deb
14.04
$ wget http://galil.com/download/software/galiltools/linux/ubuntu_14.04/galiltools_1.6.4_amd64.deb
$ sudo dpkg -i galiltools_1.6.4_amd64.deb
[sudo] password for username:
If GalilTools is to be used with a PCI based controller, the GalilTools PCI driver must be installed. If GalilTools will not be used with a PCI based controller, this section can be skipped. If the GalilSuite PCI driver has been previously installed, it must be removed before installing the GalilTools PCI driver. While there is limited support for the GalilSuite PCI driver in GalilTools, it is strongly recommended that the GalilTools PCI driver is used with GalilTools.
$ wget http://www.galil.com/download/software/galilsuite/linux/galil_public_key.asc
$ gpg --no-default-keyring --keyring trustedkeys.gpg --import galil_public_key.asc
$ sudo apt-get install build-essential autoconf automake autotools-dev dh-make debhelper devscripts fakeroot xutils lintian pbuilder
[sudo] password for username:
$ wget http://galil.com/download/software/galiltools/linux/galiltools-pci_1.6.4.dsc
$ wget http://www.galil.com/download/software/galiltools/linux/galiltools-pci_1.6.4.tar.gz
$ dpkg-source -x galiltools-pci_1.6.4.dsc
$ cd galiltools-pci-1.6.4
$ dpkg-buildpackage -uc -b
$ cd ..
$ sudo dpkg -i galiltools-pci_1.6.4_amd64.deb
To connect to Galil controllers over the USB, RS232 or PCI interfaces, a user must have the proper permissions to access the device. If a standard user intends to connect to a Galil controller over USB, RS232, or PCI, the following instructions must be followed. If a standard user wishes only to connect to Ethernet based controllers, this section can be skipped.
$ sudo usermod -a -G dialout username
[sudo] password for username:
$ sudo usermod -a -G galil username
[sudo] password for username:
If a firewall is in place, two exceptions must be included in the firewall settings. Furthermore, on Linux machines, standard users cannot typically listen on any port less than 1024. This makes a redirect necessary.
Three possible firewall configurations will be outlined below. Please review each one to see which is right for the target system.
If no firewall is in use, setting firewall exceptions for ports 1067, 50000, and 60001 through 60007 are not necessary. Ubuntu does not install with a set of firewall rules so only the port forward will be necessary here. This example will only setup the port forward so standard users can assign IP addresses to controllers.
The following changes allow standard users to assign IP addresses to controllers using GalilTools.
$ sudo gedit /etc/iptables.rules
[sudo] password for username:
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -s 0.0.0.0/32 -p udp -m udp --dport 67 -j DNAT --to-destination 0.0.0.0:1067
COMMIT
$ sudo gedit /etc/network/interfaces
[sudo] password for username:
auto lo
iface lo inet loopback
pre-up iptables-restore < /etc/iptables.rules
$ sudo gedit /etc/ufw/before.rules
[sudo] password for username:
# GalilTools firewall rules
*filter
-A ufw-before-input -p udp -m udp --dport 1067 -j ACCEPT
-A ufw-before-input -p udp -m udp --dport 50000 -j ACCEPT
-A ufw-before-input -p udp -m udp --dport 60001:60007 -j ACCEPT
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:1067
COMMIT
$ sudo ufc disable
[sudo] password for username:
$ sudo ufc enable
[sudo] password for username:
If standard users do not need to assign IP addresses to controllers, the redirection of port 67 to port 1067 is not necessary but the "-bootps 67 -bootpc 68" command line switch must be used to tell GalilTools to listen on port 67 instead of the default 1067. The following is an example of how to launch GalilTools from the terminal to allow a privileged user to assign an IP address to a controller without setting up the operating system to redirect port 67 to 1067.
$ sudo galiltools -bootps 67 -bootpc 68
[sudo] password for username: