On Fri, 2008-09-05 at 17:33 +0100, xavier hervy wrote: > Hi, > I am trying to make my touch screen work (Zalman HD160XT Plus) but I > could not find any suitable driver for it. > The Touch screen is an USB Device which consist of : > - a touch screen > - a knob > - few buttons in a front panel > - A remote control > lsusb -v > > Bus 004 Device 004: ID 15c2:0034 SoundGraph Inc. > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 1.10 > bDeviceClass 0 (Defined at Interface level) > bDeviceSubClass 0 > bDeviceProtocol 0 > bMaxPacketSize0 8 > idVendor 0x15c2 SoundGraph Inc. > idProduct 0x0034 > bcdDevice 0.12 > iManufacturer 0 > iProduct 0 > iSerial 0 > bNumConfigurations 1 > Configuration Descriptor: > bLength 9 > bDescriptorType 2 > wTotalLength 59 > bNumInterfaces 2 > bConfigurationValue 1 > iConfiguration 0 > bmAttributes 0x80 > (Bus Powered) > MaxPower 100mA > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 0 > bAlternateSetting 0 > bNumEndpoints 1 > bInterfaceClass 3 Human Interface Devices > bInterfaceSubClass 0 No Subclass > bInterfaceProtocol 2 Mouse > iInterface 0 > HID Device Descriptor: > bLength 9 > bDescriptorType 33 > bcdHID 1.01 > bCountryCode 0 Not supported > bNumDescriptors 1 > bDescriptorType 34 Report > wDescriptorLength 121 > 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 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 1 > bAlternateSetting 0 > bNumEndpoints 1 > bInterfaceClass 3 Human Interface Devices > bInterfaceSubClass 0 No Subclass > bInterfaceProtocol 0 None > iInterface 0 > HID Device Descriptor: > bLength 9 > bDescriptorType 33 > bcdHID 1.00 > bCountryCode 0 Not supported > bNumDescriptors 1 > bDescriptorType 34 Report > wDescriptorLength 50 > Report Descriptors: > ** UNAVAILABLE ** > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x82 EP 2 IN > bmAttributes 3 > Transfer Type Interrupt > Synch Type None > Usage Type Data > wMaxPacketSize 0x0008 1x 8 bytes > bInterval 10 > Device Status: 0x0000 > (Bus Powered) > > I am currently running Ubuntu 7.10 > Two input device are created when plugged: > lrwxrwxrwx 1 root root 9 2008-09-04 22:56 usb-15c2_0034-event-mouse > -> ../event1 > lrwxrwxrwx 1 root root 9 2008-09-04 22:56 usb-15c2_0034-mouse > -> ../mouse1 > > As well as /dev/usb/hiddev0 > > The input device does give me anything usefull but the hiddev0 device > provide me some infos: > A packet seems to be 64 Bytes (in opposite two 2 * 8 Bytes according to > lsusb) > The knob and buttons seem quiet easily to decode: > Example knob -: (the 5th bytes is equal to 1) > [03 00 cd ff 01 00 00 00] > [04 00 cd ff 00 00 00 00] > [04 00 cd ff 00 00 00 00] > [04 00 cd ff 00 00 00 00] > [04 00 cd ff 00 00 00 00] > [04 00 cd ff 00 00 00 00] > [04 00 cd ff 12 00 00 00] > [04 00 cd ff ee ff ff ff] > > Example knob -: (the 13th bytes is equal to 1) > [03 00 cd ff 00 00 00 00] > [04 00 cd ff 01 00 00 00] > [04 00 cd ff 00 00 00 00] > [04 00 cd ff 00 00 00 00] > [04 00 cd ff 00 00 00 00] > [04 00 cd ff 00 00 00 00] > [04 00 cd ff 12 00 00 00] > [04 00 cd ff ee ff ff ff] > For the front panel button the 29th bytes change (I suppose the remote > work the same way but I didn't try for a while) > > For the touch screen it self, I did not manage to understand fully what > is been sent but my packet look like > [03 00 cd ff dd ff ff ff ... > with the 5th byte value changing according to Y (or X) axe and the 6th, > 7th and 9th to FF > > Does anybody know a driver capable to support this protocol. > If not, I am willing to write the drive for it but I will need a lot of > help too as I never wrote any driver before. > How does it work when the same device is used like a keyboard and a > touch screen ? > > Why the wMaxPacketSize is set at 8 Bytes when the size seems to be 64 ? > > Where should I start ? > > Regards, > > Xavier Anybody is willing to give me a hint where to start ? Xavier -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html