Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
How to get a Handler to a Device .... elo touchscreen
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
dwernle
n00b
n00b


Joined: 07 Mar 2005
Posts: 7

PostPosted: Tue Mar 08, 2005 3:50 pm    Post subject: How to get a Handler to a Device .... elo touchscreen Reply with quote

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:

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
Back to top
View user's profile Send private message
sharmay
n00b
n00b


Joined: 01 Apr 2004
Posts: 27

PostPosted: Fri Mar 18, 2005 4:44 pm    Post subject: Any luck ? Reply with quote

Hi,

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

Thanks
Back to top
View user's profile Send private message
dwernle
n00b
n00b


Joined: 07 Mar 2005
Posts: 7

PostPosted: Tue Mar 29, 2005 8:56 am    Post subject: sorry Reply with quote

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.
Back to top
View user's profile Send private message
Maedhros
Bodhisattva
Bodhisattva


Joined: 14 Apr 2004
Posts: 5511
Location: Durham, UK

PostPosted: Tue Mar 29, 2005 12:01 pm    Post subject: Reply with quote

Moved from Installing Gentoo.
_________________
No-one's more important than the earthworm.
Back to top
View user's profile Send private message
dol-sen
Retired Dev
Retired Dev


Joined: 30 Jun 2002
Posts: 2805
Location: Richmond, BC, Canada

PostPosted: Thu Oct 20, 2005 8:20 pm    Post subject: Reply with quote

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...
Back to top
View user's profile Send private message
garion911
Tux's lil' helper
Tux's lil' helper


Joined: 04 Jun 2002
Posts: 88

PostPosted: Fri Oct 21, 2005 7:04 am    Post subject: Reply with quote

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...
Back to top
View user's profile Send private message
garion911
Tux's lil' helper
Tux's lil' helper


Joined: 04 Jun 2002
Posts: 88

PostPosted: Fri Oct 21, 2005 7:21 am    Post subject: Reply with quote

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:

  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..
Back to top
View user's profile Send private message
dol-sen
Retired Dev
Retired Dev


Joined: 30 Jun 2002
Posts: 2805
Location: Richmond, BC, Canada

PostPosted: Fri Oct 21, 2005 3:23 pm    Post subject: Reply with quote

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...
Back to top
View user's profile Send private message
evilben
Tux's lil' helper
Tux's lil' helper


Joined: 14 Jun 2004
Posts: 128
Location: GA, USA

PostPosted: Tue Jan 10, 2006 10:07 pm    Post subject: Reply with quote

Did you ever get the serial version to work?

Thanks
Ben
Back to top
View user's profile Send private message
dol-sen
Retired Dev
Retired Dev


Joined: 30 Jun 2002
Posts: 2805
Location: Richmond, BC, Canada

PostPosted: Wed Jan 11, 2006 2:25 am    Post subject: Reply with quote

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...
Back to top
View user's profile Send private message
evilben
Tux's lil' helper
Tux's lil' helper


Joined: 14 Jun 2004
Posts: 128
Location: GA, USA

PostPosted: Wed Jan 11, 2006 2:49 am    Post subject: Reply with quote

This is a CRT I'm looking at: http://cgi.ebay.com/Elo-17-Touchscreen-CRT-ET1725C-7SWD-0_W0QQitemZ8746936241QQcategoryZ3695QQssPageNameZWDVWQQrdZ1QQcmdZViewItem

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/HOWTO/other-formats/html_single/XFree86-Touch-Screen-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
Back to top
View user's profile Send private message
tbart
Apprentice
Apprentice


Joined: 31 Oct 2004
Posts: 151

PostPosted: Thu Aug 24, 2006 11:18 am    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
tbart
Apprentice
Apprentice


Joined: 31 Oct 2004
Posts: 151

PostPosted: Fri Aug 25, 2006 9:46 pm    Post subject: Reply with quote

ok solved!

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

take elos own, this works flawlessly.

http://www.elotouch.com/files/unrestricted_drivers/Unified_Serial_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:
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:

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:
make

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

6)
Code:
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:
chmod u+x /etc/init.d/elo

it.

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

Code:

#!/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:
rc-update add elo default

9) edit your /etc/X11/xorg.conf
Code:

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
Back to top
View user's profile Send private message
oracleguy
n00b
n00b


Joined: 13 Sep 2006
Posts: 22

PostPosted: Wed Sep 13, 2006 10:23 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
tbart
Apprentice
Apprentice


Joined: 31 Oct 2004
Posts: 151

PostPosted: Fri Sep 15, 2006 9:04 am    Post subject: Reply with quote

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/linux_elo_cal.asp

suggestions are welcome!

th
Back to top
View user's profile Send private message
ozzy
n00b
n00b


Joined: 02 Sep 2004
Posts: 5
Location: Serbia

PostPosted: Tue Mar 20, 2007 2:57 pm    Post subject: hope this helps :) SOLVED Reply with quote

https://forums.gentoo.org/viewtopic-t-319224-highlight-elo+xorg+conf.html

Hope this helps. Contact me on ozzy@etf.bg.ac.yu if U have any questions :)
Back to top
View user's profile Send private message
Trevoke
Advocate
Advocate


Joined: 04 Sep 2004
Posts: 4099
Location: NY, NY

PostPosted: Wed Oct 24, 2007 3:37 pm    Post subject: Reply with quote

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?
Back to top
View user's profile Send private message
ovoskeuiks
n00b
n00b


Joined: 28 Oct 2003
Posts: 3

PostPosted: Wed Jan 30, 2008 9:45 pm    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
tbart
Apprentice
Apprentice


Joined: 31 Oct 2004
Posts: 151

PostPosted: Sun Nov 13, 2016 1:25 am    Post subject: Reply with quote

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:
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:
emerge games-util/joystick x11-apps/xinput_calibrator


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

4)
Code:
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!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum