Most recent kernel where this bug did not occur:2.6.15-r7 Distribution: Gentoo 2005.0 upgraded to 2006.1 Hardware Environment: AMD 64 3500+ Software Environment:Portage 2.1.1-r1 (default-linux/amd64/2005.0, gcc-4.1.1, glibc-2.4-r3, 2.6.17-gentoo-r8 x86_64) Problem Description: I am running a Gentoo Linux distribution and have successfully used the Wacom Volito2 tablet upto and including the 2.6.15-r7 kernel by following the steps at http://forums.gentoo.org/viewtopic-p-2478951.html#2478951. After upgrading to successive kernels (2.6.16-r7, 2.6.17-r4 and currently 2.6.17-r8), the tablet does not work. In all cases, I have copied my kernel config and have the following options set in the kernel config file: CONFIG_USB_WACOM=m CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB_ARCH_HAS_OHCI=y CONFIG_USB_ARCH_HAS_EHCI=y CONFIG_USB=m CONFIG_USB_EHCI_HCD=m CONFIG_USB_OHCI_HCD=m CONFIG_USB_HID=m CONFIG_USB_HIDINPUT=y CONFIG_USB_SERIAL=m Reproducible: Always Steps to Reproduce: When I run kernel 2.6.15-r7, dmesg produces: usb 3-2: new low speed USB device using uhci_hcd and address 2 input Wacom Volito2 4x5 as /class/input/input2 wacdump /dev/input/wacom also works ok. When I run kernel 2.6.17-r8, dmesg produces: usb 3-2: new low speed USB device using uhci_hcd and address 2 usb 3-2: configuration #1 chosen from 1 choice input Wacom Volito2 4x5 as /class/input/input2 wacdump /dev/input/wacom does not work. Expected Results: When wacdump is working (under the 2.6.15 kernel, I invoke wacdump with wacdump /dev/input/wacom and get: MODEL=Wacom Volito2 4x5 ROM=2.0-0 CLS=USB VNDR=Wacom DEV=Volito2 SUB=CTF-420-U TOOLTYPE=PEN IN_PROX=in BUTTON=+00000 (+00000 .. +00000) POS_X=+04157 (+00000 .. +05104) POS_Y=+01572 (+00000 .. +03712) DISTANCE=+00000 (+00000 .. +00032) PRESSURE=+00000 (+00000 .. +00511) RELWHEEL=+00000 (-00001 .. +00001) LEFT= MIDDLE= RIGHT= EXTRA= SIDE= TOUCH= STYLUS= STYLUS2= BT0= BT1= BT2= BT3= BT4= BT5= BT6= BT7= BT8= BT9= BT10= BT11= BT12= BT13= BT14= BT15= BT16= BT17= BT18= BT19= BT20= BT21= BT22= BT23= When I invoke the same command under the later kernels, I get: MODEL=Wacom Volito2 4x5 ROM=2.0-0 CLS=USB VNDR=Wacom DEV=Volito2 SUB=CTF-420-U TOOLTYPE=NONE IN_PROX=out BUTTON=+00000 (+00000 .. +00000) POS_X=+00000 (+00000 .. +05104) POS_Y=+00000 (+00000 .. +03712) DISTANCE=+00000 (+00000 .. +00032) PRESSURE=+00000 (+00000 .. +00511) RELWHEEL=+00000 (-00001 .. +00001) LEFT= MIDDLE= RIGHT= EXTRA= SIDE= TOUCH= STYLUS= STYLUS2= BT0= BT1= BT2= BT3= BT4= BT5= BT6= BT7= BT8= BT9= BT10= BT11= BT12= BT13= BT14= BT15= BT16= BT17= BT18= BT19= BT20= BT21= BT22= BT23= Note: the pen is not recognised and there is no co-ordinate information. Here is ls -l /dev/input (under 2.6.18-r1): crw------- 1 root root 13, 64 Oct 21 12:15 event0 crw------- 1 root root 13, 65 Oct 21 12:15 event1 crw-rw---- 1 root root 13, 66 Oct 21 12:21 event2 crw-r--r-- 1 root root 13, 63 Oct 21 12:15 mice crw-r--r-- 1 root root 13, 32 Oct 21 12:15 mouse0 crw-r--r-- 1 root root 13, 33 Oct 21 12:21 mouse1 lrwxrwxrwx 1 root root 6 Oct 21 12:21 wacom -> event2 And here is cat /proc/bus/input/devices (under 2.6.18-r1): I: Bus=0011 Vendor=0001 Product=0001 Version=ab41 N: Name="AT Translated Set 2 keyboard" P: Phys=isa0060/serio0/input0 S: Sysfs=/class/input/input0 H: Handlers=kbd event0 B: EV=120013 B: KEY=402000000 3802078f840d001 feffffdfffefffff fffffffffffffffe B: MSC=10 B: LED=7 I: Bus=0011 Vendor=0002 Product=0005 Version=0000 N: Name="ImPS/2 Generic Wheel Mouse" P: Phys=isa0060/serio1/input0 S: Sysfs=/class/input/input1 H: Handlers=mouse0 event1 B: EV=7 B: KEY=70000 0 0 0 0 B: REL=103 I: Bus=0003 Vendor=056a Product=0062 Version=0200 N: Name="Wacom Volito2 4x5" P: Phys= S: Sysfs=/class/input/input2 H: Handlers=mouse1 event2 B: EV=f B: KEY=1c43 70000 0 0 0 0 B: REL=100 B: ABS=10003000003 Searching the Gentoo forums, I have discovered that there is a workaround which consists of copying the following two files from the /usr/portage/distfiles/linuxwacom-0.7.4-3 to /usr/src/linux/drivers/usb/input and recompiling the modules: hid-core.c wacom.c I have put the original versions (which don't work) at the following link with .old extensions and the files which do work with the original .c extension http://homepage.ntlworld.com/alan.edwards793/Linux/ Here is my lsusb output on the currently running 2.6.17-r8 kernel: # lsusb -v Bus 005 Device 002: ID 0424:20fc Standard Microsystems Corp. 6-in-1 Card Reader Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0424 Standard Microsystems Corp. idProduct 0x20fc 6-in-1 Card Reader bcdDevice 1.25 iManufacturer 1 SMSC iProduct 2 USB 2 Flash Media Device iSerial 3 0301297000E5 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 39 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 MaxPower 96mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk (Zip) iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 UNRECOGNIZED: 07 21 07 e8 03 fe ff Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 bNumConfigurations 1 Bus 005 Device 001: ID 0000:0000 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 1 Single TT bMaxPacketSize0 64 idVendor 0x0000 idProduct 0x0000 bcdDevice 2.06 iManufacturer 3 Linux 2.6.17-gentoo-r8 ehci_hcd iProduct 2 EHCI Host Controller iSerial 1 0000:00:10.4 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 12 Hub Descriptor: bLength 11 bDescriptorType 41 nNbrPorts 8 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection TT think time 8 FS bits bPwrOn2PwrGood 10 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 0x0a PortPwrCtrlMask 0x00 0x00 Hub Port Status: Port 1: 0000.0100 power Port 2: 0000.0503 highspeed power enable connect Port 3: 0000.0100 power Port 4: 0000.0100 power Port 5: 0000.0000 Port 6: 0000.0100 power Port 7: 0000.0100 power Port 8: 0000.0100 power Bus 004 Device 001: ID 0000:0000 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 Full speed hub bMaxPacketSize0 64 idVendor 0x0000 idProduct 0x0000 bcdDevice 2.06 iManufacturer 3 Linux 2.6.17-gentoo-r8 uhci_hcd iProduct 2 UHCI Host Controller iSerial 1 0000:00:10.3 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 255 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 2 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection bPwrOn2PwrGood 1 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0x0a Hub Port Status: Port 1: 0000.0300 lowspeed power Port 2: 0000.0300 lowspeed power Bus 003 Device 002: ID 056a:0062 Wacom Co., Ltd Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x056a Wacom Co., Ltd idProduct 0x0062 bcdDevice 2.00 iManufacturer 1 WACOM iProduct 2 CTF-420 V2.0-0 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 34 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 MaxPower 40mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Devices bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 2 Mouse iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.10 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 110 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 10 Bus 003 Device 001: ID 0000:0000 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 Full speed hub bMaxPacketSize0 64 idVendor 0x0000 idProduct 0x0000 bcdDevice 2.06 iManufacturer 3 Linux 2.6.17-gentoo-r8 uhci_hcd iProduct 2 UHCI Host Controller iSerial 1 0000:00:10.2 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 255 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 2 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection bPwrOn2PwrGood 1 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0x0a Hub Port Status: Port 1: 0000.0303 lowspeed power enable connect Port 2: 0000.0300 lowspeed power Bus 002 Device 001: ID 0000:0000 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 Full speed hub bMaxPacketSize0 64 idVendor 0x0000 idProduct 0x0000 bcdDevice 2.06 iManufacturer 3 Linux 2.6.17-gentoo-r8 uhci_hcd iProduct 2 UHCI Host Controller iSerial 1 0000:00:10.1 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 255 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 2 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection bPwrOn2PwrGood 1 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0x0a Hub Port Status: Port 1: 0000.0300 lowspeed power Port 2: 0000.0100 power Bus 001 Device 001: ID 0000:0000 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 Full speed hub bMaxPacketSize0 64 idVendor 0x0000 idProduct 0x0000 bcdDevice 2.06 iManufacturer 3 Linux 2.6.17-gentoo-r8 uhci_hcd iProduct 2 UHCI Host Controller iSerial 1 0000:00:10.0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 255 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 2 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection bPwrOn2PwrGood 1 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0x0a Hub Port Status: Port 1: 0000.0100 power Port 2: 0000.0100 power #
This appears to be a 2.6.16 regression Original report http://bugs.gentoo.org/150084 Gentoo do not modify the wacom driver
Bug corrected within kernel version 2.6.19-r5