LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 03-21-2008, 07:30 PM   #1
agisman
LQ Newbie
 
Registered: Mar 2008
Posts: 2

Rep: Reputation: 0
Question Touchscreen error in Xorg: Cannot grab device... Gutsy, 2500USB


Hi everyone,

I asked a similar question over on the Ubuntu forums but haven't gotten any replies so I wanted to try a more generic audience. I'm using a Jetway J7F5 mini-itx main board with 1Gb RAM and a 1.5GHz processor. I'm running Ubuntu 7.10 with kernel 2.6.22-14-generic

This is going to be a media server that uses a 15" Intellitouch touchscreen in a black walnut case. Video is driven using the Via drivers for the unichrome chipset and they are working great with openGL and other acceleration. The problems I'm having are with the touchscreen.

This is an ELO1545L. It is a USB controlled surface acoustic wave touchscreen. The controller is the 2500U which is the predecessor to the 2700. I have been trying all different versions of possible drivers for the past two weeks with no luck. I have tried the ones from elo, the Unified USB drivers, elographics, elousb, and evtouch v0.8.6 and v0.8.7. I have been running Ubuntu on an older computer for over a year now but this is the first time I've gotten into the terminal heavily to compile scripts and run make so please bear with me.

As with other people, the USB event changed every time I rebooted. I modified /etc/udev/rules.d/65-persistent-input.rules to create a static reference to the monitor. I labeled it touch2500. When I "cat /dev/input/touch2500" I get random data when I touch the screen. Sometimes it even messes up the text on the terminal so that I have to close terminal and re-open a new one. I have been chasing this problem for a few weeks and having all sorts of luck crashing X and using the other VCs. Elousb crashes X and puts Ubuntu into low graphics mode and I think elographics is just for the serial version. /var/log/Xorg.0.log has been a big bit of fun. Maybe there are some who would suggest editing the C code for one of these drivers. I would really prefer not to because it's been about 4 years since I last wrote C and assembly. The closest it's gotten to working is with the evtouch driver v0.8.7.

I've searched what feels far and wide and there were a few vague references to using a generic driver or different company driver to run this screen. So far, I can't find anyone who has gotten this working in Ubuntu 7.10.

Here are the relevant sections from my xorg.conf:

Quote:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection

Section "InputDevice"
Identifier "touchscreen"
# Driver "elo"
# Driver "elographics"
Driver "evtouch"
# Option "debuglevel" "5"
Option "Device" "/dev/input/touch2500"
Option "DeviceName" "touchscreen"
# Option "screeno" "0"
Option "MinX" "98"
Option "MaxX" "940"
Option "MinY" "43"
Option "MaxY" "925"
Option "ReportingMode" "Raw"
Option "Emulate3Buttons"
# Option "UntouchDelay" "3"
# Option "ReportDelay" "1"
Option "Emulate3Timeout" "50"
Option "SendCoreEvents" "On"
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "touchscreen" "CorePointer"
# InputDevice "stylus" "SendCoreEvents"
# InputDevice "cursor" "SendCoreEvents"
# InputDevice "eraser" "SendCoreEvents"
EndSection

Section "DRI"
Mode 0666
Group 0
EndSection
Please confirm that I have the persistent input done correctly. It's not in the USB section but the system still recognizes the device when I cat the touch2500 input.

Here is my persistent input rule file: /etc/udev/rules.d/65-persistent-input.rules


Quote:
ACTION!="add", GOTO="persistent_input_end"
SUBSYSTEM!="input", GOTO="persistent_input_end"
KERNEL=="input[0-9]*", GOTO="persistent_input_end"

# usb devices
SUBSYSTEMS=="usb", IMPORT{program}="usb_id --export"
SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="01", ENV{ID_CLASS}="kbd"
SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="02", ENV{ID_CLASS}="mouse"

# other devices
DRIVERS=="pcspkr", ENV{ID_CLASS}="spkr"
DRIVERS=="atkbd", ENV{ID_CLASS}="kbd"
DRIVERS=="psmouse", ENV{ID_CLASS}="mouse"
ATTRS{name}=="*dvb*|*DVB*|* IR *", ENV{ID_CLASS}="ir"
ATTRS{modalias}=="input:*-*a[068],*|input:*-*a*,[68],*m*", ATTRS{modalias}!="input:*-*k*14A,*r*", ENV{ID_CLASS}="joystick"
ATTRS{name}=="Elo TouchSystems, Inc. Elo TouchSystems IntelliTouch 2500U", SYMLINK=="input/touch2500"

# fill empty serial number
ENV{ID_CLASS}=="?*", ENV{ID_SERIAL}=="", ENV{ID_SERIAL}="noserial"

# by-id links
KERNEL=="mouse*|js*", ENV{ID_BUS}=="?*", ENV{ID_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_CLASS}"
KERNEL=="event*", ENV{ID_BUS}=="?*", ENV{ID_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-event-$env{ID_CLASS}"

# by-path
IMPORT{program}="path_id %p"
ENV{ID_PATH}=="?*", KERNEL=="mouse*|js*", SYMLINK+="input/by-path/$env{ID_PATH}-$env{ID_CLASS}"
ENV{ID_PATH}=="?*", KERNEL=="event*", SYMLINK+="input/by-path/$env{ID_PATH}-event-$env{ID_CLASS}"

LABEL="persistent_input_end"


As for the output of the Xorg.0.log. I'll just append the items dealing with touch as well as warnings and errors. Just piped through grep.

Quote:
less /var/log/Xorg.0.log | grep touch

(**) |-->Input Device "touchscreen"
(WW) Duplicate core pointer devices. Removing core pointer attribute from "touchscreen"
(II) LoadModule: "evtouch"
(II) Loading /usr/lib/xorg/modules/input//evtouch_drv.so
(II) Module evtouch: vendor="Kenan Esau"
(**) Option "DeviceName" "touchscreen"
(**) touchscreen: always reports core events
(II) XINPUT: Adding extended input device "touchscreen" (type: TOUCHSCREEN)
(**) Option "Device" "/dev/input/touch2500"
(EE) touchscreen: Unable to grab device (Invalid argument).
"less /var/log/Xorg.0.log | grep EE" doesn't reveal anything more than those errors.

The last thing that may be of interest is the output of lsmod for any usb devices. There is no output for "lsmod | grep touch" or "lsmod | grep input". Not that I thought there should be, but had no way of knowing whether evtouch would be properly loaded.


Quote:
lsmod | grep usb
usbhid 29536 0
hid 28928 1 usbhid
usbcore 138632 5 usbhid,xpad,ehci_hcd,uhci_hcd
Well, why not add some data from dmesg piped through driver to look for some driver errors:

Quote:
[ 22.255435] Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
[ 22.259729] RAMDISK driver initialized: 16 RAM disks of 65536K size 1024 blocksize
[ 25.281645] Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
[ 25.314568] usbcore: registered new interface driver usbfs
[ 25.314617] usbcore: registered new interface driver hub
[ 25.314651] usbcore: registered new device driver usb
[ 25.316452] USB Universal Host Controller Interface driver v3.0
[ 8.604000] Uniform CD-ROM driver Revision: 3.20
[ 8.852000] ehci_hcd 0000:00:10.4: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
[ 22.368000] usbcore: registered new interface driver xpad
[ 22.368000] /build/buildd/linux-source-2.6.22-2.6.22/drivers/input/joystick/xpad.c: driver for Xbox controllers v0.1.6
[ 22.448000] usbcore: registered new interface driver hiddev
[ 22.464000] usbcore: registered new interface driver usbhid
[ 22.464000] /build/buildd/linux-source-2.6.22-2.6.22/drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
[ 24.168000] lp: driver loaded but no devices found

Wow! This is a lot of information. I am really looking forward to being able to install the media programs I want and start populating it with media. My friend has talked me down from the edge a couple of times when I considered switching to Windows. If anybody could help get me pointed in the right directions I would really appreciate it. I'm getting frustrated trying to compile XFree86 drivers and drivers for old kernels etc etc. The old HCL link the hardware forum said this monitor isn't supported but that was last commented on in 2003 so I'm hoping that things have changed.

All my thanks in advance for any guidance and support.


Cheers!


UPDATE: I installed Hardy and the event driver is much better. I just installed evtouch, added a permanent input handle for my monitor and everything worked perfectly. Even setting up the new Xorg was simple.

Last edited by agisman; 05-02-2008 at 07:20 AM. Reason: Installed Hardy, all works
 
Old 10-20-2008, 01:34 AM   #2
AkBrian
Member
 
Registered: Aug 2003
Location: Alaska
Distribution: Mandrake, Redhat
Posts: 31

Rep: Reputation: 15
Hi,
I got an elo touchscreen which is giving me trouble,
Would you mind posting your current working xorg.conf file? Thanks!

details:
ELO model ET1827L version A46947 (USB only, Intellitouch, 2500U controller,18".
 
Old 10-28-2008, 07:07 PM   #3
agisman
LQ Newbie
 
Registered: Mar 2008
Posts: 2

Original Poster
Rep: Reputation: 0
Working Xorg and touchscreen

Akbrian,

For the most part, the content of Xorg is the same. There are some simple differences with the corepointer and raw events but this is my full xorg.conf file as requested. Now that I am using the 8.04 distribution of Ubuntu, things worked out fairly well. I can't say anything for calibrating the touch panel but that's another matter. Best of luck to you!

Code:
Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"kbd"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc105"
	Option		"XkbLayout"	"us"
EndSection

Section "InputDevice"
	Identifier	"Configured Mouse"
	Driver		"vmmouse"
EndSection

Section "InputDevice" 
    Identifier "touchscreen"
    Driver "evtouch"
    Option "Device" "/dev/input/touch2500"
    Option "DeviceName" "touchscreen"
    Option "MinX" "4095"
    Option "MinY" "4095"
    Option "MaxX" "0"
    Option "MaxY" "0"
    Option "ReportingMode" "Raw"
    Option "Emulate3Buttons"
    Option "Emulate3Timeout" "50"
#    Option "SendCoreEvents" "On"
#    Option "SwapX" "1"
#   Option "SwapY" "1"
EndSection


Section "Device"
	Driver "via"
	VendorName  "VIA Tech"
	BoardName   "via"
	Identifier	"Configured Video Device"
EndSection

Section "Monitor"
	Identifier "Monitor"
	ModeLine "720x480" 26.7 720 736 808 896 480 481 484 497
	ModeLine "720x576" 32.7 720 744 816 912 576 577 580 597
	ModeLine "800x480" 29.58 800 816 896 992 480 481 484 497
	ModeLine "848x480" 31.5 848 864 952 1056 480 481 484 497
	ModeLine "856x480" 31.7 856 872 960 1064 480 481 484 497
	ModeLine "960x600" 45.98 960 1000 1096 1232  600 601 604 622 -HSync +Vsync
	ModeLine "1000x600" 48.07 1000 1040 1144 1288 600 601 604 622 -HSync +Vsync
	ModeLine "1024x512" 41.3 1024 1056 1160 1296 512 513 516 531
	ModeLine "1088x612" 52.95 1088 1128 1240 1392 612 613 616 634 -HSync +Vsync
	ModeLine "1152x720" 67.32 1152 1208 1328 1504 720 721 724 746 -HSync +Vsync
	ModeLine "1200x720" 70.18 1200 1256 1384 1568 720 721 724 746 -HSync +Vsync
	ModeLine "1280x600" 61.50 1280 1336 1464 1648 600 601 604 622 -HSync +Vsync
	ModeLine "1280x720" 74.6 1280 1341 1474 1688 720 721 724 746
	ModeLine "1280x768" 80.1 1280 1344 1480 1680 768 769 772 795
	ModeLine "1360x768" 85.50 1360 1392 1712 1744 768 783 791 807 +HSync +Vsync
	ModeLine "1366x768" 85.86 1366 1440 1584 1800 768 769 772 795 -HSync +Vsync
	ModeLine "1440x900" 106.47 1440 1520 1672 1904 900 901 904 932 -HSync +Vsync
	ModeLine "1440x1050" 126.2 1440 1536 1688 1936 1050 1051 1054 1087
	ModeLine "1600x900" 119.00 1600 1696 1864 2128 900 901 904 932 -HSync +Vsync
	ModeLine "1600x1024" 136.36 1600 1704 1872 2144 1024 1025 1028 1060 -HSync +Vsync
	ModeLine "1792x1344" 202.97 1792 1920 2112 2432 1344 1345 1348 1391 -HSync +Vsync
	ModeLine "1856x1392" 218.57 1856 1992 2192 2528 1392 1393 1396 1441 -HSync +Vsync
	ModeLine "1920x1080" 172.9 1920 2043 2249 2578 1080 1081 1084 1118
	ModeLine "2048x1536" 266.95 2048 2200 2424 2800 1536 1537 1540 1589 -HSync +Vsync
	ModeLine "720x480" 34.9 720 752 824 928 480 481 484 502
	ModeLine "720x576" 42.6 720 760 832 944 576 577 580 602
	ModeLine "848x480" 41.0 848 880 968 1088 480 481 484 502
	ModeLine "856x480" 41.3 856 888 976 1096 480 481 484 502
	ModeLine "1024x512" 53.3 1024 1072 1176 1328 512 513 516 535
	ModeLine "1280x768" 103.0 1280 1360 1496 1712 768 769 772 802
	ModeLine "1440x1050" 160.0 1440 1536 1696 1952 1050 1051 1054 1096
	ModeLine "1280x768" 118.5 1280 1368 1504 1728 768 769 772 807
	ModeLine "1440x1050" 184.5 1440 1544 1704 1968 1050 1051 1054 1103
	ModeLine "848x480" 47.4 848 888 976 1104 480 481 484 505
EndSection

Section "Screen"
	Monitor  "Monitor"
	Identifier	"Default Screen"
	Device		"Configured Video Device"
EndSection

Section "ServerLayout"
	Identifier	"Default Layout"
	Screen		"Default Screen"
	InputDevice "ConfiguredMouse"
	InputDevice "touchscreen" "CorePointer"
EndSection

Section "Module"
	Load  "glx"
	Load  "dri"
	Load  "extmod"
EndSection

Section "DRI"
	Group 0
	Mode 0666
EndSection
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Xorg.conf & Event Problem with Touchscreen seattleweb Linux - Hardware 1 07-25-2007 12:41 AM
ffmpeg: Could not find video grab device drhind Linux - Desktop 0 01-15-2007 06:13 PM
Xorg error: device not found Ephracis Linux - Software 1 03-25-2005 04:05 AM
Xorg error: device not found Ephracis Linux - Software 1 03-23-2005 01:06 AM
eGalax Touchscreen and xorg: Driver problems (No core pointer) superhausi Linux - Hardware 5 08-03-2004 03:20 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 10:11 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration