Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Kernel & Hardware
  • Search

How to get a Handler to a Device .... elo touchscreen

Kernel not recognizing your hardware? Problems with power management or PCMCIA? What hardware is compatible with Gentoo? See here. (Only for kernels supported by Gentoo.)
Post Reply
Advanced search
19 posts • Page 1 of 1
Author
Message
dwernle
n00b
n00b
User avatar
Posts: 7
Joined: Mon Mar 07, 2005 9:14 pm

How to get a Handler to a Device .... elo touchscreen

  • Quote

Post by dwernle » Tue Mar 08, 2005 3:50 pm

if i do a

cat /proc/bus/input/devices

i get my inputdevices, the problem is that i have no idea how to use this one

Code: Select all

I: Bus=0003 Vendor=04e7 Product=0007 Version=0102
N: Name="Elo TouchSystems, Inc. Elo TouchSystems IntelliTouch 2500U"
P: Phys=usb-0000:00:1d.1-1/input0
H: Handlers=
..:
does anyone know how to get this touchscreen running
Top
sharmay
n00b
n00b
User avatar
Posts: 27
Joined: Thu Apr 01, 2004 9:44 pm

Any luck ?

  • Quote

Post by sharmay » Fri Mar 18, 2005 4:44 pm

Hi,

I have same touch screen but I am also not able to make it work. Did you had any luck ?

Thanks
Top
dwernle
n00b
n00b
User avatar
Posts: 7
Joined: Mon Mar 07, 2005 9:14 pm

sorry

  • Quote

Post by dwernle » Tue Mar 29, 2005 8:56 am

No, elo doesn't think they need working drivers for 2.6 and for 2.4 they are :( ..... so if you have more than enough money you can give them the box and they will try to compile a driver for you, but their prices are a horror -> i will never buy a elo for a customer of us as touchscreens from other vendors work without greater problems.
Top
Maedhros
Bodhisattva
Bodhisattva
User avatar
Posts: 5511
Joined: Wed Apr 14, 2004 8:10 pm
Location: Durham, UK

  • Quote

Post by Maedhros » Tue Mar 29, 2005 12:01 pm

Moved from Installing Gentoo.
No-one's more important than the earthworm.
Top
dol-sen
Retired Dev
Retired Dev
User avatar
Posts: 2805
Joined: Sun Jun 30, 2002 2:44 pm
Location: Richmond, BC, Canada

  • Quote

Post by dol-sen » Thu Oct 20, 2005 8:20 pm

I don't know if you've seen, but there are more touchscreen drivers in the kernel now. As of 2.6.12 there is some new elo drivers in the kernel. I have not tried them yet, but it is suppose to handle all the elo protocols.
Brian
Porthole, the Portage GUI frontend irc@freenode: #gentoo-guis, #porthole, Blog
layman, gentoolkit, CoreBuilder, esearch...
Top
garion911
Tux's lil' helper
Tux's lil' helper
Posts: 88
Joined: Tue Jun 04, 2002 1:30 pm

  • Quote

Post by garion911 » Fri Oct 21, 2005 7:04 am

I have no idea how old your touch screen is, but I had a fairly old ELO USB touchscreen (no clue on the model..).. I have since gotten rid of it (the LCD on it died a beautiful plasma effect death..)

What I recall from getting it to work was that I had to compile in the event interface and USB event support... Then there was a rather obscure X driver you had to compile that worked off the /dev/input/event or something like that...

I --may-- be able to dig up the code for that driver from some old HD's I have laying around if needbe.. But maybe this is enough clues to get ya going..

Please keep in mind that its been over two years since I last setup that LCD, so my memory may be fuzzy...
Top
garion911
Tux's lil' helper
Tux's lil' helper
Posts: 88
Joined: Tue Jun 04, 2002 1:30 pm

  • Quote

Post by garion911 » Fri Oct 21, 2005 7:21 am

Some more trips down memory lane tell me that yours is the same model as mine was..

Some more notes: You do not need a specific kernel driver.. I got mine working with the basic stuff in 2.6 (fairly sure I was using 2.6 at the time, but definitly pre-UDEV)..

THere's a elographics_drv.o file in your xorg setup.... You need to make a device in your xorg.conf (I think I was using XFree at the time, not sure) similar to this:

Code: Select all

  Section “Inputdevice”
    Identifier “touchscreen1”
    Driver “elographics”
    Option “Device” “/dev/ttyS0”
    Option “AlwaysCore”
    Option “screenno” “0”
    Option “MinimumXPosition” “600”
    Option “MaximumXPosition” “3600”
    Option “MinimumYPosition” “600”
    Option “MaximumYPosition” “3600”
    Option “UntouchDelay” “3”
    Option “ReportDelay” “1”
  EndSection
Only using the event stuff I said in my previous message..
Top
dol-sen
Retired Dev
Retired Dev
User avatar
Posts: 2805
Joined: Sun Jun 30, 2002 2:44 pm
Location: Richmond, BC, Canada

  • Quote

Post by dol-sen » Fri Oct 21, 2005 3:23 pm

No, it is not the same as yours. The 2 I got have the former standard serial interface. I have been able to get it sort-of working using the xorg/xfree86 driver. The only problem is the map size between the touchscreen and the display screen. I have to treat the touchscreen like it is a small touch mosepad and restrict touches to about 1/5th the screen size in the lower left corner.
That was after callibrating with the dos utilities. I have not tried the linux callibrating utility I found in one of the linux_public.zip files I found (not sure where I found that one).
Brian
Porthole, the Portage GUI frontend irc@freenode: #gentoo-guis, #porthole, Blog
layman, gentoolkit, CoreBuilder, esearch...
Top
evilben
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 128
Joined: Mon Jun 14, 2004 10:12 pm
Location: GA, USA

  • Quote

Post by evilben » Tue Jan 10, 2006 10:07 pm

Did you ever get the serial version to work?

Thanks
Ben
Top
dol-sen
Retired Dev
Retired Dev
User avatar
Posts: 2805
Joined: Sun Jun 30, 2002 2:44 pm
Location: Richmond, BC, Canada

  • Quote

Post by dol-sen » Wed Jan 11, 2006 2:25 am

I dever had time to work on it some more, Sorry :( I still have them, but things got very busy with our small business and my full time day job.

I got your private messages. Some thing to consider about the older touchscreens are that they are not very bright and have as a result more of a green color due to the touchscreen. I even took one of them apart to check and clean all surfaces, but that was not the problem. LCD monitors from the past few years have much brighter displays. I took the touchscreen and placed it in front of my 17 in. LCD monitor and it was much better than the old one. I'll work on it some more when I get some time. It may be a month or two though. BTW I got both for $50, including 1 monitor power supply, no power supplies for the touchscreens. I made an adapter cable to use the computer's power supply.
Brian
Porthole, the Portage GUI frontend irc@freenode: #gentoo-guis, #porthole, Blog
layman, gentoolkit, CoreBuilder, esearch...
Top
evilben
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 128
Joined: Mon Jun 14, 2004 10:12 pm
Location: GA, USA

  • Quote

Post by evilben » Wed Jan 11, 2006 2:49 am

This is a CRT I'm looking at: http://cgi.ebay.com/Elo-17-Touchscreen- ... dZViewItem

so the quality shouldn't be as much of an issue. I think I'm going to go ahead and try it out--do you remember reading this?:

http://www.ibiblio.org/pub/Linux/docs/H ... HOWTO.html

I read on the elo sight that they're supposed to be precalibrated...yeah right...but anyway, there's always eBay if it doesn't work out.

Thanks!
Ben
Top
tbart
Apprentice
Apprentice
Posts: 151
Joined: Sun Oct 31, 2004 4:14 pm

  • Quote

Post by tbart » Thu Aug 24, 2006 11:18 am

Hi there!

I've got some old elo serial touchschreen, too. it's an Accutouch P/N 856093-000 (discontinued, replacement: E77225-000), i can't see the controller itself and don't want to open the TFT atm; is there a way to read out information about the controller via the interface?)
EDIT: Seems to be an AccuTouch 2210 controller, as there do not seem to be other serial controllers for Accutouch panels. Could it be that there is a non-elo controller with an elo touchpanel?

when dumping with od -h -w10, the "typical" 5455 is NOT always at the beginning, seems like i do not have a 10byte protocol or some bytes get lost? i read somewhere that also other protocols exist with less bytes per packet

It sorta works in X with the elographics driver without anything special in the kernel. but

1) the pointer's movement is only somehow related to my finger's movement (very weird movements; it's not calibrated yet, but moving down not always moves the cursor somewhere down)

2) it stops to work after some minutes, no serial data gets received anymore (even raw dumping from /dev/ttyS1 does not give my anything)
i have to unplug the monitor (which includes the touchscreen+controller) to get data again...
seems like a faulty controller, what do you think?
or is it the wrong driver?

How shall the in-kernel driver work? should it provide an event interface? where can one find documentation? did anyone try elo's uniform serial driver? or UPDD?
http://www.touch-base.com/main.asp?item=20
(btw, this one seems one interesting bit of SW to unify these different drivers/architectures/etc)


regarding elo not having drivers for 2.6:
http://www.elotouch.com/support/dnld.asp#linux

they at least say it's for 2.6, too and provide instructions for compiling it for 2.6. It's even open source! (both the Unified Serial Driver and the public driver)


can anyone please point me into the right direction?

tia!
th
Top
tbart
Apprentice
Apprentice
Posts: 151
Joined: Sun Oct 31, 2004 4:14 pm

  • Quote

Post by tbart » Fri Aug 25, 2006 9:46 pm

ok solved!

works now. this should even answer the initial question...

take elos own, this works flawlessly.

http://www.elotouch.com/files/unrestric ... ial_v2.zip

just follow the instructions.

plz test this procedure so others know it works (or not!)

1) build driver your own; uncomment the KER define in main.c
2)

Code: Select all

cp makefile-2.6 Makefile
3) I had to modify the Makefile; include directory was missing; this is how it had to look on my machine

Code: Select all

obj-m := elok_s.o
elok_s-objs := main.o

KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
CFLAGS := $(CFLAGS) -I/usr/include

default:
        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
4)

Code: Select all

make
5)

Code: Select all

cp elok_s.ko /lib/modules/`uname -r`/kernel/drivers/input/touchscreen/
6)

Code: Select all

chmod u+x eloser && cp eloser /usr/bin
is /usr/bin a good place for the loser (sorry i always read e-loser, sounds somewhat hip ;->; should be elo-ser i guess)
7) put this rather ugly initscript into your /etc/init.d as elo and

Code: Select all

chmod u+x /etc/init.d/elo
it.

There are still missing the right eend things i don't really understand..

Code: Select all

#!/sbin/runscript
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

depend() {
        # I guess so... coldplug should provide boot-time attached USB-serial converters, hotplug those attached later
        # is this right?
        need localmount coldplug hotplug
}

start() {
        ebegin "Loading elo module and creating /dev nodes"
        # Avoid being interrupted by child or keyboard
        if [ ! -f /lib/modules/`uname -r`/kernel/drivers/input/touchscreen/elok_s.ko ]
        then
                eerror "Please compile and copy over the kernel module first"
                return 1
        fi
        if [ ! -f /usr/bin/eloser ]
        then
                eerror "Please chmod u+x and copy over eloser first"
                return 1
        fi
        trap "echo" SIGINT SIGSEGV SIGQUIT SIGTERM
        set +e
        # this the loadelo script; i put it right in here... this all seems rather ugly to me..
        # however always generating the dev files might be good idea for udev people who
        # do not save a dev tarball
        # what the heck does it do?
        module="elok_s"
        mode="664"
        elorspfifo="elo/rsp_fifo"
        elocmdfifo="elo/cmd_fifo"
        elodata="input/elo_ser"

        rm -f /dev/${elodata}
        rm -f /dev/${elocmdfifo}
        rm -f /dev/${elorspfifo}

        test -d /dev/elo || mkdir /dev/elo

        /sbin/modprobe $module

        mkfifo /dev/$elorspfifo
        mkfifo /dev/$elocmdfifo

        major=`grep $elodata /proc/devices | awk "{print \\$1}"`
        if [ $major ]
        then
                mknod /dev/$elodata c $major 0
                chmod $mode /dev/${elodata}
                chmod $mode /dev/${elocmdfifo}
                chmod $mode /dev/${eloconfig}
        fi

        # how do you put configuration somewhere into /etc and source it here?
        /usr/bin/eloser ttyUSB0
        eend $?
}

stop() {
        ebegin "Unloading elo module"
        # I can't think of anything else that's sensible here...
        # removing all the /dev entries seems rather senseless as the start function
        # has to do it anyway... right?
        /sbin/modprobe -r elok_s
        eend $?
}

restart() {
        svc_stop
        svc_start
}
8)

Code: Select all

rc-update add elo default
9) edit your /etc/X11/xorg.conf

Code: Select all

Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
        InputDevice    "elo1"
EndSection

Section "InputDevice"
        Identifier "elo1"
        Driver "elo"
        Option "Device" "/dev/input/elo_ser"
        Option "AlwaysCore"
EndSection

10) that should do the trick!

now i'd need some specialists...

1) why the heck does the elographics driver of (modular or not) xorg-x11 not work?
and how could we improve it so that we do not need a startup script and all this interesting /dev fifos a.s.o?
i guess eloser only somehow attaches the /dev/input thing to the pipes, could the open source driver included in xorg do the same thing? why can this driver work for me and elographics not? my hardware must be ok, and there is just this one serial controller. did ne1 ever have success with elographics?
2) please correct/improve my initscript
3) could ne1 do an ebuild?!



if you have got questions, ask. i should be able to answer them.

could dwernle possibly rename the topic to something more general, i.e. the grand elo support thread?
btw i think the usb people could possible reuse parts of my script if elo did the usb drivers somewhat similar... did not look at it.


i would be glad if we could get this running cleanly as touchscreen support seems really bad atm.
any info about how the driver shipped with the kernel sources should work? is this the same as the thing you compile?

we need more info, compiled at one place, so please help out if you can.

thank you all!

PS: we could do a wiki thing when this is ready and add useful applications once this runs (osd keyboard for login will be the next thing i need)

th
Top
oracleguy
n00b
n00b
Posts: 22
Joined: Wed Sep 13, 2006 9:53 pm

  • Quote

Post by oracleguy » Wed Sep 13, 2006 10:23 pm

I was able to get my serial based elo touchscreen to mostly work without too much trouble with the 2.6.16 kernel.

I compiled the elo touchscreen serial support into the kernel. Then when I installed Xorg 7.0 I added the elographics flag into the INPUT_DEVICES in the make.conf

Then when I configured X, I set it up similar to garion911 in the xorg.conf file. And the touchscreen worked right away. The problem I am having though is getting the thing calibrated. I had it working on an older Gentoo system but that one died. The calibration program that is included with the elo linux drivers seems to have been written for XFree86 and I think it was only after many tries and the grace of god I got it to give me the calibration information. I can get the calibration program to run but it doesn't respond when I press the target icons. The monitors in that I can touch it and it will move and click the mouse but the calibration is off.
Top
tbart
Apprentice
Apprentice
Posts: 151
Joined: Sun Oct 31, 2004 4:14 pm

  • Quote

Post by tbart » Fri Sep 15, 2006 9:04 am

this is interesting...

1) you do not need the in-kernel support if you use the X11 module (at least i think so... could you verify this?)
you need something called inputattach to get an event interface for the in-kernel driver or module. at least you do not get a device or even a dmesg message when loading the module...

2) i don't understand why the X11 module does not work for me when apparently the hardware is ok (b/c it works fine with elo's drivers ... btw: the calibration tool elova packaged with their driver needs to interface with their driver and their eloser program so you won't be lucky using it for calibrating the X11 driver... elo says you can get the calibration data you need to enter into your xorg.conf by booting a DOS disk and using some calibration tool; see http://www.elotouch.com/Support/linux.asp)
X11's driver somewhat works for some time but the movement of my finger and that of the cursor do not really correlate.. after 1 minute or so it stops working... this is weird.

elo's driver however isn't that good either because it causes segmentation faults, memory leaks, kernel oopses and powerdown issues (originating in the problems to unload the modules and stop the service..)
possibly my initscript is faulty, i don't know...

regarding the keeping of calibration data with elo's driver, I also found something:
http://www.elotouch.com/support/webtech ... lo_cal.asp

suggestions are welcome!

th
Top
ozzy
n00b
n00b
Posts: 5
Joined: Thu Sep 02, 2004 1:30 pm
Location: Serbia

hope this helps :) SOLVED

  • Quote

Post by ozzy » Tue Mar 20, 2007 2:57 pm

http://forums.gentoo.org/viewtopic-t-31 ... +conf.html

Hope this helps. Contact me on ozzy@etf.bg.ac.yu if U have any questions :)
Top
Trevoke
Advocate
Advocate
User avatar
Posts: 4099
Joined: Sat Sep 04, 2004 6:01 pm
Location: NY, NY
Contact:
Contact Trevoke
Website

  • Quote

Post by Trevoke » Wed Oct 24, 2007 3:37 pm

tbart, a correction on step 1:

a) uncomment #define KER in main.c
b) comment #include <ctype.h> in elocontrol.h
c) line 53 and 55 need to be changed from:
MODULE_PARM(debug, "i"); to
module_param(debug, int, 0);

Similar change for line 55.

That's all for now, will let you know how I get on with the rest.
Votre moment detente
What is the nature of conflict?
Top
ovoskeuiks
n00b
n00b
Posts: 3
Joined: Tue Oct 28, 2003 1:17 am

  • Quote

Post by ovoskeuiks » Wed Jan 30, 2008 9:45 pm

You can calibrate the MinX/Y MaxX/Y using the debug from the elographics driver

Set the debug level to 5 using:
Option "debuglevel" "5"

Restart X

Open a terminal and get a 'live' feed of the Xorg log using
tail -f /var/log/Xorg.0.log

Touch a corner of your touch screen and you should see something like following:
Entering ReadInput
Entering xf86EloGetPacket with checksum == 170 and buffer_p == 0
buffer_p is 0, Trying to read 10 bytes from link
Read 10 bytes
0x55-->0xFF 0x54-->0x53 0x84-->0xD7 0x35-->0xC 0x0-->0xC 0xB1-->0xBD 0xA-->0xC7 0xFF-->0xC6 0x0-->0xC6 Expecting checksum 198, got 198
EloConvert Before Fix: Screen(0) - x(-1222544213), y(0)
EloConvert: Screen(0) - v0(53), v1(2737)
EloConvert: Screen(0) - x(-311), y(683)
EloConvert During Fix: Screen(0) - x(-311), y(683)
EloConvert After Fix: Screen(0) - x(-311), y(683)
EloConvert: Screen(0) - v0(53), v1(2737)
EloConvert: Screen(0) - x(-311), y(683)
TouchScreen: x(53), y(2737), Release

The v0 and v1 are the raw X and Y values from the touchscreen, simply find the minimum and maximum X and Y values and put them into your xorg.conf file here is my InputDevice section for reference:

Section "InputDevice"
Identifier "touchscreen"
Driver "elographics"
Option "Device" "/dev/ttyUSB0"
Option "BaudRate" "9600"
Option "StopBits" "1"
Option "DataBits" "8"
Option "Parity" "None"
Option "Vmin" "10"
Option "Vtime" "1"
Option "FlowControl" "None"
Option "DeviceName" "touchscreen"
Option "MinX" "53"
Option "MinY" "52"
Option "MaxX" "4882"
Option "MaxY" "2737"
Option "ReportingMode" "Raw"
Option "SendCoreEvents" "On"
Option "debuglevel" "5"
Option "ReportDelay" "1"
Option "UntouchDelay" "3"

EndSection
Top
tbart
Apprentice
Apprentice
Posts: 151
Joined: Sun Oct 31, 2004 4:14 pm

  • Quote

Post by tbart » Sun Nov 13, 2016 1:25 am

Oh my, I really come back to this thread after these years!

To sum it up, the kernel way of doing stuff is this. No need for proprietary drivers or extra xorg input drivers. Yay!

1) enable the following kernel options

Code: Select all

CONFIG_SERIO_SERPORT (or you'll get line discipline errors with inputattach)
CONFIG_TOUCHSCREEN_ELO
(and other stuff you need for the serial port, probably some USB-serial adapter drivers)

2)

Code: Select all

emerge games-util/joystick x11-apps/xinput_calibrator
3)

Code: Select all

inputattach -elo /dev/ttyUSB0 --daemon
(adapt to your serial port and Elo protocol)

4)

Code: Select all

xinput_calibrator  &> /etc/X11/xorg.conf.d/99-calibration.conf && vi /etc/X11/xorg.conf.d/99-calibration.conf
5) Put inputattach into some udev rule if you have a USB adapter to trigger it or create a simple initscript

Done!
Top
Post Reply

19 posts • Page 1 of 1

Return to “Kernel & Hardware”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic