Elo Touch Screen


Forum: Hardware Talk
Topic: Elo Touch Screen
started by: fehretic

Posted by fehretic on May 31 2006,16:48
I have installed DSL onto a panel computer with an Elo Touch (10.4" diag Accu-Touch model) Screen.  The pointer will move at the wrong speed and not be anywhere near my finger when I try use the touchscreen.  Where can I adjust the scaling parameters?

Thanks

Posted by fehretic on July 21 2006,16:35
I need some help with setting the driver for an EloGraphics USB touch
screen.  DSL always detects it as a PANJIT touch pad on boot and
connects it to the /dev/input/mice.  The manfacturer provides sources
to build an XFree86 driver so that is what I've tried to do, see below
for my notes.  I'm not sure what I should do now, any ideas on how to
make this infernal thing work?

I did lmake, make, make install on source files downloaded from
elographics.com which created:
/usr/X11R6/lib/modules/input/elousb_drv.o
I also noticed a driver called elographics_drv.o already installed
with DSL, but I believe it is for the serial version and not the usb
version of the touch screen.

I ran XF86config.dsl to generate a new /etc/X11/XF86Config file and
added the following lines to it:
Section "InputDevice"
  Identifier "touchscreen1"
  Driver     "elousb"
  Option     "Device"        "/dev/input/event3"
  Option     "MinX"          "4095"
  Option     "MaxX"          "0"
  Option     "MinY"          "4095"
  Option     "MaxY"          "0"
  Option     "ScreenNumber"  "1"
  Option     "SendCoreEvents"
EndSection

I've tried changing the device options to "/dev/input/event0",
"/dev/input/event1", "/dev/input/event2", "/dev/input/event3" and
"/dev/input/mice" without success.

XFree86.dsl is installed at boot.

The contents of /home/dsl/.xserverrc:
exec /usr/X11R6/bin/XFree86 -nolisten tcp

Thanks in advance,
TFehr

Posted by dan28 on Aug. 08 2006,09:53
Hi,
i know this is quite an old thread, so maybe this doesnt matter any more.
but here goes.

Elo's touch screens are designed by a company called zytronic found at zytronic.co.uk the drivers are also designed with a company called touchbase. i have had custom drivers built for me, so have not really faced the same prob. what you will find is other drivers will run on the elo protocol, so search around for them. otherwise if you are in the uk, give elo a call on you phone and ask to send drivers. im sure they have a debian build too. sound stupid, but sometimes it helps by going back to basics, if you can afford to clean install dsl, and take a fresh look at it, you may see what you are doing wrong.

I'll keep an eye on this message, so any questions, just leave them here. search the touch screen companies.

dan

Posted by dan28 on Aug. 08 2006,09:55
scaling parameters....
are your drivers installed corectly?

if so check your readme file, which you got in the drive.zip folder. how larger is your driver and what is the file name?

dan

Posted by zeF on April 11 2007,22:23
I'm using 12.1" serial touchscreen from elo.
I'm havin difficulties on getting the "touch" working.

Here is the Instruction I followed:
                                                                   
   
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.
  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

After this process, ./elova -s, calibrating tool works, but no response from touchscreen to calibrate.

Also after installing XFree86, do I need to modify the /home/dsl/.xserverrc to as stated in XFree86.dsl info page?  I created the xf86config file using the xf86config.dsl as an substitute for the xf86config-4 file.

Seems like the name of the drivers don't match in the installation manual.  Can YOU help me please!!!!.

Posted by Juanito on April 12 2007,04:33
I would check whether this is meant to work on 2.4.x (DSL) or 2.6.x (DSL-N) - looking at the original XF86Config-4 file, I believe  [Option "Device" "/dev/input/event3"] will only work on a 2.6.x kernel. This is certainly the case for my touchpad which is set up like this in DSL-N but not in DSL.

Also (it's a while since I played with this), I believe you need the evdev module loaded for event detection to work in 2.6.x

Yes, you do need to modify /home/dsl/.xserverrc to as stated in XFree86.dsl info file.

Posted by zeF on April 12 2007,14:44
Quote (Juanito @ April 12 2007,00:33)
I would check whether this is meant to work on 2.4.x (DSL) or 2.6.x (DSL-N) - looking at the original XF86Config-4 file, I believe  [Option "Device" "/dev/input/event3"] will only work on a 2.6.x kernel. This is certainly the case for my touchpad which is set up like this in DSL-N but not in DSL.

Also (it's a while since I played with this), I believe you need the evdev module loaded for event detection to work in 2.6.x

what is evdev module?

I edited the XF86Config-4 file as stated in the instruction,
"/dev/input/elo_ser"  do I have to change it to "/dev/input/events3" ?

also, I have the /etc/init.d/elorc as follow:

#
# Avoid being interrupted by child or keyboard
#
trap "echo" SIGINT SIGSEGV SIGQUIT SIGTERM
set +e

case "$1" in
   start)
/elo/loadelo
/elo/eloser ttyS0
;;
   stop)
;;
   *)
echo "Usage: $0 {start}"
exit 1
esac

This was edited as default, so I didn't change anything. To use it as COM1 port.

Here is all the command I've used:
> tar -xf loadelo.tar
> chmod 777 *
> cp  /elo/elo_drv.o /usr/X11R6/lib/modules/input
> added the following lines to XF86Config (tried XF86Config-4) as well:
Section "InputDevice"
     Identifier "elo"
     Driver "elo"
     Option "Device" "/dev/input/elo_ser"
     Option "AlwaysCore"
EndSection

added this line to ServerLayout section of the file:
InputDevice "elo" "SendCoreEvents"

> ls /dev/input  (to check the directory existence)
> ./install.sh
> cp /elo/elorc /etc/init.d
  (checked the elorc as above)
> cd /etc/rc5.d
> update-rc.d elorc start 47 2 .
> shutdown -r now

i get "FATAL_ elok_s module not found" at the reboot.
Help Plesase!

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.