PREH Touch Commander


Linux Driver Installation

Linux drivers for Elo touchscreens are available in the public domain, typically on Linux installation CDs or on various FTP sites such as www.xfree86.org. These Linux drivers are compatible with Elo AccuTouch E271-2210 and IntelliTouch E281-2310 controllers. Elo TouchSystems is not responsible for the functionality of these drivers.

Driver Installation

  1. Install Linux. Verify the XFree86 X-Windows manager is operating to your satisfaction.
  2. Verify the following Elo touchscreen driver file exists:

    /usr/X11R6/lib/modules/xf86Elo.so

    or for some installations, such as Redhat:

    /usr/X11/lib/modules/xf86Elo.so

  3. Edit the following XFree86 X-Windows configuration file:

    /etc/XF86Config

    or for some installations, such as Redhat:

    /etc/X11/XF86Config

    Make the following changes:

    1.  
    2. Verify the Files section contains the following path:

      *** Files Section ***
      Section "Files"
      .
      .
      ModulePath "/usr/X11R6/lib/modules"
      .
      EndSection

      Note: This path is generally the default path of the system, so the change may not be necessary. It is also possible to write the full path directly in the Load command in the Module section.

    3. Enable the Module section:

      *** Module Section ***
      Section "Module"
      Load "xf86Elo.so"
      EndSection

      Note: It is also possible to write the full path for xf86Elo.so.

    4. Enable the XInput section:

      *** Xinput Section ***
      Section "Xinput"
      SubSection "Elographics"
      Port "/dev/ttyS1"
      DeviceName "Elo"
      MinimumXPosition 300
      MaximumXPosition 3700
      MinimumYPosition 300
      MaximumYPosition 3700
      UntouchDelay 10
      ReportDelay 10
      EndSubSection
      EndSection

      Note: A standard XF86Config file may not contain this section Xinput. Hence you may need to create it! This section can be safely placed after the Pointer section.

  4. Save the modified XF86Config file.
  5. Start the X-Windows Manager (type startx).
  6. In an Xterminal use the command “xsetpointer Elo”. This will change the point device to the touchscreen. The touchscreen should now be functioning.

Touchscreen Calibration

  1. The default values in the /etc/XF86Config file need to be manually adjusted for the touchscreen to be calibrated:

    MinimumXPosition 300
    MaximumXPosition 3700
    MinimumYPosition 300
    MaximumYPosition 3700

  2. Boot up Linux and start the X-Server in the desired resolution. On CRTs, adjust the video image size and position as desired. The picture must lie within the touchscreen’s active area. Using a felt-tip pen or dry marker, mark the video extremes in the corners. The touchscreen must be calibrated to the position of the video image. This step may not be necessary if you are using a LCD.
  3. Boot up the PC into DOS mode (booting from a DOS floppy if necessary).
  4. Using the DOS calibration software located here, load the DOS touch driver temporarily with the command:

    ELODEV 2210,1,9600 — if the touchscreen is on COM1
    ELODEV 2210,2,9600 — if the touchscreen is on COM2

    Once you see “ELODEV installed”, move to the next step.

  5. Start the DOS calibration routine by typing:

    ELOCALLX

  6. Select the video resolution (VGA, SVGA, etc.) that the X-Server will be using with the cursor keys and then press the “Enter” key. The video mode will change.
  7. Verify that the video image size and position is identical with the markings.
  8. Press ‘c’ to calibrate in this video mode.
  9. From a position of normal use, touch the three targets as they appear.
  10. Press ‘S’ to exit the calibration program.
  11. Write down the values of XLow, XHi, YLow and YHi. For example,

    XLow=567, XHi=3629, YLo=740, YHi=3661

  12. Reboot the Linux operating system, edit the XF86Config file, and insert your values output by ELOCALLX, where:

    MinimumXPosition=XLow
    MaximumXPosition=XHi
    MinimumYPosition=YLow
    MaximumYPosition=YHi

  13. Restart the X-Server.

    Note: A Linux calibration routine has not yet been developed. Any contribution to XFree86 for such a calibration routine would be appreciated.

Troubleshooting

  1.  
  2. Look in the XInput Section in /etc/XF86Config or /etc/X11/XF86Config.

    Verify that the “Screen 0” line is commented out with ‘#’. There is a bug that causes this line to crash the X-Windows manager.

    SubSection "Elographics"
    .
    # Screen 0
    .
    EndSubSection

  3. Look in the XInput Section in /etc/XF86Config or /etc/X11/XF86Config.

    Try some other port devices instead of “/dev/ttyS1”. For example,

    “/dev/ttyS0” is for COM1,
    “/dev/ttyS1” is for COM2,
    “/dev/ttys2” is for COM3, etc.

    SubSection "Elographics"
    Port "/dev/ttyS0"
    .
    .
    EndSubSection

  4. Hardware Check

    To verify that the touchmonitor is connected correctly to the PC and that it is functioning correctly, type the following command in an Xterm window:

    od -h -w10 </dev/ttyS0 — This is for COM1
    od -h -w10 </dev/ttyS1 — This is for COM2

    Touch the screen and you should see a lot of numbers scrolling over the screen. The standard Elo 10-byte protocol, which is required by the driver, can be recognised by the distinctive appearance of “5455” as the first byte pair.

  5. Verify that the X-Server file and Elo driver are from the same installation CD or release of Linux.

For help or comments on these instructions, please contact cparker@elotouch.com.