linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* support of touchscreen reported as eGalax but is not working
@ 2009-01-25 22:49 Max Weninger
  2009-01-26 10:46 ` Niels de Vos
  0 siblings, 1 reply; 16+ messages in thread
From: Max Weninger @ 2009-01-25 22:49 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 3739 bytes --]

Hi

I recently got a used USB touchscreen and try to get it working
It looks like a eGalax type but not really is :-(

I am using kernel 2.6.28.2 but also tried the one that comes with
fedora 10 (2.6.27) When I connect the touchscreen dmesg shows

usb 2-1: new low speed USB device using uhci_hcd and address 13
usb 2-1: string descriptor 0 read error: -32
usb 2-1: string descriptor 0 read error: -32
usb 2-1: configuration #1 chosen from 1 choice
usb 2-1: string descriptor 0 read error: -32
generic-usb: probe of 0003:0EEF:0001.000B failed with error -32
usb 2-1: New USB device found, idVendor=0eef, idProduct=0001
usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0

lsusb -vv for the device gives

Bus 002 Device 013: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax
TouchScreen Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x0eef D-WAV Scientific Co., Ltd
  idProduct          0x0001 eGalax TouchScreen
  bcdDevice            1.00
  iManufacturer           1
  iProduct                2
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          4
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower               44mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.12
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     141
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               5

/proc/bus/usb/devices gives

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 13 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0eef ProdID=0001 Rev= 1.00
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 44mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=5ms

I compared this output to other eGalax and discovered some differences
like that iManufactur and iProduct is not filled also
bInterfaceSubClass and bInterfaceProtocol

The kernel is not installing any input device for the touchscreen
so /proc/bus/input/devices does not show the touchscreen

To check if the thing is actually working I did a quick test on XP
and there it works.

Any chance to get this thing working?
I can test any patch maybe required and provide more information if
needed. If am wrong on this mailing list please tell me where
I should post this question.

Thanks for any help

Max

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: support of touchscreen reported as eGalax but is not working
  2009-01-25 22:49 support of touchscreen reported as eGalax but is not working Max Weninger
@ 2009-01-26 10:46 ` Niels de Vos
  2009-01-26 11:49   ` Max Weninger
  0 siblings, 1 reply; 16+ messages in thread
From: Niels de Vos @ 2009-01-26 10:46 UTC (permalink / raw)
  To: Max Weninger; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1626 bytes --]

Max Weninger wrote:
> Hi
> 
> I recently got a used USB touchscreen and try to get it working
> It looks like a eGalax type but not really is :-(
> 
...
> /proc/bus/usb/devices gives
> 
> T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 13 Spd=1.5 MxCh= 0
> D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
> P:  Vendor=0eef ProdID=0001 Rev= 1.00
> C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 44mA
> I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
> E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=5ms
> 
> I compared this output to other eGalax and discovered some differences
> like that iManufactur and iProduct is not filled also
> bInterfaceSubClass and bInterfaceProtocol

Looks like a touchscreen which is supported by a closed(?) source driver
of eGalax we have here too:
$ /sbin/modinfo tkusb.ko 
filename:       tkusb.ko
license:        GPL
description:    USB TouchScreen Driver
author:         eGalax Inc. http://www.egalax.com.tw
srcversion:     B0872D8913B07BF5665B5BA
alias:          usb:v3823p0001d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v0EEFp0002d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v0EEFp0001d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1234p0002d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1234p0001d*dc*dsc*dp*ic*isc*ip*
depends:        usbcore
vermagic:       2.6.17-8.wn mod_unload 686 REGPARM 4KSTACKS gcc-4.0

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 ;)

Hope that helps,
Niels


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: support of touchscreen reported as eGalax but is not working
  2009-01-26 10:46 ` Niels de Vos
@ 2009-01-26 11:49   ` Max Weninger
  2009-01-26 12:13     ` Niels de Vos
  0 siblings, 1 reply; 16+ messages in thread
From: Max Weninger @ 2009-01-26 11:49 UTC (permalink / raw)
  To: Niels de Vos; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2900 bytes --]

Hi

On Mon, 26 Jan 2009 11:46:01 +0100
Niels de Vos <niels.devos@wincor-nixdorf.com> wrote:

> Max Weninger wrote:
> > Hi
> > 
> > I recently got a used USB touchscreen and try to get it working
> > It looks like a eGalax type but not really is :-(
> > 
> ...
> > /proc/bus/usb/devices gives
> > 
> > T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 13 Spd=1.5 MxCh= 0
> > D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
> > P:  Vendor=0eef ProdID=0001 Rev= 1.00
> > C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 44mA
> > I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
> > E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=5ms
> > 
> > I compared this output to other eGalax and discovered some differences
> > like that iManufactur and iProduct is not filled also
> > bInterfaceSubClass and bInterfaceProtocol
> 
> Looks like a touchscreen which is supported by a closed(?) source driver
> of eGalax we have here too:
> $ /sbin/modinfo tkusb.ko 
> filename:       tkusb.ko
> license:        GPL
> description:    USB TouchScreen Driver
> author:         eGalax Inc. http://www.egalax.com.tw
> srcversion:     B0872D8913B07BF5665B5BA
> alias:          usb:v3823p0001d*dc*dsc*dp*ic*isc*ip*
> alias:          usb:v0EEFp0002d*dc*dsc*dp*ic*isc*ip*
> alias:          usb:v0EEFp0001d*dc*dsc*dp*ic*isc*ip*
> alias:          usb:v1234p0002d*dc*dsc*dp*ic*isc*ip*
> alias:          usb:v1234p0001d*dc*dsc*dp*ic*isc*ip*
> depends:        usbcore
> vermagic:       2.6.17-8.wn mod_unload 686 REGPARM 4KSTACKS gcc-4.0
> 
> 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

If I didnt make any error I get exactly the same error
maybe I did some error in the configuration but
it loads the tkusb kernel module instead of the usbtoucscreen
(which I added to the module blacklist) when plugin the screen
so I think I did it right :)

So maybe the problem is that the kernel is just too new 
and some other changes broke the support :)
So I will try with the kernel you are using
(2.6.17-8) to make sure

Regards

max



-- 
_______________________________________________________________
     \                  
    o/\_          DI Max Weninger
   <\__,\         Email (max.weninger@gmail.com)          
    ">.  |         
     ` .-|        
        . \       
         . \      
         .-|      
_________._|____________________________________________________

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: support of touchscreen reported as eGalax but is not working
  2009-01-26 11:49   ` Max Weninger
@ 2009-01-26 12:13     ` Niels de Vos
  2009-01-27  0:38       ` Max Weninger
  0 siblings, 1 reply; 16+ messages in thread
From: Niels de Vos @ 2009-01-26 12:13 UTC (permalink / raw)
  To: Max Weninger; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 781 bytes --]

Max Weninger wrote:
> Niels de Vos <niels.devos@wincor-nixdorf.com> 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.

Cheers,
Niels


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: support of touchscreen reported as eGalax but is not working
  2009-01-26 12:13     ` Niels de Vos
@ 2009-01-27  0:38       ` Max Weninger
  2009-01-27  0:48         ` Max Weninger
  0 siblings, 1 reply; 16+ messages in thread
From: Max Weninger @ 2009-01-27  0:38 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1844 bytes --]

Hi

On Mon, 26 Jan 2009 13:13:23 +0100
Niels de Vos <niels.devos@wincor-nixdorf.com> wrote:

> Max Weninger wrote:
> > Niels de Vos <niels.devos@wincor-nixdorf.com> 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

/proc/bus/usb/devices delivers
T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0eef ProdID=0001 Rev= 1.00
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 44mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbtouchscreen
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=5ms

and

/proc/bus/input/devices
I: Bus=0003 Vendor=0eef Product=0001 Version=0100
N: Name="USB Touchscreen 0eef:0001"
P: Phys=usb-0000:00:1d.0-2/input0
S: Sysfs=/class/input/input3
U: Uniq=
H: Handlers=mouse2 event3 
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=3

I also tried to blacklist the usbhid with 2.6.28.2
then it display Driver=usbtouchscreen in /proc/bus/usb/devices
but still no entry in /proc/bus/input/devices

Any ideas?

Regards

max

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: support of touchscreen reported as eGalax but is not working
  2009-01-27  0:38       ` Max Weninger
@ 2009-01-27  0:48         ` Max Weninger
  2009-01-27  1:05           ` SOLVED " Max Weninger
  0 siblings, 1 reply; 16+ messages in thread
From: Max Weninger @ 2009-01-27  0:48 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1203 bytes --]

Hi



On Tue, 27 Jan 2009 01:38:06 +0100
Max Weninger <max.weninger@gmail.com> wrote:

> Hi
> 
> On Mon, 26 Jan 2009 13:13:23 +0100
> Niels de Vos <niels.devos@wincor-nixdorf.com> wrote:
> 
> > Max Weninger wrote:
> > > Niels de Vos <niels.devos@wincor-nixdorf.com> 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

Regards

Max

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: SOLVED support of touchscreen reported as eGalax but is not working
  2009-01-27  0:48         ` Max Weninger
@ 2009-01-27  1:05           ` Max Weninger
  2009-01-30 23:18             ` Andrew Morton
  0 siblings, 1 reply; 16+ messages in thread
From: Max Weninger @ 2009-01-27  1:05 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1962 bytes --]

Hi again

On Tue, 27 Jan 2009 01:48:22 +0100
Max Weninger <max.weninger@gmail.com> wrote:

> On Tue, 27 Jan 2009 01:38:06 +0100
> Max Weninger <max.weninger@gmail.com> wrote:
> 
> > Hi
> > 
> > On Mon, 26 Jan 2009 13:13:23 +0100
> > Niels de Vos <niels.devos@wincor-nixdorf.com> wrote:
> > 
> > > Max Weninger wrote:
> > > > Niels de Vos <niels.devos@wincor-nixdorf.com> 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

Regards

Max

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: SOLVED support of touchscreen reported as eGalax but is not working
  2009-01-27  1:05           ` SOLVED " Max Weninger
@ 2009-01-30 23:18             ` Andrew Morton
  2009-01-31 22:09               ` Max Weninger
  2009-02-02 13:39               ` Niels de Vos
  0 siblings, 2 replies; 16+ messages in thread
From: Andrew Morton @ 2009-01-30 23:18 UTC (permalink / raw)
  To: Max Weninger; +Cc: linux-kernel, Niels de Vos, linux-usb

(cc restored - please jsut do reply-to-all, always)

On Tue, 27 Jan 2009 02:05:29 +0100
Max Weninger <max.weninger@gmail.com> wrote:

> Hi again
> 
> On Tue, 27 Jan 2009 01:48:22 +0100
> Max Weninger <max.weninger@gmail.com> wrote:
> 
> > On Tue, 27 Jan 2009 01:38:06 +0100
> > Max Weninger <max.weninger@gmail.com> wrote:
> > 
> > > Hi
> > > 
> > > On Mon, 26 Jan 2009 13:13:23 +0100
> > > Niels de Vos <niels.devos@wincor-nixdorf.com> wrote:
> > > 
> > > > Max Weninger wrote:
> > > > > Niels de Vos <niels.devos@wincor-nixdorf.com> 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?

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: SOLVED support of touchscreen reported as eGalax but is not working
  2009-01-30 23:18             ` Andrew Morton
@ 2009-01-31 22:09               ` Max Weninger
  2009-02-03  6:59                 ` Andrew Morton
  2009-02-02 13:39               ` Niels de Vos
  1 sibling, 1 reply; 16+ messages in thread
From: Max Weninger @ 2009-01-31 22:09 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Niels de Vos, linux-usb

Hi to all

On Fri, 30 Jan 2009 15:18:36 -0800
Andrew Morton <akpm@linux-foundation.org> wrote:

> (cc restored - please jsut do reply-to-all, always)
> 
> On Tue, 27 Jan 2009 02:05:29 +0100
> Max Weninger <max.weninger@gmail.com> wrote:
> 
> > Hi again
> > 
> > On Tue, 27 Jan 2009 01:48:22 +0100
> > Max Weninger <max.weninger@gmail.com> wrote:
> > 
> > > On Tue, 27 Jan 2009 01:38:06 +0100
> > > Max Weninger <max.weninger@gmail.com> wrote:
> > > 
> > > > Hi
> > > > 
> > > > On Mon, 26 Jan 2009 13:13:23 +0100
> > > > Niels de Vos <niels.devos@wincor-nixdorf.com> wrote:
> > > > 
> > > > > Max Weninger wrote:
> > > > > > Niels de Vos <niels.devos@wincor-nixdorf.com> 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?

Well I am really not an expert in kernel programming :-)
I found out that these lines where added based on this thread from 2008

http://kerneltrap.org/mailarchive/linux-kernel/2008/6/28/2286264/thread

So all I can do is to provide any help in testing if needed

Regards

Max



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: SOLVED support of touchscreen reported as eGalax but is not working
  2009-01-30 23:18             ` Andrew Morton
  2009-01-31 22:09               ` Max Weninger
@ 2009-02-02 13:39               ` Niels de Vos
  2009-02-02 22:42                 ` Max Weninger
  1 sibling, 1 reply; 16+ messages in thread
From: Niels de Vos @ 2009-02-02 13:39 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Max Weninger, linux-kernel, linux-usb, lifebook

[-- Attachment #1: Type: text/plain, Size: 2903 bytes --]

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@gmail.com> wrote:
> 
>> Hi again
>>
>> On Tue, 27 Jan 2009 01:48:22 +0100
>> Max Weninger <max.weninger@gmail.com> wrote:
>>
>>> On Tue, 27 Jan 2009 01:38:06 +0100
>>> Max Weninger <max.weninger@gmail.com> wrote:
>>>
>>>> Hi
>>>>
>>>> On Mon, 26 Jan 2009 13:13:23 +0100
>>>> Niels de Vos <niels.devos@wincor-nixdorf.com> wrote:
>>>>
>>>>> Max Weninger wrote:
>>>>>> Niels de Vos <niels.devos@wincor-nixdorf.com> 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

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).

Anyone interested in creating a patch for evtouch?

Niels


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: SOLVED support of touchscreen reported as eGalax but is not working
  2009-02-02 13:39               ` Niels de Vos
@ 2009-02-02 22:42                 ` Max Weninger
  0 siblings, 0 replies; 16+ messages in thread
From: Max Weninger @ 2009-02-02 22:42 UTC (permalink / raw)
  To: Niels de Vos; +Cc: Andrew Morton, linux-kernel, linux-usb, lifebook

[-- Attachment #1: Type: text/plain, Size: 3741 bytes --]

Hi

On Mon, 02 Feb 2009 14:39:25 +0100
Niels de Vos <niels.devos@wincor-nixdorf.com> 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@gmail.com> wrote:
> > 
> >> Hi again
> >>
> >> On Tue, 27 Jan 2009 01:48:22 +0100
> >> Max Weninger <max.weninger@gmail.com> wrote:
> >>
> >>> On Tue, 27 Jan 2009 01:38:06 +0100
> >>> Max Weninger <max.weninger@gmail.com> wrote:
> >>>
> >>>> Hi
> >>>>
> >>>> On Mon, 26 Jan 2009 13:13:23 +0100
> >>>> Niels de Vos <niels.devos@wincor-nixdorf.com> wrote:
> >>>>
> >>>>> Max Weninger wrote:
> >>>>>> Niels de Vos <niels.devos@wincor-nixdorf.com> 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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: SOLVED support of touchscreen reported as eGalax but is not working
  2009-01-31 22:09               ` Max Weninger
@ 2009-02-03  6:59                 ` Andrew Morton
  2009-02-03 23:44                   ` Daniel Ritz
  0 siblings, 1 reply; 16+ messages in thread
From: Andrew Morton @ 2009-02-03  6:59 UTC (permalink / raw)
  To: Max Weninger; +Cc: linux-kernel, Niels de Vos, linux-usb, Daniel Ritz

On Sat, 31 Jan 2009 23:09:01 +0100 Max Weninger <max.weninger@gmail.com> wrote:

> Hi to all
> 
> On Fri, 30 Jan 2009 15:18:36 -0800
> Andrew Morton <akpm@linux-foundation.org> wrote:
> 
> > (cc restored - please jsut do reply-to-all, always)
> > 
> > On Tue, 27 Jan 2009 02:05:29 +0100
> > Max Weninger <max.weninger@gmail.com> wrote:
> > 
> > > Hi again
> > > 
> > > On Tue, 27 Jan 2009 01:48:22 +0100
> > > Max Weninger <max.weninger@gmail.com> wrote:
> > > 
> > > > On Tue, 27 Jan 2009 01:38:06 +0100
> > > > Max Weninger <max.weninger@gmail.com> wrote:
> > > > 
> > > > > Hi
> > > > > 
> > > > > On Mon, 26 Jan 2009 13:13:23 +0100
> > > > > Niels de Vos <niels.devos@wincor-nixdorf.com> wrote:
> > > > > 
> > > > > > Max Weninger wrote:
> > > > > > > Niels de Vos <niels.devos@wincor-nixdorf.com> 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?
> 
> Well I am really not an expert in kernel programming :-)
> I found out that these lines where added based on this thread from 2008
> 
> http://kerneltrap.org/mailarchive/linux-kernel/2008/6/28/2286264/thread
> 
> So all I can do is to provide any help in testing if needed
> 

(optimistically cc'ing Daniel).

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: SOLVED support of touchscreen reported as eGalax but is not working
  2009-02-03  6:59                 ` Andrew Morton
@ 2009-02-03 23:44                   ` Daniel Ritz
  2009-02-04 21:59                     ` Max Weninger
  0 siblings, 1 reply; 16+ messages in thread
From: Daniel Ritz @ 2009-02-03 23:44 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Max Weninger, linux-kernel, Niels de Vos, linux-usb

On Tuesday 03 February 2009 07:59:29 Andrew Morton wrote:
> On Sat, 31 Jan 2009 23:09:01 +0100 Max Weninger <max.weninger@gmail.com> wrote:
[snip]
> > > > 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?
> > 
> > Well I am really not an expert in kernel programming :-)
> > I found out that these lines where added based on this thread from 2008
> > 
> > http://kerneltrap.org/mailarchive/linux-kernel/2008/6/28/2286264/thread
> > 
> > So all I can do is to provide any help in testing if needed
> > 
> 
> (optimistically cc'ing Daniel).

looks like it worked :)

ermm, that ignoring code...seems like i was just a little bit stupid when
i wrote it...

Max, please try the attached patch...

rgds
-daniel

--------

[PATCH] usbtouchscreen: fix eGalax/ETTI HID device ignoring

Fix the eGalax/ETTI HID device ignoring by adding a match for the protocol too.
This is what the marco USB_DEVICE_HID_CLASS() was supposed to do anyways.

Devices confirmed to be real HID have the class set to HID and the protocol
set to 'mouse'.  Some have HID class but protocol set to 'none'. Those are
not HID and should be driven by usbtouchscreen.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>

diff --git a/drivers/input/touchscreen/usbtouchscreen.c b/drivers/input/touchscreen/usbtouchscreen.c
index 5080b26..ba6237a 100644
--- a/drivers/input/touchscreen/usbtouchscreen.c
+++ b/drivers/input/touchscreen/usbtouchscreen.c
@@ -118,7 +118,8 @@ enum {
 
 #define USB_DEVICE_HID_CLASS(vend, prod) \
 	.match_flags = USB_DEVICE_ID_MATCH_INT_CLASS \
-		| USB_DEVICE_ID_MATCH_DEVICE, \
+		| USB_DEVICE_ID_MATCH_DEVICE \
+		| USB_DEVICE_ID_MATCH_DEV_PROTOCOL, \
 	.idVendor = (vend), \
 	.idProduct = (prod), \
 	.bInterfaceClass = USB_INTERFACE_CLASS_HID, \



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: SOLVED support of touchscreen reported as eGalax but is not working
  2009-02-03 23:44                   ` Daniel Ritz
@ 2009-02-04 21:59                     ` Max Weninger
  2009-02-08 16:01                       ` Daniel Ritz
  0 siblings, 1 reply; 16+ messages in thread
From: Max Weninger @ 2009-02-04 21:59 UTC (permalink / raw)
  To: Daniel Ritz; +Cc: Andrew Morton, linux-kernel, Niels de Vos, linux-usb

[-- Attachment #1: Type: text/plain, Size: 3785 bytes --]

Hi

On Wed, 4 Feb 2009 00:44:11 +0100
Daniel Ritz <daniel.ritz-ml@swissonline.ch> wrote:

> On Tuesday 03 February 2009 07:59:29 Andrew Morton wrote:
> > On Sat, 31 Jan 2009 23:09:01 +0100 Max Weninger
> > <max.weninger@gmail.com> wrote:
> [snip]
> > > > > 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?
> > > 
> > > Well I am really not an expert in kernel programming :-)
> > > I found out that these lines where added based on this thread
> > > from 2008
> > > 
> > > http://kerneltrap.org/mailarchive/linux-kernel/2008/6/28/2286264/thread
> > > 
> > > So all I can do is to provide any help in testing if needed
> > > 
> > 
> > (optimistically cc'ing Daniel).
> 
> looks like it worked :)
> 
> ermm, that ignoring code...seems like i was just a little bit stupid
> when i wrote it...
> 
> Max, please try the attached patch...

I patched usbtouchscreen.c in my 2.6.28.2 kernel

But if I look in /proc/bus/usb/devices
the touchscreen is now managed from the usbhid driver
so usbtouchscreen is again ignoring my device

/proc/bus/input/devices is again empty and no
entry exists for the touchscreen :-(

This is the same behaviour that I had before
copying back "my patched" version and everything is
working again.

Just to make sure I understand how this should work
the entry must be there also if usbhid is managing
the touchscreen right?

BTW: dmesg contains a new line with the patched version
generic-usb: probe of 0003:0EEF:0001.0002 failed with error -32
when initializing the touchscreen

So sorry no success here

But I have to say that I got this touchscreen very cheap
second hand and maybe this is just some stupid problem
only for this device.

If your code works for all the other devices you tested
I am fine doing my change for now and you should not
waste more time on this :-)

Thanks

Max

> rgds
> -daniel
> 
> --------
> 
> [PATCH] usbtouchscreen: fix eGalax/ETTI HID device ignoring
> 
> Fix the eGalax/ETTI HID device ignoring by adding a match for the
> protocol too. This is what the marco USB_DEVICE_HID_CLASS() was
> supposed to do anyways.
> 
> Devices confirmed to be real HID have the class set to HID and the
> protocol set to 'mouse'.  Some have HID class but protocol set to
> 'none'. Those are not HID and should be driven by usbtouchscreen.
> 
> Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
> 
> diff --git a/drivers/input/touchscreen/usbtouchscreen.c
> b/drivers/input/touchscreen/usbtouchscreen.c index 5080b26..ba6237a
> 100644 --- a/drivers/input/touchscreen/usbtouchscreen.c
> +++ b/drivers/input/touchscreen/usbtouchscreen.c
> @@ -118,7 +118,8 @@ enum {
>  
>  #define USB_DEVICE_HID_CLASS(vend, prod) \
>  	.match_flags = USB_DEVICE_ID_MATCH_INT_CLASS \
> -		| USB_DEVICE_ID_MATCH_DEVICE, \
> +		| USB_DEVICE_ID_MATCH_DEVICE \
> +		| USB_DEVICE_ID_MATCH_DEV_PROTOCOL, \
>  	.idVendor = (vend), \
>  	.idProduct = (prod), \
>  	.bInterfaceClass = USB_INTERFACE_CLASS_HID, \
> 
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: SOLVED support of touchscreen reported as eGalax but is not working
  2009-02-04 21:59                     ` Max Weninger
@ 2009-02-08 16:01                       ` Daniel Ritz
  2009-02-09 22:46                         ` REALLY " Max Weninger
  0 siblings, 1 reply; 16+ messages in thread
From: Daniel Ritz @ 2009-02-08 16:01 UTC (permalink / raw)
  To: Max Weninger; +Cc: Andrew Morton, linux-kernel, Niels de Vos, linux-usb

On Wednesday 04 February 2009 22:59:42 Max Weninger wrote:
> Hi
> 
> On Wed, 4 Feb 2009 00:44:11 +0100
> Daniel Ritz <daniel.ritz-ml@swissonline.ch> wrote:
> 
> > On Tuesday 03 February 2009 07:59:29 Andrew Morton wrote:
> > > On Sat, 31 Jan 2009 23:09:01 +0100 Max Weninger
> > > <max.weninger@gmail.com> wrote:
> > [snip]
> > > > > > 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?
> > > > 
> > > > Well I am really not an expert in kernel programming :-)
> > > > I found out that these lines where added based on this thread
> > > > from 2008
> > > > 
> > > > http://kerneltrap.org/mailarchive/linux-kernel/2008/6/28/2286264/thread
> > > > 
> > > > So all I can do is to provide any help in testing if needed
> > > > 
> > > 
> > > (optimistically cc'ing Daniel).
> > 
> > looks like it worked :)
> > 
> > ermm, that ignoring code...seems like i was just a little bit stupid
> > when i wrote it...
> > 
> > Max, please try the attached patch...
> 
> I patched usbtouchscreen.c in my 2.6.28.2 kernel
> 
> But if I look in /proc/bus/usb/devices
> the touchscreen is now managed from the usbhid driver
> so usbtouchscreen is again ignoring my device
> 
[...]
> So sorry no success here
> 
[...]

errm, forget the patch i sent you...it just couldn't work:
instead of the flag USB_DEVICE_ID_MATCH_INT_PROTOCOL i took
USB_DEVICE_ID_MATCH_DEV_PROTOCOL which is just wrong wrong wrong :)

fixed patch attached.

rgds
-daniel, looking for that brown paper bag

----------
[PATCH] usbtouchscreen: fix eGalax HID ignoring

Fix the eGalax/EETI HID device ignoring by adding a match for the protocol too.
This is what the marco USB_DEVICE_HID_CLASS() was supposed to do anyways.

Devices confirmed to be real HID have the class set to HID and the protocol
set to 'mouse'.  Some have HID class but protocol set to 'none'. Those are
not HID and should be driven by usbtouchscreen.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>

diff --git a/drivers/input/touchscreen/usbtouchscreen.c b/drivers/input/touchscreen/usbtouchscreen.c
index 5080b26..b383625 100644
--- a/drivers/input/touchscreen/usbtouchscreen.c
+++ b/drivers/input/touchscreen/usbtouchscreen.c
@@ -118,6 +118,7 @@ enum {
 
 #define USB_DEVICE_HID_CLASS(vend, prod) \
 	.match_flags = USB_DEVICE_ID_MATCH_INT_CLASS \
+		| USB_DEVICE_ID_MATCH_INT_PROTOCOL \
 		| USB_DEVICE_ID_MATCH_DEVICE, \
 	.idVendor = (vend), \
 	.idProduct = (prod), \




^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: REALLY SOLVED support of touchscreen reported as eGalax but is not working
  2009-02-08 16:01                       ` Daniel Ritz
@ 2009-02-09 22:46                         ` Max Weninger
  0 siblings, 0 replies; 16+ messages in thread
From: Max Weninger @ 2009-02-09 22:46 UTC (permalink / raw)
  To: Daniel Ritz; +Cc: Andrew Morton, linux-kernel, Niels de Vos, linux-usb

[-- Attachment #1: Type: text/plain, Size: 3624 bytes --]

Hi

On Sun, 8 Feb 2009 17:01:57 +0100
Daniel Ritz <daniel.ritz-ml@swissonline.ch> wrote:

> On Wednesday 04 February 2009 22:59:42 Max Weninger wrote:
> > Hi
> > 
> > On Wed, 4 Feb 2009 00:44:11 +0100
> > Daniel Ritz <daniel.ritz-ml@swissonline.ch> wrote:
> > 
> > > On Tuesday 03 February 2009 07:59:29 Andrew Morton wrote:
> > > > On Sat, 31 Jan 2009 23:09:01 +0100 Max Weninger
> > > > <max.weninger@gmail.com> wrote:
> > > [snip]
> > > > > > > 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?
> > > > > 
> > > > > Well I am really not an expert in kernel programming :-)
> > > > > I found out that these lines where added based on this thread
> > > > > from 2008
> > > > > 
> > > > > http://kerneltrap.org/mailarchive/linux-kernel/2008/6/28/2286264/thread
> > > > > 
> > > > > So all I can do is to provide any help in testing if needed
> > > > > 
> > > > 
> > > > (optimistically cc'ing Daniel).
> > > 
> > > looks like it worked :)
> > > 
> > > ermm, that ignoring code...seems like i was just a little bit
> > > stupid when i wrote it...
> > > 
> > > Max, please try the attached patch...
> > 
> > I patched usbtouchscreen.c in my 2.6.28.2 kernel
> > 
> > But if I look in /proc/bus/usb/devices
> > the touchscreen is now managed from the usbhid driver
> > so usbtouchscreen is again ignoring my device
> > 
> [...]
> > So sorry no success here
> > 
> [...]
> 
> errm, forget the patch i sent you...it just couldn't work:
> instead of the flag USB_DEVICE_ID_MATCH_INT_PROTOCOL i took
> USB_DEVICE_ID_MATCH_DEV_PROTOCOL which is just wrong wrong wrong :)
> 
> fixed patch attached.

Now it works! :-)

Thanks a lot

Regards

Max

> rgds
> -daniel, looking for that brown paper bag
> 
> ----------
> [PATCH] usbtouchscreen: fix eGalax HID ignoring
> 
> Fix the eGalax/EETI HID device ignoring by adding a match for the
> protocol too. This is what the marco USB_DEVICE_HID_CLASS() was
> supposed to do anyways.
> 
> Devices confirmed to be real HID have the class set to HID and the
> protocol set to 'mouse'.  Some have HID class but protocol set to
> 'none'. Those are not HID and should be driven by usbtouchscreen.
> 
> Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
> 
> diff --git a/drivers/input/touchscreen/usbtouchscreen.c
> b/drivers/input/touchscreen/usbtouchscreen.c index 5080b26..b383625
> 100644 --- a/drivers/input/touchscreen/usbtouchscreen.c
> +++ b/drivers/input/touchscreen/usbtouchscreen.c
> @@ -118,6 +118,7 @@ enum {
>  
>  #define USB_DEVICE_HID_CLASS(vend, prod) \
>  	.match_flags = USB_DEVICE_ID_MATCH_INT_CLASS \
> +		| USB_DEVICE_ID_MATCH_INT_PROTOCOL \
>  		| USB_DEVICE_ID_MATCH_DEVICE, \
>  	.idVendor = (vend), \
>  	.idProduct = (prod), \
> 
> 
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2009-02-09 22:46 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-01-25 22:49 support of touchscreen reported as eGalax but is not working Max Weninger
2009-01-26 10:46 ` Niels de Vos
2009-01-26 11:49   ` Max Weninger
2009-01-26 12:13     ` Niels de Vos
2009-01-27  0:38       ` Max Weninger
2009-01-27  0:48         ` Max Weninger
2009-01-27  1:05           ` SOLVED " Max Weninger
2009-01-30 23:18             ` Andrew Morton
2009-01-31 22:09               ` Max Weninger
2009-02-03  6:59                 ` Andrew Morton
2009-02-03 23:44                   ` Daniel Ritz
2009-02-04 21:59                     ` Max Weninger
2009-02-08 16:01                       ` Daniel Ritz
2009-02-09 22:46                         ` REALLY " Max Weninger
2009-02-02 13:39               ` Niels de Vos
2009-02-02 22:42                 ` Max Weninger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).