=====================================================================                  

                 Elo Touchscreen Linux Driver - Serial
       
         Installation/Calibration/Uninstallation Instructions 

---------------------------------------------------------------------                      
                         Version 2.0 RC1
                         October 18, 2006
                      Elo TouchSystems, Inc.

=====================================================================                  

Elo Linux Serial Driver package contains native Linux drivers designed for Linux kernel 2.4.18 and later, video alignment program and control panel program for Elo TouchSystems touchmonitors. 


This readme file is organized as follows:

  1. Supported Touchmonitors and Elo Touchscreen Controllers
  2. System Requirements
  3. Installing the Elo Touchscreen Serial Driver 
  4. Calibrating the Touchscreen 
  5. Accessing the Control Panel   
  6. Uninstalling the Elo Touchscreen Serial Driver
  7. Troubleshooting
  8. Contacting Elo TouchSystems



==========================================================
1. Supported Touchmonitors and Elo Touchscreen Controllers
==========================================================

 - All Elo Entuitive brand touchmonitors with an internal serial         
   controller

 - Elo Serial Controllers (IntelliTouch(R) 2500S, 2310B, 2310, 2300,  
   AccuTouch(R) 2210, CarrollTouch(R) 4000S)



======================
2. System Requirements
======================

 - 32 bit platforms only

 - Kernels supported: 
    Kernel version 2.4.18 and later

 - XFree86 supported: 
    Xfree86 version 4.2.0
    Xfree86 version 4.3.0


 - Motif versions supported:
    Motif version 3.0
    Motif version 2.0


Note:
=====

The same binaries folder can be used for installation on other machines using the same kernel.



===============================================
3. Installing the Elo Touchscreen Serial Driver 
===============================================

Important:
==========
a.) Must have administrator access rights on the Linux machine to         
    install the Elo Touchscreen Serial Driver. 
 
b.) Ensure all earlier Elo drivers are uninstalled from the system.



Step I:
-------

Copy the elo driver files from the extracted folder to the default elo folder and change the permissions for all the elo driver files. Copy and place the X display Elo component file in the proper location.

  a.) Copy the driver files to /elo folder location.

       > mv <Extracted folder>/  /elo
       > cd /elo
       > tar -xf loadelo.tar


  b.) Use the chmod command to set full permissions for all the             
      users.(read/write/execute) 

       > chmod 777 *


  c.) Copy and place the X display Elo component file in the proper         
      location. Use "> X -version" command to check the X display           
      version.

       For Xorg version 7.0: (example: Fedora Core 5)
           
         > cp  /elo/elo_drv.o  /usr/lib/xorg/modules/input

       (or)

       For other XFree86 or Xorg versions: 

         > cp  /elo/elo_drv.o  /usr/X11R6/lib/modules/input



Step II:
--------

Modify the X windows configuration file (xorg.conf or XF86Config or XF86Config-4). This file is located in the /etc/X11 directory. Check the X windows log file ("/var/log/XFree86.0.log" or "/var/log/Xorg.0.log") to verify the X windows configuration file in use. 

  a.) Add the following lines to create a new Elo device                    
      configuration at the end of the file.
   
        Section "InputDevice"
           Identifier "elo"
           Driver "elo"
           Option "Device" "/dev/input/elo_ser"
           Option "AlwaysCore"
        EndSection


  b.) Add the following line to the ServerLayout section to include         
      the elo input device.
         
        InputDevice "elo" "SendCoreEvents"



Step III:
---------

Confirm whether the "/dev/input" directory exists. If it does not exist, create a new directory.
           
  > mkdir /dev/input



Step IV:
--------
 
Install the elocntrl(elok_S) module by running the following command.

  > ./install.sh



Step V:
-------

Configure a script to invoke Elo service at system startup.  


Debian, Ubuntu systems:
- - - - - - - - - - - -
 
Copy the elorc script file present in the /elo directory to the /etc/init.d directory.
 
  > cp /elo/elorc /etc/init.d 

A symbolic link for the elorc script has to be created in the desired runlevel directory (example: rc2.d,rc3.d,....rc5.d). This will allow the elorc script to run at system startup. Ubuntu and Debian systems use runlevel 2 (rc2.d directory) as default.

This directory has startup files (symbolic links) of the form SDDxxxx where DD is the sequence number. Pick a sequence number XX which is at least one smaller than the sequence number of the display manager script (xdm, gdm, etc.) found in this directory. 

Use the maintainer script update-rc.d to create the elorc symbolic link with selected sequence number XX.

  > cd /etc/rc2.d 
  > update-rc.d elorc start XX 2 .


Important: 
==========

 - Only use the update-rc.d maintainer script to modify these        
   symbolic links. The elorc script will not be run at startup
   if these symbolic links are  manually created. 

 - Notice that the update-rc.d command syntax has a space and            
   period after the run-level parameter. 

 - The above example is for runlevel 2. Pick the appropriate folder      
   for the desired runlevel. The default runlevel can be found in        
   the /etc/inittab file.


Note:
===== 

The path of the runlevel directories might vary from distribution to distribution. The path for runlevel 5 in Redhat is "/etc/rc.d/rc5.d" while the path for Debian and Ubuntu is "/etc/rc2.d" for runlevel 2.

Locate the corresponding runlevel directory in the system and create the symbolic link for elorc script file in that directory using the update-rc.d maintainer script.
   


Redhat, Fedora, Mandrake and Slackware systems:
- - - - - - - - - - - - - - - - - - - - - - - -

On the above distributions, there are some restrictions for running the elorc script from /etc/rc.d/rc*.d directory. Hence, add the following two lines at the end of daemon configuration script in "/etc/rc.local" file. 

[ rc.local file might also be at location /etc/rc.d/rc.local. Use the   
  "> find /etc -name rc.local" command to locate the rc.local file.]

  /elo/loadelo  
  /elo/eloser <PORTNAME>  [See the note below for <PORTNAME>]



SUSE Systems:
- - - - - - -

Add the following two lines at the end of the configuration script in "/etc/init.d/boot.local" file.

  /elo/loadelo
  /elo/eloser <PORTNAME> [See the note below for <PORTNAME>]


Note:
=====
 
Replace <PORTNAME> in the command /elo/eloser <PORTNAME> with one of the following names based on where the touch input is connected.

  ttyS0 : for /dev/ttyS0
  ttyS1 : for /dev/ttyS1
  ttyS2 : for /dev/ttyS2 ,etc.


Example: The modified lines for ttyS1 should be, 
  ...
  /elo/loadelo
  /elo/eloser ttyS1
  ...   



Step VI:
--------
 
Debian, Ubuntu systems: (Other Linux systems skip to step VII)
- - - - - - - - - - - -

Edit the "/etc/init.d/elorc" daemon configuration script file that was created in Step V. Check and modify the <PORTNAME> in the command /elo/eloser ttyS0 present in the "start" section of the script. The default <PORTNAME> in the elorc file is ttyS0 corresponding to the serial device /dev/ttyS0. 

Replace <PORTNAME> in the command /elo/eloser ttyS0 with one of the following names based on where the touch input is connected.

  ttyS0 : for /dev/ttyS0
  ttyS1 : for /dev/ttyS1
  ttyS2 : for /dev/ttyS2 ,etc.


Example: The modified lines for ttyS1 should be, 
  ...
  /elo/loadelo
  /elo/eloser ttyS1
  ...   



Step VII:
---------

Reboot the system to complete the driver installation process.
 
  > shutdown -r now 



==============================
4. Calibrating the Touchscreen
==============================

Important:
==========

Users must have read and write access to "/dev/elo" folder to perform the touchscreen calibration.


Step I:
-------

Run the calibration program from a command window in X Windows from the /elo directory. 

  > cd /elo
  > ./elova -s 


Step II:
--------

Touch the targets from a position of normal use. The calibration data is written to the driver at the end of calibration. 



==============================
5. Accessing the Control Panel 
==============================

The control panel application allows the user to easily set the available driver configuration options. After the driver package is installed, change to the /elo directory and run control panel application. 


Important:
==========

Users must have read and write access to "/dev/elo" folder to run the control panel applications.


Step I:
-------

Run the control panel program from a command window in X Windows from the /elo directory. If Motif version 2.0 is installed use the  /elo/cpl.motif-2.0 application instead of /elo/cpl.

  > cd /elo
  > ./cpl 


Step II:
--------

Navigate through the various tabs by clicking on them. Here is an overview of information related to each tab.

  General    - Perform touchscreen calibration
  Mode       - Change the touchscreen mode
  Properties - Display data related to the Serial/USB touch monitor.
  About      - Information about the package. Click on the Readme                    
               button to open this Readme file. 
	

Step III:
---------

If Motif is not installed, use the command line version of the application to access the control panel. Run the command line application from a command window in X Windows from the /elo directory.

  > cd /elo
  > ./cplcmd



=================================================
6. Uninstalling the Elo Touchscreen Serial Driver
=================================================


Important:
==========
Must have administrator access rights on the Linux machine to uninstall the Elo Touchscreen Serial Driver. 


Step I:
-------

Delete the script or commands that invoke Elo service at startup.  


SUSE systems: 
- - - - - - -
Remove the following entries created in Step V of Installation section from the configuration script in"/etc/init.d/boot.local" file.

  /elo/loadelo
  /elo/eloser ttyS0


Redhat, Fedora, Mandrake and Slackware systems:
- - - - - - - - - - - - - - - - - - - - - - - -

Remove the following entries created in Step V of Installation section from the configuration script in "/etc/rc.local" file. (or "/etc/rc.d/rc.local" file)
        
  /elo/loadelo
  /elo/eloser ttyS0


Debian, Ubuntu systems:
- - - - - - - - - - - -

a.) Remove the symbolic link file created in Step V of Installation     
    section using the update-rc.d maintainer script.
 
      > update-rc.d -f elorc remove


b.) Remove the elo script file "elorc" placed in the "/etc/init.d"        
    directory.

      > rm /etc/init.d/elorc


Step II:
--------

Delete the following lines from X windows configuration file (xorg.conf or XF86Config or XF86Config-4). This file is located in the /etc/X11 directory. Check the X windows log file ("/var/log/XFree86.0.log" or "/var/log/Xorg.0.log") to verify the X windows configuration file in use. 

  a.) Delete Elo device configuration section
       
      Section "InputDevice"
        Identifier "elo"
        Driver "elo"
        Device "/dev/input/elo_ser"
        Option "AlwaysCore"
      EndSection

   b.) Delete the elo device from the ServerLayout section
      
       InputDevice "elo" "SendCoreEvents"


Step III:
---------

Delete all the elo driver files from the system.

  a.) Delete the elo driver folder.

        > cd /
        > rm -fR /elo


  b.) Delete X display elo component. Use "> X -version" command to  
      check the X display version.

        For Xorg version 7.0: (example: Fedora Core 5)
        
          > rm /usr/lib/xorg/modules/input/elo_drv.o

        (or)

        For other XFree86 or Xorg versions: 
  
          > rm /usr/X11R6/lib/modules/input/elo_drv.o


  c.) Delete all the elo related folders.

        > rm -fR /dev/elo
        > rm /dev/input/elo_ser


Step IV:
--------

Remove the installed "elok_s" driver module from the directory "/lib/modules/`uname -r`/kernel/drivers".

  For 2.4 Kernels:
    > cd /lib/modules/`uname -r`/kernel/drivers
    > rm -r elok_s.o 
    > depmod -a
 
  (or)  

  For 2.6 Kernels:
    > cd /lib/modules/`uname -r`/kernel/drivers
    > rm -r elok_s.ko
    > depmod -a


Step V:
-------

Reboot the system to complete the driver uninstallation process.
 
  > shutdown -r now 



==================
7. Troubleshooting
==================

A. Every time X Windows is reconfigured using XWindows configurator, 
   the X windows configuration file (xorg.conf or XF86Config) has to     
   be modified to include the elo device configurations mentioned in     
   Step II of the Installation section.

B. Hardware Check 
   --------------

   To verify that the touchmonitor is connected and functioning 
   correctly, type the following command in an command window 
   for serial port 1 (COM1).

     > od -h -w10 </dev/ttyS0 

   Similarly for serial port 2 (COM2) use,

     > od -h -w10 </dev/ttyS1 

   The screen should start displaying a lot of numbers when the
   screen is touched. The standard Elo protocol data packet is 
   identified by the distinctive appearance of "5455" as the 
   first byte pair of a 10 byte data packet. 

C. The display image should be centered on the screen and fill 
   as much of the visible area of the touchmonitor screen as 
   possible without image distortion. 

  
D. Incase of Mandrake Linux, use the xdm display manager instead of      
   "Mandrake Display Manager". This can be changed using the      
   "settings" from "display manager". 



==============================
8. Contacting Elo TouchSystems
==============================

Website: http://www.elotouch.com


E-mail:  eloinfo@elotouch.com


Mailing Address: 
----------------

  Elo TouchSystems, Inc.
  301 Constitution Dr.,
  Menlo Park, CA 94025
  USA

  Phone:   (800) 557-1458
           (650) 361-4700
  Fax:     (650) 361-4722

--------------------------------  

  Elo TouchSystems GmbH & Co. KG
  Haidgraben 6
  D-85521 Ottobrunn
  Germany
         
  Phone: +49 (0) 89/60822-0
  Fax:   +49 (0) 89/60822-150

--------------------------------  

  Elo TouchSystems, NV
  Diestsesteenweg 692
  B-3010 Kessel-Lo
  Belgium

  Phone: +32 (16) 35-2100
  Fax:   +32 (16) 35-2101


=====================================================================                  
               Copyright (c) 2006 Elo TouchSystems, Inc.

                          All rights reserved.

===================================================================== 