NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/42351: Wacom's USB Graphire does'nt work properly.



>Number:         42351
>Category:       kern
>Synopsis:       Wacom's USB Graphire does'nt work properly.
>Confidential:   yes
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Nov 20 07:30:05 +0000 2009
>Originator:     ryo_on%yk.rim.or.jp@localhost
>Release:        NetBSD 5.99.22
>Organization:
        
>Environment:
System: NetBSD hydrogen.elements.tetera.org 5.99.22 NetBSD 5.99.22 
(BRIGHTGIRL4) #13: Thu Nov 19 13:52:16 JST 2009 
root%hydrogen.elements.tetera.org@localhost:/usr/obj/sys/arch/i386/compile/BRIGHTGIRL4
 i386
Architecture: i386
Machine: i386
>Description:
Wacom's USB pen tablet Graphire ET-0405-U (in Japan, known as Favo) don't sent 
data to /dev/uhid0.
This phenomenon is confirmed with command,  hedump /dev/uhid0.
The usbtablet driver for X (modified version of  
pkgsrc/wip/openbsd-input-usbtablet) also not works.

>How-To-Repeat:
Connect your Graphire, and run hexdump /dev/uhid0.

>Fix:
Using following patch, `hexdump /dev/uhid0' generates data stream,
and Graphire is used as tablet (including tip-pressure support) on X.

--- uhidev.c.orig       2009-11-19 13:57:15.000000000 +0900
+++ uhidev.c    2009-11-19 13:57:02.000000000 +0900
@@ -190,6 +190,14 @@
                /* The report descriptor for the Wacom Graphire is broken. */
                switch (uaa->product) {
                case USB_PRODUCT_WACOM_GRAPHIRE:
+                       /*
+                        * The Graphire needs 0x0202 to be written to
+                        * feature report ID 2 before it'll start
+                        * returning digitizer data.
+                        */
+                       usbd_set_report(uaa->iface, UHID_FEATURE_REPORT, 2,
+                           &reportbuf, sizeof reportbuf);
+
                        size = sizeof uhid_graphire_report_descr;
                        descptr = uhid_graphire_report_descr;
                        break;




Home | Main Index | Thread Index | Old Index