Re: Support Touchscreen SoundGraph

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

 



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

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux