NetBSD Problem Report #42570

From ryo_on@yk.rim.or.jp  Sun Jan  3 00:17:52 2010
Return-Path: <ryo_on@yk.rim.or.jp>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id D4B1E63B844
	for <gnats-bugs@gnats.netbsd.org>; Sun,  3 Jan 2010 00:17:52 +0000 (UTC)
Message-Id: <20100103001752.6403563B128@mail.netbsd.org>
Date: Sun,  3 Jan 2010 00:17:52 +0000 (UTC)
From: ryo_on@yk.rim.or.jp
Reply-To: ryo_on@yk.rim.or.jp
To: gnats-bugs@gnats.NetBSD.org
Subject: Wacom's Graphire USB tablet does not be distinguished from Graphire3 etc.
X-Send-Pr-Version: 3.95

>Number:         42570
>Category:       kern
>Synopsis:       Wacom's Graphire USB tablet does not be distinguished from Graphire3 etc.
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jan 03 00:20:00 +0000 2010
>Closed-Date:    Wed Jul 20 19:34:34 +0000 2011
>Last-Modified:  Wed Jul 20 19:34:34 +0000 2011
>Originator:     Ryo ONODERA
>Release:        NetBSD 5.99.23
>Organization:

>Environment:


System: NetBSD hydrogen.elements.tetera.org 5.99.23 NetBSD 5.99.23 (BRIGHTGIRL5) #2: Sun Jan 3 08:31:16 JST 2010 root@hydrogen.elements.tetera.org:/usr/obj/sys/arch/i386/compile/BRIGHTGIRL5 i386
Architecture: i386
Machine: i386
>Description:
Wacom's Graphire USB tablet and other Graphire series (for example
Graphire3) have same report descriptor.

With this patches and xsrc/42569, Graphire USB tablet is enabled,
and stylus and eraser are works properly with pkgsrc/graphics/gimp
including tip pressure support.

But usbtablet driver of xsrc/42569 probably does not support "cursor" (mouse).

This PR is applied, kern/42351 will be closed (duplicated).

>How-To-Repeat:

>Fix:
--- uhidev.c.orig	2010-01-03 06:27:08.000000000 +0900
+++ uhidev.c	2010-01-03 08:42:42.000000000 +0900
@@ -189,11 +189,8 @@ USB_ATTACH(uhidev)

 		/* The report descriptor for the Wacom Graphire is broken. */
 		switch (uaa->product) {
-		case USB_PRODUCT_WACOM_GRAPHIRE:
-			size = sizeof uhid_graphire_report_descr;
-			descptr = uhid_graphire_report_descr;
-			break;

+		case USB_PRODUCT_WACOM_GRAPHIRE:
 		case USB_PRODUCT_WACOM_GRAPHIRE3_4X5:
 		case USB_PRODUCT_WACOM_GRAPHIRE3_6X8:
 		case USB_PRODUCT_WACOM_GRAPHIRE4_4X5: /* The 6x8 too? */

--- ugraphire_rdesc.h.orig	2010-01-03 06:34:33.000000000 +0900
+++ ugraphire_rdesc.h.new	2010-01-03 09:14:53.000000000 +0900
@@ -25,72 +25,7 @@
  * SUCH DAMAGE.
  */

-static const uByte uhid_graphire_report_descr[] = {
-    0x05, 0x0d,                    /*  USAGE_PAGE (Digitizers)		*/
-    0x09, 0x01,                    /*  USAGE (Digitizer)		*/
-    0xa1, 0x01,                    /*  COLLECTION (Application)		*/
-    0x85, 0x02,                    /*    REPORT_ID (2)			*/
-    0x05, 0x0d,                    /*    USAGE_PAGE (Digitizers)	*/
-    0x09, 0x01,                    /*    USAGE (Digitizer)		*/
-    0xa1, 0x00,                    /*    COLLECTION (Physical)		*/
-    0x15, 0x00,                    /*      LOGICAL_MINIMUM (0)		*/
-    0x25, 0x01,                    /*      LOGICAL_MAXIMUM (1)		*/
-    0x09, 0x33,                    /*      USAGE (Touch)		*/
-    0x95, 0x01,                    /*      REPORT_COUNT (1)		*/
-    0x75, 0x01,                    /*      REPORT_SIZE (1)		*/
-    0x81, 0x02,                    /*      INPUT (Data,Var,Abs)		*/
-    0x09, 0x44,                    /*      USAGE (Barrel Switch)	*/
-    0x95, 0x02,                    /*      REPORT_COUNT (2)		*/
-    0x75, 0x01,                    /*      REPORT_SIZE (1)		*/
-    0x81, 0x02,                    /*      INPUT (Data,Var,Abs)		*/
-    0x09, 0x00,                    /*      USAGE (Undefined)		*/
-    0x95, 0x02,                    /*      REPORT_COUNT (2)		*/
-    0x75, 0x01,                    /*      REPORT_SIZE (1)		*/
-    0x81, 0x03,                    /*      INPUT (Cnst,Var,Abs)		*/
-    0x09, 0x3c,                    /*      USAGE (Invert)		*/
-    0x95, 0x01,                    /*      REPORT_COUNT (1)		*/
-    0x75, 0x01,                    /*      REPORT_SIZE (1)		*/
-    0x81, 0x02,                    /*      INPUT (Data,Var,Abs)		*/
-    0x09, 0x38,                    /*      USAGE (Transducer Index)	*/
-    0x95, 0x01,                    /*      REPORT_COUNT (1)		*/
-    0x75, 0x01,                    /*      REPORT_SIZE (1)		*/
-    0x81, 0x02,                    /*      INPUT (Data,Var,Abs)		*/
-    0x09, 0x32,                    /*      USAGE (In Range)		*/
-    0x95, 0x01,                    /*      REPORT_COUNT (1)		*/
-    0x75, 0x01,                    /*      REPORT_SIZE (1)		*/
-    0x81, 0x02,                    /*      INPUT (Data,Var,Abs)		*/
-    0x05, 0x01,                    /*      USAGE_PAGE (Generic Desktop)	*/
-    0x09, 0x30,                    /*      USAGE (X)			*/
-    0x15, 0x00,                    /*      LOGICAL_MINIMUM (0)		*/
-    0x26, 0xde, 0x27,              /*      LOGICAL_MAXIMUM (10206)	*/
-    0x95, 0x01,                    /*      REPORT_COUNT (1)		*/
-    0x75, 0x10,                    /*      REPORT_SIZE (16)		*/
-    0x81, 0x02,                    /*      INPUT (Data,Var,Abs)		*/
-    0x09, 0x31,                    /*      USAGE (Y)			*/
-    0x26, 0xfe, 0x1c,              /*      LOGICAL_MAXIMUM (7422)	*/
-    0x95, 0x01,                    /*      REPORT_COUNT (1)		*/
-    0x75, 0x10,                    /*      REPORT_SIZE (16)		*/
-    0x81, 0x02,                    /*      INPUT (Data,Var,Abs)		*/
-    0x05, 0x0d,                    /*      USAGE_PAGE (Digitizers)	*/
-    0x09, 0x30,                    /*      USAGE (Tip Pressure)		*/
-    0x26, 0xff, 0x01,              /*      LOGICAL_MAXIMUM (511)	*/
-    0x95, 0x01,                    /*      REPORT_COUNT (1)		*/
-    0x75, 0x10,                    /*      REPORT_SIZE (16)		*/
-    0x81, 0x02,                    /*      INPUT (Data,Var,Abs)		*/
-    0xc0,                          /*    END_COLLECTION			*/
-    0x05, 0x0d,                    /*    USAGE_PAGE (Digitizers)	*/
-    0x09, 0x00,                    /*    USAGE (Undefined)		*/
-    0x85, 0x02,                    /*    REPORT_ID (2)			*/
-    0x95, 0x01,                    /*    REPORT_COUNT (1)		*/
-    0xb1, 0x02,                    /*    FEATURE (Data,Var,Abs)		*/
-    0x09, 0x00,                    /*    USAGE (Undefined)		*/
-    0x85, 0x03,                    /*    REPORT_ID (3)			*/
-    0x95, 0x01,                    /*    REPORT_COUNT (1)		*/
-    0xb1, 0x02,                    /*    FEATURE (Data,Var,Abs)		*/
-    0xc0,                          /*  END_COLLECTION			*/
-};
-
-/* Tested with Graphire3 4x5 and 6x8, and Graphire4 4x5 */
+/* Tested with Graphire, and Graphire3 4x5 and 6x8, and Graphire4 4x5 */
 static const uByte uhid_graphire3_4x5_report_descr[] = {
     0x05, 0x01,                    /* USAGE_PAGE (Generic Desktop)	*/
     0x09, 0x02,                    /* USAGE (Mouse)			*/


>Release-Note:

>Audit-Trail:
From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: kern/42570: Wacom's Graphire USB tablet does not be
 distinguished from Graphire3 etc.
Date: Sat, 03 Jul 2010 12:46:28 +0900 (JST)

 Hi,

 Can anyone confirm this PR?

 I always uses patched kernel with Wacom's Graphire USB tablet.
 No problem is occured.

 Thank you.

 --
 Ryo ONODERA // ryo_on@yk.rim.or.jp
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3


From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: kern/42570: Wacom's Graphire USB tablet does not be
 distinguished from Graphire3 etc.
Date: Tue, 19 Jul 2011 22:32:08 +0900 (JST)

 Hi,

 I have this Graphire USB tablet, and it always works well with this patch.
 If all people have no time, I want to commit it.

 Thank you.

 --
 Ryo ONODERA // ryo_on@yk.rim.or.jp
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3


From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: kern/42570: Wacom's Graphire USB tablet does not be
 distinguished from Graphire3 etc.
Date: Tue, 19 Jul 2011 22:56:54 +0900 (JST)

 Hi,

 My explanation is not sufficient.

 The key is sending 0x2020 before using.
 The current descriptor is wrong, but with only stylus works.
 With 4D mouse, does not works.

 If NetBSD support fully Graphire, my description is needed.

 If someone has any question.
 Please tell me.

 Thank you.

 --
 Ryo ONODERA // ryo_on@yk.rim.or.jp
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3


From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
To: gnats-bugs@NetBSD.org
Cc: kern-bug-people@NetBSD.org, ryo_on@yk.rim.or.jp, tsutsui@ceres.dti.ne.jp
Subject: Re: kern/42570: Wacom's Graphire USB tablet does not bedistinguished
	 from Graphire3 etc.
Date: Tue, 19 Jul 2011 23:31:11 +0900

 >  My explanation is not sufficient.
 >  
 >  The key is sending 0x2020 before using.
 >  The current descriptor is wrong, but with only stylus works.
 >  With 4D mouse, does not works.
 >  
 >  If NetBSD support fully Graphire, my description is needed.

 Only stylus works (but not 4D mouse) with the current descriptor?
 Does 4D mouse work with the Graphire3's one?

 If so it's okay to apply your changes, but it might be better to leave
 the old descriptor by wrapping #if 0/#endif and note the above
 description.
 (0x0202 should be written to feature report ID 2 even on
  the original Graphire etc.)
 ---
 Izumi Tsutsui

From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org, tsutsui@ceres.dti.ne.jp
Cc: kern-bug-people@netbsd.org, gnats-admin@netbsd.org,
 netbsd-bugs@netbsd.org
Subject: Re: kern/42570: Wacom's Graphire USB tablet does not
 bedistinguished from Graphire3 etc.
Date: Wed, 20 Jul 2011 00:52:01 +0900 (JST)

 Hi,

 > From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
 > To: gnats-bugs@NetBSD.org
 > Cc: kern-bug-people@NetBSD.org, ryo_on@yk.rim.or.jp, tsutsui@ceres.dti.ne.jp
 > Subject: Re: kern/42570: Wacom's Graphire USB tablet does not bedistinguished
 > 	 from Graphire3 etc.
 > Date: Tue, 19 Jul 2011 23:31:11 +0900
 > 
 >  >  My explanation is not sufficient.
 >  >  
 >  >  The key is sending 0x2020 before using.
 >  >  The current descriptor is wrong, but with only stylus works.
 >  >  With 4D mouse, does not works.
 >  >  
 >  >  If NetBSD support fully Graphire, my description is needed.
 >  
 >  Only stylus works (but not 4D mouse) with the current descriptor?
 >  Does 4D mouse work with the Graphire3's one?
 >  
 >  If so it's okay to apply your changes, but it might be better to leave
 >  the old descriptor by wrapping #if 0/#endif and note the above
 >  description.
 >  (0x0202 should be written to feature report ID 2 even on
 >   the original Graphire etc.)

 Now, I cannot find my 4D mouse in my room, sorry.
 If I recall correctly, old descriptor doesn't support 4D mouse's buttons.

 Following is minimal patch for Graphire as stylus only tablet.

 I feel, at least, this patch should be committed.

 Thank you.

 Index: uhidev.c
 ===================================================================
 RCS file: /cvsroot/src/sys/dev/usb/uhidev.c,v
 retrieving revision 1.49
 diff -u -r1.49 uhidev.c
 --- uhidev.c	29 Jan 2011 14:20:18 -0000	1.49
 +++ uhidev.c	19 Jul 2011 15:47:46 -0000
 @@ -193,6 +193,12 @@
  		/* The report descriptor for the Wacom Graphire is broken. */
  		switch (uaa->product) {
  		case USB_PRODUCT_WACOM_GRAPHIRE:
 +			/*
 +			 * Graphire also needs 0x0202 like Graphire2.
 +			 */
 +			usbd_set_report(uaa->iface, UHID_FEATURE_REPORT, 2,
 +			    &reportbuf, sizeof reportbuf);
 +
  			size = sizeof uhid_graphire_report_descr;
  			descptr = uhid_graphire_report_descr;
  			break;

 --
 Ryo ONODERA // ryo_on@yk.rim.or.jp
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3


From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: kern/42570: Wacom's Graphire USB tablet does not
 bedistinguished from Graphire3 etc.
Date: Wed, 20 Jul 2011 05:30:47 +0900 (JST)

 Hi,

 From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>, Date: Tue, 19 Jul 2011 23:31:11 +0900

 >>  My explanation is not sufficient.
 >>  
 >>  The key is sending 0x2020 before using.
 >>  The current descriptor is wrong, but with only stylus works.
 >>  With 4D mouse, does not works.
 >>  
 >>  If NetBSD support fully Graphire, my description is needed.
 > 
 > Only stylus works (but not 4D mouse) with the current descriptor?

 Yes.

 > Does 4D mouse work with the Graphire3's one?

 Probably yes, but now I have no 4D mouse.

 > If so it's okay to apply your changes, but it might be better to leave
 > the old descriptor by wrapping #if 0/#endif and note the above
 > description.
 > (0x0202 should be written to feature report ID 2 even on
 >  the original Graphire etc.)

 How about the following commit log candidate and patch?

 === === === === ===
 * Graphire uses the descriptor as same as Graphire 3.
   This is confirmed by USB analysis on Windows.
   That is done with Wacom's official device driver and USB Snoopy.

 * Old rev. 1.1 descriptor supports stylus only, probably 4D mouse
   is not supported. Graphire 3's one probably supports 4D mouse.

 * Graphire also needs 0x0202 sending.
 === === === === ===

 Index: ugraphire_rdesc.h
 ===================================================================
 RCS file: /cvsroot/src/sys/dev/usb/ugraphire_rdesc.h,v
 retrieving revision 1.6
 diff -u -r1.6 ugraphire_rdesc.h
 --- ugraphire_rdesc.h	22 Jan 2007 19:48:57 -0000	1.6
 +++ ugraphire_rdesc.h	19 Jul 2011 20:21:28 -0000
 @@ -25,72 +25,13 @@
   * SUCH DAMAGE.
   */

 -static const uByte uhid_graphire_report_descr[] = {
 -    0x05, 0x0d,                    /*  USAGE_PAGE (Digitizers)		*/
 -    0x09, 0x01,                    /*  USAGE (Digitizer)		*/
 -    0xa1, 0x01,                    /*  COLLECTION (Application)		*/
 -    0x85, 0x02,                    /*    REPORT_ID (2)			*/
 -    0x05, 0x0d,                    /*    USAGE_PAGE (Digitizers)	*/
 -    0x09, 0x01,                    /*    USAGE (Digitizer)		*/
 -    0xa1, 0x00,                    /*    COLLECTION (Physical)		*/
 -    0x15, 0x00,                    /*      LOGICAL_MINIMUM (0)		*/
 -    0x25, 0x01,                    /*      LOGICAL_MAXIMUM (1)		*/
 -    0x09, 0x33,                    /*      USAGE (Touch)		*/
 -    0x95, 0x01,                    /*      REPORT_COUNT (1)		*/
 -    0x75, 0x01,                    /*      REPORT_SIZE (1)		*/
 -    0x81, 0x02,                    /*      INPUT (Data,Var,Abs)		*/
 -    0x09, 0x44,                    /*      USAGE (Barrel Switch)	*/
 -    0x95, 0x02,                    /*      REPORT_COUNT (2)		*/
 -    0x75, 0x01,                    /*      REPORT_SIZE (1)		*/
 -    0x81, 0x02,                    /*      INPUT (Data,Var,Abs)		*/
 -    0x09, 0x00,                    /*      USAGE (Undefined)		*/
 -    0x95, 0x02,                    /*      REPORT_COUNT (2)		*/
 -    0x75, 0x01,                    /*      REPORT_SIZE (1)		*/
 -    0x81, 0x03,                    /*      INPUT (Cnst,Var,Abs)		*/
 -    0x09, 0x3c,                    /*      USAGE (Invert)		*/
 -    0x95, 0x01,                    /*      REPORT_COUNT (1)		*/
 -    0x75, 0x01,                    /*      REPORT_SIZE (1)		*/
 -    0x81, 0x02,                    /*      INPUT (Data,Var,Abs)		*/
 -    0x09, 0x38,                    /*      USAGE (Transducer Index)	*/
 -    0x95, 0x01,                    /*      REPORT_COUNT (1)		*/
 -    0x75, 0x01,                    /*      REPORT_SIZE (1)		*/
 -    0x81, 0x02,                    /*      INPUT (Data,Var,Abs)		*/
 -    0x09, 0x32,                    /*      USAGE (In Range)		*/
 -    0x95, 0x01,                    /*      REPORT_COUNT (1)		*/
 -    0x75, 0x01,                    /*      REPORT_SIZE (1)		*/
 -    0x81, 0x02,                    /*      INPUT (Data,Var,Abs)		*/
 -    0x05, 0x01,                    /*      USAGE_PAGE (Generic Desktop)	*/
 -    0x09, 0x30,                    /*      USAGE (X)			*/
 -    0x15, 0x00,                    /*      LOGICAL_MINIMUM (0)		*/
 -    0x26, 0xde, 0x27,              /*      LOGICAL_MAXIMUM (10206)	*/
 -    0x95, 0x01,                    /*      REPORT_COUNT (1)		*/
 -    0x75, 0x10,                    /*      REPORT_SIZE (16)		*/
 -    0x81, 0x02,                    /*      INPUT (Data,Var,Abs)		*/
 -    0x09, 0x31,                    /*      USAGE (Y)			*/
 -    0x26, 0xfe, 0x1c,              /*      LOGICAL_MAXIMUM (7422)	*/
 -    0x95, 0x01,                    /*      REPORT_COUNT (1)		*/
 -    0x75, 0x10,                    /*      REPORT_SIZE (16)		*/
 -    0x81, 0x02,                    /*      INPUT (Data,Var,Abs)		*/
 -    0x05, 0x0d,                    /*      USAGE_PAGE (Digitizers)	*/
 -    0x09, 0x30,                    /*      USAGE (Tip Pressure)		*/
 -    0x26, 0xff, 0x01,              /*      LOGICAL_MAXIMUM (511)	*/
 -    0x95, 0x01,                    /*      REPORT_COUNT (1)		*/
 -    0x75, 0x10,                    /*      REPORT_SIZE (16)		*/
 -    0x81, 0x02,                    /*      INPUT (Data,Var,Abs)		*/
 -    0xc0,                          /*    END_COLLECTION			*/
 -    0x05, 0x0d,                    /*    USAGE_PAGE (Digitizers)	*/
 -    0x09, 0x00,                    /*    USAGE (Undefined)		*/
 -    0x85, 0x02,                    /*    REPORT_ID (2)			*/
 -    0x95, 0x01,                    /*    REPORT_COUNT (1)		*/
 -    0xb1, 0x02,                    /*    FEATURE (Data,Var,Abs)		*/
 -    0x09, 0x00,                    /*    USAGE (Undefined)		*/
 -    0x85, 0x03,                    /*    REPORT_ID (3)			*/
 -    0x95, 0x01,                    /*    REPORT_COUNT (1)		*/
 -    0xb1, 0x02,                    /*    FEATURE (Data,Var,Abs)		*/
 -    0xc0,                          /*  END_COLLECTION			*/
 -};
 -
 -/* Tested with Graphire3 4x5 and 6x8, and Graphire4 4x5 */
 +/* Tested with 
 + * - Graphire
 + * - Graphire2
 + * - Graphire3 4x5
 + * - Graphire3 6x8
 + * - Graphire4 4x5
 + */
  static const uByte uhid_graphire3_4x5_report_descr[] = {
      0x05, 0x01,                    /* USAGE_PAGE (Generic Desktop)	*/
      0x09, 0x02,                    /* USAGE (Mouse)			*/
 Index: uhidev.c
 ===================================================================
 RCS file: /cvsroot/src/sys/dev/usb/uhidev.c,v
 retrieving revision 1.49
 diff -u -r1.49 uhidev.c
 --- uhidev.c	29 Jan 2011 14:20:18 -0000	1.49
 +++ uhidev.c	19 Jul 2011 20:21:29 -0000
 @@ -193,10 +193,6 @@
  		/* The report descriptor for the Wacom Graphire is broken. */
  		switch (uaa->product) {
  		case USB_PRODUCT_WACOM_GRAPHIRE:
 -			size = sizeof uhid_graphire_report_descr;
 -			descptr = uhid_graphire_report_descr;
 -			break;
 -
  		case USB_PRODUCT_WACOM_GRAPHIRE2:
  		case USB_PRODUCT_WACOM_GRAPHIRE3_4X5:
  		case USB_PRODUCT_WACOM_GRAPHIRE3_6X8:

 --
 Ryo ONODERA // ryo_on@yk.rim.or.jp
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3


From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
To: gnats-bugs@NetBSD.org
Cc: kern-bug-people@NetBSD.org, ryo_on@yk.rim.or.jp, tsutsui@ceres.dti.ne.jp
Subject: Re: kern/42570: Wacom's Graphire USB tablet does notbedistinguished
	 from Graphire3 etc.
Date: Wed, 20 Jul 2011 19:09:16 +0900

 >  How about the following commit log candidate and patch?

 Looks fine. You've confirmed that Windows driver uses the same
 descriptor on both original Graphire and newer Graphire3,
 so it's an enough evidence to remove old one.

 Please go ahead. (and don't forget to note PR number in the log :-)
 ---
 Izumi Tsutsui

From: "Ryo ONODERA" <ryoon@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/42570 CVS commit: src/sys/dev/usb
Date: Wed, 20 Jul 2011 19:27:54 +0000

 Module Name:	src
 Committed By:	ryoon
 Date:		Wed Jul 20 19:27:54 UTC 2011

 Modified Files:
 	src/sys/dev/usb: ugraphire_rdesc.h uhidev.c

 Log Message:
 Fix PR kern/42570

 * Graphire uses the descriptor as same as Graphire 3.
   This is confirmed by USB analysis on Windows.
   That is done with Wacom's official device driver and USB Snoopy.

 * Old rev. 1.1 descriptor supports stylus only, probably 4D mouse
   is not supported. Graphire 3's one probably supports 4D mouse.

 * Graphire also needs 0x0202 sending.


 To generate a diff of this commit:
 cvs rdiff -u -r1.6 -r1.7 src/sys/dev/usb/ugraphire_rdesc.h
 cvs rdiff -u -r1.49 -r1.50 src/sys/dev/usb/uhidev.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->closed
State-Changed-By: ryoon@NetBSD.org
State-Changed-When: Wed, 20 Jul 2011 19:34:34 +0000
State-Changed-Why:
The patches committed.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.