From: Jason G. <kil...@gm...> - 2016-06-10 22:28:49
|
Zachary, Thanks for the listing. I've compared it to the driver and it looks like you probably want to have your definition of wacom_features_0x117 in wacom_wac.c use "MTTPC_B" as the final argument instead of "MTTPC": { "Wacom ISDv4 117", WACOM_PKGLEN_MTTPC, 26202, 16325, 255, 0, MTTPC_B }; Its difficult to say whether that change alone would be sufficient to fix your issue. Unload your modified driver and delete the compiled 2.6.30/wacom.ko to ensure it isn't accidentally loaded; recompile with the change above and then load the new wacom.ko to see if it works any better. Jason --- Now instead of four in the eights place / you’ve got three, ‘Cause you added one / (That is to say, eight) to the two, / But you can’t take seven from three, / So you look at the sixty-fours.... On 06/07/2016 12:53 PM, Funt, Zachary A. wrote: > Jason, > > I was able to unbind it and run lsusb again. It seems to list the report descriptors this time. Any help is appreciated. I'll get the usbmon data as soon as I can. Thanks. > > > Bus 001 Device 003: ID 056a:0117 Wacom Co., Ltd > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 2.01 > bDeviceClass 0 (Defined at Interface level) > bDeviceSubClass 0 > bDeviceProtocol 0 > bMaxPacketSize0 64 > idVendor 0x056a Wacom Co., Ltd > idProduct 0x0117 > bcdDevice 0.35 > iManufacturer 1 Wacom Co.,Ltd. > iProduct 2 MultiTouch Sensor > iSerial 5 > bNumConfigurations 1 > Configuration Descriptor: > bLength 9 > bDescriptorType 2 > wTotalLength 59 > bNumInterfaces 2 > bConfigurationValue 1 > iConfiguration 0 > bmAttributes 0xe0 > Self Powered > Remote Wakeup > MaxPower 12mA > 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 3 MultiTouch > HID Device Descriptor: > bLength 9 > bDescriptorType 33 > bcdHID 1.11 > bCountryCode 0 Not supported > bNumDescriptors 1 > bDescriptorType 34 Report > wDescriptorLength 588 > Report Descriptor: (length is 588) > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x04 ] 4 > Touch Screen > Item(Main ): Collection, data= [ 0x01 ] 1 > Application > Item(Global): Report ID, data= [ 0x0c ] 12 > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Main ): Input, data= [ 0x03 ] 3 > Constant Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x54 ] 84 > Contact Count > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x22 ] 34 > Finger > Item(Main ): Collection, data= [ 0x02 ] 2 > Logical > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Global): Report Size, data= [ 0x01 ] 1 > Item(Global): Logical Maximum, data= [ 0x01 ] 1 > Item(Local ): Usage, data= [ 0x42 ] 66 > Tip Switch > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Main ): Input, data= [ 0x03 ] 3 > Constant Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x47 ] 71 > Confidence > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Report Count, data= [ 0x05 ] 5 > Item(Main ): Input, data= [ 0x03 ] 3 > Constant Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x51 ] 81 > Contact ID > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Global): Unit, data= [ 0x11 ] 17 > System: SI Linear, Unit: Centimeter > Item(Global): Unit Exponent, data= [ 0x0e ] 14 > Unit Exponent: 14 > Item(Global): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Local ): Usage, data= [ 0x30 ] 48 > Direction-X > Item(Global): Logical Maximum, data= [ 0x10 0x2b ] 11024 > Item(Global): Physical Maximum, data= [ 0xc4 0x0a ] 2756 > Item(Main ): Input, data= [ 0x42 ] 66 > Data Variable Absolute No_Wrap Linear > Preferred_State Null_State Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x31 ] 49 > Direction-Y > Item(Global): Logical Maximum, data= [ 0x34 0x18 ] 6196 > Item(Global): Physical Maximum, data= [ 0x0d 0x06 ] 1549 > Item(Main ): Input, data= [ 0x42 ] 66 > Data Variable Absolute No_Wrap Linear > Preferred_State Null_State Non_Volatile Bitfield > Item(Global): Physical Maximum, data= [ 0x00 ] 0 > Item(Global): Unit, data= [ 0x00 ] 0 > System: None, Unit: (None) > Item(Global): Unit Exponent, data= [ 0x00 ] 0 > Unit Exponent: 0 > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x22 ] 34 > Finger > Item(Main ): Collection, data= [ 0x02 ] 2 > Logical > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x42 ] 66 > Tip Switch > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Global): Report Size, data= [ 0x01 ] 1 > Item(Global): Logical Maximum, data= [ 0x01 ] 1 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Main ): Input, data= [ 0x03 ] 3 > Constant Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x47 ] 71 > Confidence > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Report Count, data= [ 0x05 ] 5 > Item(Main ): Input, data= [ 0x03 ] 3 > Constant Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x51 ] 81 > Contact ID > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Global): Unit, data= [ 0x11 ] 17 > System: SI Linear, Unit: Centimeter > Item(Global): Unit Exponent, data= [ 0x0e ] 14 > Unit Exponent: 14 > Item(Global): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Local ): Usage, data= [ 0x30 ] 48 > Direction-X > Item(Global): Logical Maximum, data= [ 0x10 0x2b ] 11024 > Item(Global): Physical Maximum, data= [ 0xc4 0x0a ] 2756 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x31 ] 49 > Direction-Y > Item(Global): Logical Maximum, data= [ 0x34 0x18 ] 6196 > Item(Global): Physical Maximum, data= [ 0x0d 0x06 ] 1549 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Physical Maximum, data= [ 0x00 ] 0 > Item(Global): Unit, data= [ 0x00 ] 0 > System: None, Unit: (None) > Item(Global): Unit Exponent, data= [ 0x00 ] 0 > Unit Exponent: 0 > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x22 ] 34 > Finger > Item(Main ): Collection, data= [ 0x02 ] 2 > Logical > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x42 ] 66 > Tip Switch > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Global): Report Size, data= [ 0x01 ] 1 > Item(Global): Logical Maximum, data= [ 0x01 ] 1 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Main ): Input, data= [ 0x03 ] 3 > Constant Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x47 ] 71 > Confidence > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Report Count, data= [ 0x05 ] 5 > Item(Main ): Input, data= [ 0x03 ] 3 > Constant Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x51 ] 81 > Contact ID > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Global): Unit, data= [ 0x11 ] 17 > System: SI Linear, Unit: Centimeter > Item(Global): Unit Exponent, data= [ 0x0e ] 14 > Unit Exponent: 14 > Item(Global): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Local ): Usage, data= [ 0x30 ] 48 > Direction-X > Item(Global): Logical Maximum, data= [ 0x10 0x2b ] 11024 > Item(Global): Physical Maximum, data= [ 0xc4 0x0a ] 2756 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x31 ] 49 > Direction-Y > Item(Global): Logical Maximum, data= [ 0x34 0x18 ] 6196 > Item(Global): Physical Maximum, data= [ 0x0d 0x06 ] 1549 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Physical Maximum, data= [ 0x00 ] 0 > Item(Global): Unit, data= [ 0x00 ] 0 > System: None, Unit: (None) > Item(Global): Unit Exponent, data= [ 0x00 ] 0 > Unit Exponent: 0 > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x22 ] 34 > Finger > Item(Main ): Collection, data= [ 0x02 ] 2 > Logical > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x42 ] 66 > Tip Switch > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Global): Report Size, data= [ 0x01 ] 1 > Item(Global): Logical Maximum, data= [ 0x01 ] 1 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Main ): Input, data= [ 0x03 ] 3 > Constant Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x47 ] 71 > Confidence > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Report Count, data= [ 0x05 ] 5 > Item(Main ): Input, data= [ 0x03 ] 3 > Constant Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x51 ] 81 > Contact ID > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Global): Unit, data= [ 0x11 ] 17 > System: SI Linear, Unit: Centimeter > Item(Global): Unit Exponent, data= [ 0x0e ] 14 > Unit Exponent: 14 > Item(Global): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Local ): Usage, data= [ 0x30 ] 48 > Direction-X > Item(Global): Logical Maximum, data= [ 0x10 0x2b ] 11024 > Item(Global): Physical Maximum, data= [ 0xc4 0x0a ] 2756 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x31 ] 49 > Direction-Y > Item(Global): Logical Maximum, data= [ 0x34 0x18 ] 6196 > Item(Global): Physical Maximum, data= [ 0x0d 0x06 ] 1549 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Physical Maximum, data= [ 0x00 ] 0 > Item(Global): Unit, data= [ 0x00 ] 0 > System: None, Unit: (None) > Item(Global): Unit Exponent, data= [ 0x00 ] 0 > Unit Exponent: 0 > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x22 ] 34 > Finger > Item(Main ): Collection, data= [ 0x02 ] 2 > Logical > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x42 ] 66 > Tip Switch > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Global): Report Size, data= [ 0x01 ] 1 > Item(Global): Logical Maximum, data= [ 0x01 ] 1 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Main ): Input, data= [ 0x03 ] 3 > Constant Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x47 ] 71 > Confidence > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Report Count, data= [ 0x05 ] 5 > Item(Main ): Input, data= [ 0x03 ] 3 > Constant Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x51 ] 81 > Contact ID > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Global): Unit, data= [ 0x11 ] 17 > System: SI Linear, Unit: Centimeter > Item(Global): Unit Exponent, data= [ 0x0e ] 14 > Unit Exponent: 14 > Item(Global): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Local ): Usage, data= [ 0x30 ] 48 > Direction-X > Item(Global): Logical Maximum, data= [ 0x10 0x2b ] 11024 > Item(Global): Physical Maximum, data= [ 0xc4 0x0a ] 2756 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x31 ] 49 > Direction-Y > Item(Global): Logical Maximum, data= [ 0x34 0x18 ] 6196 > Item(Global): Physical Maximum, data= [ 0x0d 0x06 ] 1549 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Physical Maximum, data= [ 0x00 ] 0 > Item(Global): Unit, data= [ 0x00 ] 0 > System: None, Unit: (None) > Item(Global): Unit Exponent, data= [ 0x00 ] 0 > Unit Exponent: 0 > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Global): Logical Maximum, data= [ 0xff 0xff 0x00 0x00 ] 65535 > Item(Local ): Usage, data= [ 0x56 ] 86 > (null) > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x55 ] 85 > Maximum Contact Number > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Report ID, data= [ 0x0a ] 10 > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 > (null) > Item(Local ): Usage, data= [ 0xc5 ] 197 > (null) > Item(Global): Report Count, data= [ 0x00 0x01 ] 256 > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x0e ] 14 > (null) > Item(Main ): Collection, data= [ 0x01 ] 1 > Application > Item(Global): Report ID, data= [ 0x0e ] 14 > Item(Local ): Usage, data= [ 0x23 ] 35 > (null) > Item(Main ): Collection, data= [ 0x02 ] 2 > Logical > Item(Local ): Usage, data= [ 0x52 ] 82 > Input Mode > Item(Local ): Usage, data= [ 0x53 ] 83 > Device Index > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0x0a ] 10 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Global): Report Count, data= [ 0x02 ] 2 > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Main ): End Collection, data=none > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x09 0xff ] 65289 > (null) > Item(Local ): Usage, data= [ 0x11 ] 17 > (null) > Item(Main ): Collection, data= [ 0x01 ] 1 > Application > Item(Global): Report ID, data= [ 0x03 ] 3 > Item(Main ): Collection, data= [ 0x02 ] 2 > Logical > Item(Local ): Usage, data= [ 0x00 ] 0 > (null) > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Count, data= [ 0x27 0x00 ] 39 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Main ): End Collection, data=none > Item(Global): Report ID, data= [ 0x03 ] 3 > Item(Local ): Usage, data= [ 0x00 ] 0 > (null) > Item(Global): Report Count, data= [ 0x03 ] 3 > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Report ID, data= [ 0x09 ] 9 > Item(Local ): Usage, data= [ 0x00 ] 0 > (null) > Item(Global): Report Count, data= [ 0x3f ] 63 > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Report ID, data= [ 0x02 ] 2 > Item(Local ): Usage, data= [ 0x00 ] 0 > (null) > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Report ID, data= [ 0x04 ] 4 > Item(Local ): Usage, data= [ 0x00 ] 0 > (null) > Item(Global): Report Count, data= [ 0x0f ] 15 > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Report ID, data= [ 0x07 ] 7 > Item(Local ): Usage, data= [ 0x00 ] 0 > (null) > Item(Global): Report Count, data= [ 0x07 0x02 ] 519 > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Report ID, data= [ 0x08 ] 8 > Item(Local ): Usage, data= [ 0x00 ] 0 > (null) > Item(Global): Report Count, data= [ 0x87 0x00 ] 135 > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Report ID, data= [ 0x0d ] 13 > Item(Local ): Usage, data= [ 0x00 ] 0 > (null) > Item(Global): Report Count, data= [ 0x03 ] 3 > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Local ): Usage, data= [ 0x02 ] 2 > Mouse > Item(Main ): Collection, data= [ 0x01 ] 1 > Application > Item(Global): Report ID, data= [ 0x01 ] 1 > Item(Local ): Usage, data= [ 0x01 ] 1 > Pointer > Item(Main ): Collection, data= [ 0x00 ] 0 > Physical > Item(Global): Usage Page, data= [ 0x09 ] 9 > Buttons > Item(Local ): Usage Minimum, data= [ 0x01 ] 1 > Button 1 (Primary) > Item(Local ): Usage Maximum, data= [ 0x02 ] 2 > Button 2 (Secondary) > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0x01 ] 1 > Item(Global): Report Count, data= [ 0x02 ] 2 > Item(Global): Report Size, data= [ 0x01 ] 1 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Global): Report Size, data= [ 0x06 ] 6 > Item(Main ): Input, data= [ 0x03 ] 3 > Constant Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Local ): Usage, data= [ 0x30 ] 48 > Direction-X > Item(Local ): Usage, data= [ 0x31 ] 49 > Direction-Y > Item(Global): Logical Maximum, data= [ 0xff 0x7f ] 32767 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Report Count, data= [ 0x02 ] 2 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Main ): End Collection, data=none > Item(Main ): End Collection, data=none > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 3 > Transfer Type Interrupt > Synch Type None > Usage Type Data > wMaxPacketSize 0x0040 1x 64 bytes > bInterval 2 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 1 > bAlternateSetting 0 > bNumEndpoints 1 > bInterfaceClass 3 Human Interface Device > bInterfaceSubClass 0 No Subclass > bInterfaceProtocol 0 None > iInterface 4 Pen > HID Device Descriptor: > bLength 9 > bDescriptorType 33 > bcdHID 1.11 > bCountryCode 0 Not supported > bNumDescriptors 1 > bDescriptorType 34 Report > wDescriptorLength 127 > Report Descriptors: > ** UNAVAILABLE ** > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x83 EP 3 IN > bmAttributes 3 > Transfer Type Interrupt > Synch Type None > Usage Type Data > wMaxPacketSize 0x0040 1x 64 bytes > bInterval 2 > Binary Object Store Descriptor: > bLength 5 > bDescriptorType 15 > wTotalLength 33 > bNumDeviceCaps 1 > ** UNRECOGNIZED: 1c 10 05 00 df 60 dd d8 89 45 c7 4c 9c d2 65 9d 9e 64 8a 9f 00 00 03 06 48 00 04 00 > Device Status: 0x0000 > (Bus Powered) > > Zachary Funt > Force Projection Sector/KIT > 240-228-6788 (office) > 240-381-9031 (cell) > > KIT Hotline: x89999 > > > -----Original Message----- > From: Jason Gerecke [mailto:kil...@gm...] > Sent: Monday, June 06, 2016 6:36 PM > To: Funt, Zachary A.; lin...@li... > Subject: Re: [Linuxwacom-discuss] Support for Panasonic CF-C2CCAZXCM Touchscreen > > Zachary, > > Could you please run lsusb again as root so that the report descriptors can be retrieved? The device might be a type other than "MTTPC" (for example, "MTTPC_B") and the descriptor would give us a good idea. > > Additionally, it might be useful if you could capture some USB traffic from the device for us to analyze. If you can, after freshly rebooting (so the device works properly) follow the instructions at [1] to record the events and then touch the screen three or four times so that I can see if there's any sort of difference from the first touch and later touches. > > [1]: https://www.kernel.org/doc/Documentation/usb/usbmon.txt > > Jason > --- > Now instead of four in the eights place / you've got three, 'Cause you added one / (That is to say, eight) to the two, / But you can't take seven from three, / So you look at the sixty-fours.... > > On 06/06/2016 11:12 AM, Funt, Zachary A. wrote: >> Hello, >> >> >> >> I am trying to get support for a touchscreen included in a Panasonic >> CF-C2 (CF-C2CCAZXCM). After some research and the changes below, the >> initial touch seems to work as expected. However, subsequent touches >> don't seem to release the left mouse click. Is this expected behavior? >> Have I missed any changes below that should be made to add a new device? >> >> >> >> >> >> >> >> The output of lsusb -vvv shows the following information. >> >> >> >> Bus 002 Device 003: ID 056a:0117 Wacom Co., Ltd >> >> Device Descriptor: >> >> bLength 18 >> >> bDescriptorType 1 >> >> bcdUSB 2.01 >> >> bDeviceClass 0 (Defined at Interface level) >> >> bDeviceSubClass 0 >> >> bDeviceProtocol 0 >> >> bMaxPacketSize0 64 >> >> idVendor 0x056a Wacom Co., Ltd >> >> idProduct 0x0117 >> >> bcdDevice 0.35 >> >> iManufacturer 1 Wacom Co.,Ltd. >> >> iProduct 2 MultiTouch Sensor >> >> iSerial 5 >> >> bNumConfigurations 1 >> >> Configuration Descriptor: >> >> bLength 9 >> >> bDescriptorType 2 >> >> wTotalLength 59 >> >> bNumInterfaces 2 >> >> bConfigurationValue 1 >> >> iConfiguration 0 >> >> bmAttributes 0xe0 >> >> Self Powered >> >> Remote Wakeup >> >> MaxPower 12mA >> >> 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 3 MultiTouch >> >> HID Device Descriptor: >> >> bLength 9 >> >> bDescriptorType 33 >> >> bcdHID 1.11 >> >> bCountryCode 0 Not supported >> >> bNumDescriptors 1 >> >> bDescriptorType 34 Report >> >> wDescriptorLength 588 >> >> 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 0x0040 1x 64 bytes >> >> bInterval 2 >> >> Interface Descriptor: >> >> bLength 9 >> >> bDescriptorType 4 >> >> bInterfaceNumber 1 >> >> bAlternateSetting 0 >> >> bNumEndpoints 1 >> >> bInterfaceClass 3 Human Interface Device >> >> bInterfaceSubClass 0 No Subclass >> >> bInterfaceProtocol 0 None >> >> iInterface 4 Pen >> >> HID Device Descriptor: >> >> bLength 9 >> >> bDescriptorType 33 >> >> bcdHID 1.11 >> >> bCountryCode 0 Not supported >> >> bNumDescriptors 1 >> >> bDescriptorType 34 Report >> >> wDescriptorLength 127 >> >> Report Descriptors: >> >> ** UNAVAILABLE ** >> >> Endpoint Descriptor: >> >> bLength 7 >> >> bDescriptorType 5 >> >> bEndpointAddress 0x83 EP 3 IN >> >> bmAttributes 3 >> >> Transfer Type Interrupt >> >> Synch Type None >> >> Usage Type Data >> >> wMaxPacketSize 0x0040 1x 64 bytes >> >> bInterval 2 >> >> Device Status: 0x0000 >> >> (Bus Powered) >> >> >> >> >> >> >> >> I've downloaded the input-wacom-0.31.0.tar.bz2 package, extracted, >> modified 2.6.30/wacom_wac.c (uname -r is 2.6.32-573.8.1.el6.x86_64), >> and added the following prior to compiling and loading. >> >> >> >> @2154 >> >> static const struct wacom_features wacom_features_0x117 = >> >> { "Wacom ISDv4 117", WACOM_PKGLEN_MTTPC, 26202, 16325, >> 255, 0, MTTPC }; >> >> @2292 >> >> { USB_DEVICE_WACOM(0x117) }, >> >> >> >> >> >> >> >> I've also downloaded xf86-input-wacom-0.33.0.tar.bz2, extracted, >> modifed the following before compiling and loading. >> >> >> >> src/wcmUSB.c@307 >> >> { WACOM_VENDOR_ID, 0x117,100000, 100000, &usbTabletPC, >> "TabletPC 0x117" }, >> >> src/wcmValidateDevice.c@286 >> >> case 0x117: /* TPC with 1FGT */ >> >> >> >> >> >> I've also created a /usr/share/X11/xorg.conf.d/50-wacom.conf as >> explained in the following refrence. >> >> >> >> http://askubuntu.com/questions/484226/toughbook-cf-c2-touch-screen-not >> -detected >> >> >> >> Section "InputClass" >> >> Identifier "Wacom touch options" >> >> MatchDriver "wacom" >> >> MatchProduct "Finger" >> >> >> >> Option "Gesture" "off" >> >> >> >> Option "TopX" "80" >> >> Option "TopY" "-111" >> >> Option "BottomX" "11067" >> >> Option "BottomY" "6170" >> >> EndSection >> |