Re: SOLVED support of touchscreen reported as eGalax but is notworking

From: Max Weninger
Date: Mon Feb 02 2009 - 17:43:27 EST


Hi

On Mon, 02 Feb 2009 14:39:25 +0100
Niels de Vos <niels.devos@xxxxxxxxxxxxxxxxxx> wrote:

> Andrew Morton wrote:
> > (cc restored - please jsut do reply-to-all, always)
> >
> > On Tue, 27 Jan 2009 02:05:29 +0100
> > Max Weninger <max.weninger@xxxxxxxxx> wrote:
> >
> >> Hi again
> >>
> >> On Tue, 27 Jan 2009 01:48:22 +0100
> >> Max Weninger <max.weninger@xxxxxxxxx> wrote:
> >>
> >>> On Tue, 27 Jan 2009 01:38:06 +0100
> >>> Max Weninger <max.weninger@xxxxxxxxx> wrote:
> >>>
> >>>> Hi
> >>>>
> >>>> On Mon, 26 Jan 2009 13:13:23 +0100
> >>>> Niels de Vos <niels.devos@xxxxxxxxxxxxxxxxxx> wrote:
> >>>>
> >>>>> Max Weninger wrote:
> >>>>>> Niels de Vos <niels.devos@xxxxxxxxxxxxxxxxxx> wrote:
> >>>>>>> You can obviously download the drivers from
> >>>>>>> <http://home.eeti.com.tw/web20/TouchKitDriver/linuxDriver.htm>.
> >>>>>>>
> >>>>>>> It would be great if eGalax could be convinced to get these
> >>>>>>> drivers included in main-line ;)
> >>>>>> Thanks for your quick reply
> >>>>>> BUT: I have tried those driver also
> >>>>>>
> >>>>>> I tried this "brandnew" one (but also older ones)
> >>>>>> http://home.eeti.com.tw/web20/drivers/touch_driver/Linux/2.06.2416/TouchKit-2.06.2410-32b-k26.tar.gz
> >>>>>> after making it compile for 2.6.28.2 :)
> >>>>>> since there is source code delivered
> >>>>> For what it's worth; the version we use from eGalax is
> >>>>> 1.0.3.1701. I don't have the hardware here atm, so I can't test
> >>>>> an other driver now.
> >>>> I tried kernel 2.6.23.17 and there the touchscreen is recognized
> >>>> using the builtin usbtouchscreen driver
> >>> It also works with 2.6.26.8
> >> After comparing the usbtouchscreen.c sources between the different
> >> versions I got it working by commenting the follwoing lines
> >>
> >> ...
> >> #ifdef CONFIG_TOUCHSCREEN_USB_EGALAX
> >> /* ignore the HID capable devices, handled by usbhid */
> >> {USB_DEVICE_HID_CLASS(0x0eef, 0x0001), .driver_info =
> >> DEVTYPE_IGNORE}, {USB_DEVICE_HID_CLASS(0x0eef,
> >> 0x0002), .driver_info = DEVTYPE_IGNORE}, ...
> >>
> >> Now the entry in /proc/bus/input/devices is created as in the
> >> older versions.
> >>
> >> So it seems that usbhid is not correctly handling my type
> >> of touchscreen if I understand the comment there correctly
> >>
> >
> > So... how do we fix this for real?
>
> (...after some research...)
>
> Best would probably be updating the Xorg evtouch-driver. It looks
> like someone already did this. I found a site containing a quite
> complete description of (hopefully the same) problem:
> http://zalman.ostergaard.net/touch.html

Well the problem here IMHO is the following sentence found there

> If you read something else from your touchscreen, you may as well skip
> reading further :-(

without the changes in usbtouchscreen /proc/bus/input/devices does
NOT contain any entry for my touchscreen.

> However I don't think the changes were submitted upstream as the
> (new) driver does not contain support for the other eGalax-hardware
> anymore.
>
> In my view the problem is not the Linux usbtouchscreen/usbhid driver,
> but the evtouch-driver. It looks like the evtouch-driver is not
> maintained by the Xorg-folks, but on
> http://www.conan.de/touchscreen/evtouch.html (contact added in CC).

I think the problem cannot be fixed by any changes on the X-level
since this requires that the underlying device is present
e.g. any /dev/input/event[x] device for the touchscreen

evtouch is just one level above and is just using the device
that is provided from the kernel aka. usbtouchscreen or usbhid

At least this is how I understand the architecture :)

Regards

max

Attachment: signature.asc
Description: PGP signature