lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Mon, 9 Feb 2009 23:46:06 +0100
From:	Max Weninger <max.weninger@...il.com>
To:	Daniel Ritz <daniel.ritz-ml@...ssonline.ch>
Cc:	Andrew Morton <akpm@...ux-foundation.org>,
	linux-kernel@...r.kernel.org,
	Niels de Vos <niels.devos@...cor-nixdorf.com>,
	linux-usb@...r.kernel.org
Subject: Re: REALLY SOLVED support of touchscreen reported as eGalax but is
 not working

Hi

On Sun, 8 Feb 2009 17:01:57 +0100
Daniel Ritz <daniel.ritz-ml@...ssonline.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@...ssonline.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@...il.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@....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), \
> 
> 
> 

Download attachment "signature.asc" of type "application/pgp-signature" (198 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ