gclib  437
Communications API for Galil controllers and PLCs
rhel6.md
1 # Red Hat 6 & CentOS 6 Linux {#rhel6}
2 
3 ##Tested versions
4 
5 This version of Linux has **x64/AMD64 Support Only**. Contact Galil if another version
6 is required for an application.
7 
8 See the \link installation \endlink page for supported versions.
9 
10 ##Installation
11 On Red Hat, gclib is distributed in an RPM repository. The following steps can be performed to install gclib.
12 
13 ### Download Galil's repository information
14 
15 This step installs Galil's RPM repositories and only needs to be done once.
16 
17 Point a browser at http://www.galil.com/sw/pub/rhel/6/galilrpm-2-1.noarch.rpm and install the rpm.
18 
19 ### Install Package
20 Install gclib package, approve "Installed size" and "Importing GPG key", if prompted.
21 
22  # yum install gclib
23 
24 ### Uninstall Package
25 To uninstall gclib.
26 
27  # yum remove gclib
28 
29 
30 ##Serial Ports and USB
31 If access to the serial ports or USB (e.g. DMC-4103) is desired through gclib, the following will provide steps to join the correct access group. If using USB, be sure the controller is powered and the usb is plugged in before beginning.
32 
33 ###Determine group with access
34 
35  $ ls -l /dev/ttyUSB* /dev/ttyS*
36  crw-rw----. 1 root dialout 4, 64 Mar 3 16:39 /dev/ttyS0
37  crw-rw----. 1 root dialout 4, 65 Mar 3 16:39 /dev/ttyS1
38  crw-rw----. 1 root dialout 4, 66 Mar 3 16:39 /dev/ttyS2
39  crw-rw----. 1 root dialout 4, 67 Mar 3 16:39 /dev/ttyS3
40  crw-rw----. 1 root dialout 188, 0 Mar 6 11:08 /dev/ttyUSB0
41 
42 In the above listing, **dialout** is the group that needs to be joined. **uucp** is another common group that may be listed.
43 
44 ###Add the desired *username* to the group.
45 
46  $ sudo gpasswd -a username dialout
47  [sudo] password for username:
48  Adding user username to group dialout
49 
50 Log out and back in for change to take effect.
51 
52  $ groups
53  username wheel dialout
54 
55 gclib can now connect to serial and usb devices from user *username*.
56 
57 ##PCI Controllers
58 If using a Galil PCI controller, the PCI driver must be installed.
59 
60 ###Install prerequisites
61 
62  # yum update kernel
63 
64 ####Reboot
65 
66  # yum install kernel-devel-$(uname -r)
67  # yum install kernel-headers-$(uname -r)
68  # yum install gcc
69 
70 ###Extract source and build driver
71 
72  $ tar -xf /usr/share/doc/gclib/src/gclib_pci.tar.gz
73  $ make
74 
75 ###Copy module and add to kernel
76 
77  # cp galilpci.ko /lib/modules/$(uname -r)
78  # depmod
79  # modprobe galilpci
80 
81 ###Add galil group for access to PCI
82 
83  # groupadd -f -K GID_MIN=100 -K GID_MAX=499 galil
84  # cp 90-galilpci.rules /etc/udev/rules.d/
85  # udevadm control --reload-rules
86  # udevadm trigger
87  # usermod -a -G galil username #exchange "username" with actual user's name
88 
89 Logout and back in. The PCI hardware is now available for access.
90 
91  $ ls -l /dev/galil*
92  crw-rw---- 1 root galil 10, 56 Jun 9 11:07 /dev/galilpci0
93  $ echo -e "\x12\x16\r" > /dev/galilpci0
94  $ cat /dev/galilpci0
95  DMC1846 Rev 1.1a
96  :
97 
98 ##Documentation
99 The documentation is left as a tarball to minimize disk usage. The latest release version of the user manual is available at the following link.
100 * http://www.galil.com/sw/pub/all/doc/gclib/html/
101 
102 ###Offline html
103 The following allows viewing of the html docs from the installation.
104 
105  $ tar -xzf /usr/share/doc/gclib/gclib_doc.tar.gz html
106  $ firefox html/index.html