Monday, October 25, 2010

My attempts to write a driver for my touchscreen

Output of lsusb
ishan@firebird:~/Desktop/nexio$ lsusb
Bus 001 Device 008: ID 17e9:401c Newnham Research 
Bus 001 Device 007: ID 15c2:3480 SoundGraph Inc. 

Output of lsusb -vvv -d 15c2:3480
ishan@firebird:~/Desktop/nexio$ sudo lsusb -vvv -d 15c2:3480

Bus 001 Device 007: ID 15c2:3480 SoundGraph Inc. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x15c2 SoundGraph Inc.
  idProduct          0x3480 
  bcdDevice           22.68
  iManufacturer           1 SoundGraph,Inc.---
  iProduct                2 SoundGraph.Inc
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           84
    bNumInterfaces          3
    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 Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      74
         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     0x0004  1x 4 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      65
         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
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      50
         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               1
Device Status:     0x0000
  (Bus Powered)
ishan@firebird:~/Desktop/nexio$ cd ~
ishan@firebird:~$ clear

ishan@firebird:~$ sudo lsusb -vvv -d 15c2:3480

Bus 001 Device 007: ID 15c2:3480 SoundGraph Inc. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x15c2 SoundGraph Inc.
  idProduct          0x3480 
  bcdDevice           22.68
  iManufacturer           1 SoundGraph,Inc.---
  iProduct                2 SoundGraph.Inc
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           84
    bNumInterfaces          3
    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 Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      74
         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     0x0004  1x 4 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      65
         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
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      50
         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               1
Device Status:     0x0000
  (Bus Powered)

Output of  cat /proc/bus/input/devices

I: Bus=0003 Vendor=15c2 Product=3480 Version=0111
N: Name="SoundGraph,Inc.--- SoundGraph.Inc"
P: Phys=usb-0000:00:02.1-2.2/input0
S: Sysfs=/devices/pci0000:00/0000:00:02.1/usb1/1-2/1-2.2/1-2.2:1.0/input/input8
U: Uniq=
H: Handlers=mouse1 event6 
B: EV=17
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=103
B: MSC=10

I: Bus=0003 Vendor=15c2 Product=3480 Version=0111
N: Name="SoundGraph,Inc.--- SoundGraph.Inc"
P: Phys=usb-0000:00:02.1-2.2/input1
S: Sysfs=/devices/pci0000:00/0000:00:02.1/usb1/1-2/1-2.2/1-2.2:1.1/input/input9
U: Uniq=
H: Handlers=kbd event7 
B: EV=120013
B: KEY=10000 7 ff9f207a c14057ff febeffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=1f

IMON REMOTE OUTPUT

Green On Button

(ON) f169f280 2324865157 C Ii:009:03 0 64 = 4102eda9 81140000 00000000 00000000 00000000 00000000 00000000 00000000
(OFF)f169f280 2324865157 C Ii:009:03 0 64 = 4102eda9 81140000 00000000 00000000 00000000 00000000 00000000 00000000

Red Off Button

f169f280 2383989569 C Ii:009:03 0 64 = 4102eda8 89140000 00000000 00000000 00000000 00000000 00000000 00000000
f169f280 2384077570 C Ii:009:03 0 64 = 4102edaa 89140000 00000000 00000000 00000000 00000000 00000000 00000000

Backspace

f16b4c00 2416237712 C Ii:009:02 0 8 = 00002a00 00000000
f16b4c00 2416365708 C Ii:009:02 0 8 = 00000000 00000000


Context

f16b4c00 3240431566 C Ii:009:02 0 8 = 00006500 00000000
f16b4c00 3240559563 C Ii:009:02 0 8 = 00000000 00000000



Up

f169f280 2891351935 C Ii:009:03 0 64 = 4102eda8 a5540000 00000000 00000000 00000000 00000000 00000000 00000000
f169f280 2891479935 C Ii:009:03 0 64 = 4102edaa a5540000 00000000 00000000 00000000 00000000 00000000 00000000

Down
f169f280 2910525421 C Ii:009:03 0 64 = 4102eda8 a9140000 00000000 00000000 00000000 00000000 00000000 00000000
f169f280 2910633419 C Ii:009:03 0 64 = 4102edaa a9140000 00000000 00000000 00000000 00000000 00000000 00000000


Left
f169f280 2923424078 C Ii:009:03 0 64 = 4102eda8 a5940000 00000000 00000000 00000000 00000000 00000000 00000000
f169f280 2923572071 C Ii:009:03 0 64 = 4102edaa a5940000 00000000 00000000 00000000 00000000 00000000 00000000


Right
f169f280 2938735662 C Ii:009:03 0 64 = 4102eda8 a5d40000 00000000 00000000 00000000 00000000 00000000 00000000
f169f280 2938843660 C Ii:009:03 0 64 = 4102edaa a5d40000 00000000 00000000 00000000 00000000 00000000 00000000


Enter
f16b4c00 2953287281 C Ii:009:02 0 8 = 00002800 00000000
f16b4c00 2953415277 C Ii:009:02 0 8 = 00000000 00000000


VOL +
f169f280 3007009826 C Ii:009:03 0 64 = 4102eda9 c5140000 00000000 00000000 00000000 00000000 00000000 00000000
f169f280 3007117826 C Ii:009:03 0 64 = 4102edab c5140000 00000000 00000000 00000000 00000000 00000000 00000000


VOL -
f169f280 3019136501 C Ii:009:03 0 64 = 4102eda9 a5140000 00000000 00000000 00000000 00000000 00000000 00000000
f169f280 3019264501 C Ii:009:03 0 64 = 4102edab a5140000 00000000 00000000 00000000 00000000 00000000 00000000


CH +
f169f280 3031549169 C Ii:009:03 0 64 = 4102eda9 c9140000 00000000 00000000 00000000 00000000 00000000 00000000
f169f280 3031697166 C Ii:009:03 0 64 = 4102edab c9140000 00000000 00000000 00000000 00000000 00000000 00000000


CH -
f169f280 3039634953 C Ii:009:03 0 64 = 4102eda9 e1140000 00000000 00000000 00000000 00000000 00000000 00000000
f169f280 3039782951 C Ii:009:03 0 64 = 4102edab e1140000 00000000 00000000 00000000 00000000 00000000 00000000


MUTE
f169f280 3048486714 C Ii:009:03 0 64 = 4102eda9 a9d40000 00000000 00000000 00000000 00000000 00000000 00000000
f169f280 3048655715 C Ii:009:03 0 64 = 4102edab a9d40000 00000000 00000000 00000000 00000000 00000000 00000000


PREV
f169f280 3059580413 C Ii:009:03 0 64 = 4102eda8 c1940000 00000000 00000000 00000000 00000000 00000000 00000000
f169f280 3059749415 C Ii:009:03 0 64 = 4102edaa c1940000 00000000 00000000 00000000 00000000 00000000 00000000


PLAY/PAUSE
f169f280 3070339132 C Ii:009:03 0 64 = 4102eda8 c1540000 00000000 00000000 00000000 00000000 00000000 00000000
f169f280 3070487124 C Ii:009:03 0 64 = 4102edaa c1540000 00000000 00000000 00000000 00000000 00000000 00000000


NEXT
f169f280 3078564907 C Ii:009:03 0 64 = 4102eda8 c1d40000 00000000 00000000 00000000 00000000 00000000 00000000
f169f280 3078631907 C Ii:009:03 0 64 = 4102edaa c1d40000 00000000 00000000 00000000 00000000 00000000 00000000



##########################################################################################################################################################################

Keyboard Event Filters


right context

f6921200 3501699824 C Ii:002:01 0 8 = 00006500 00000000
f6921200 3501755822 C Ii:002:01 0 8 = 00000000 00000000

Enter
f6921200 3547370595 C Ii:002:01 0 8 = 00002800 00000000
f6921200 3547410591 C Ii:002:01 0 8 = 00000000 00000000


Backspace
f6921200 3574265871 C Ii:002:01 0 8 = 00002a00 00000000
f6921200 3574337872 C Ii:002:01 0 8 = 00000000 00000000

##########################################################################################################################################################################

Mouse Event Filters

Right context

f686a180 3618554684 C Ii:003:01 0 5 = 02000000 00
f686a180 3618618682 C Ii:003:01 0 5 = 00000000 00




1 comment:

  1. maybe we should write to Daniel Ritz daniel.ritz( at )gmx.ch

    he wrote the "usbtouchscreen" module - maybe he can help (or we can help him)

    i also wrote to
    Christoph Bartelmus
    and got some help getting the device id into lirc_imon module..

    ReplyDelete