Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
I´m trying to get this ELO touchscreen (ELO 1229L using the 2500U USB controller) to work in linux. I´ve already setup X to use the second display, but I´m having some difficulty getting the touch input setup. I have a linux driver for the monitor which I´ve compiled and installed and now I just need get the driver to talk to the device.
The problem is that I don´t know what /dev name to use. All the documentation for the touchscreens assume that one is using the RS232 version of the screen which plugs into a normal serial port so it talks on /dev/ttyS0. But what should I use for the USB device?
The usbserial kernel module claims to use /dev/ttyUSB0-255 but they didn´t exist on my machine so I used
mknod /dev/ttyUSB0 c 188 0
as directed by the kernel documentation. But when I tell the driver to use that, it gives me "System error while sending to Elographics touchscreen".
Are there any other /dev names that I can try?
Is there anyway of finding out to which /dev name a specific device is linked to? Programs like usbview does show the touchscreen USB device plugged in but doesn´t tell me which /dev name it´s using.
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 003: ID 04e7:0007 Elo TouchSystems
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
After scratching around in about 100 other websites, text files, c-source files etc, I eventually discovered that the device I needed to talk to is /dev/input/event2.
# cat /proc/bus/input/devices
shows which handlers are used for the input device. These are all dev files in the /dev/input directory.
I also discovered, after listing /usr/X11R6/lib/modules/input/ that I was using the wrong driver name! The docs that came with the driver focusses on the RS232 serial version of the touchscreen and said to use "elographics" as driver in the XFree86/Xorg conf file. But it should actually be "elousb".
I am also trying to use an elo touch, but can't get it to work. I am using debian testing and XFree86 4.5.0. I tried using the eloinput driver that comes with 4.5.0, but that didn't work. I also used elousb which I compiled against XFree86 4.5.0,
but the xf86 logs said that it can not open the serial device (?). I though the elousb driver was for usb devices?
Handlers=event4 tell you which device to use. For this example, the device is /dev/input/event4.
Also, note that the elousb driver on ELO's website contains bugs. It will look for the X axis information in the wrong place. At least, it does for my touch controller (the 2500U). If you PM me your email address, I'll send you a copy of my "fixed" elousb driver.
Since I've had a colleage complaining about a similar issue today, I've changed the elousb driver to scan /proc/bus/input/devices to automatically find the correct /dev/input/eventX device name. So it's no longer necessary to specify it in the xf86config file.
If anyone is interested in my version of the elousb driver, PM me an email address. A warning though: I do not offer any support and I do not assume any responsibility for any damage, difficulty, problems suffered due to using my driver. I may also make the driver available on my website in the near future. When I do, and remember about this, I'll post a link here.
ZX_SA, I can't pm but I would love to see the code for the driver. My email
is steve at nothinbut dot net. I am thinking about writing a driver for the elo touch under qt-embedded. If you are interested in tackling this project together, let me know.
I also have working the Elo Touchscreen 2216 (USB) using the elousb original driver with the Debian 3.1 distribution (Kernel 2.6.8).
Well, I should say "not completly working". When I move the "touch" up, the cursor moves down. Also the cursor position is not corresponding with the "touch" position". This seems to be a calibration problem, except perhaps for the down - up problem.
There are some tools to help you calibrate the screen, but I think these were written for the serial version (instead of the USB version). With my LCD screens I found that if I simply tell the driver to use the maximum values for each axis, it maps quite nicely (and is well calibrated).
You can change the values in the Xorg.conf (Xf86config) file. You should have a InputDevice section for the touchscreen and there are some options for the driver that you can specify here. The ones you'll need now are:
MinX, MaxX, MinY, MaxY -- Play with these to do the calibration. I simply used 0-4095 for both the X and Y axes and it works fine.
To flip the Y axis I *think* you can simply make MinY=4096 and MaxY=0. I think I did something like that when I first started playing with the elousb driver, but I can't promise you that it will work.