Ilitek ili251x touchscreen

Hey there, hoping someone can help me get my touchscreen to work.

The screen itself is the SunFounder 10.1’’ Touch Screen, which plugs in via USB. The screen works fine on Raspbian.

From what I have been able to find, the chip is an Ilitek ili251x (ili2511QG010 to be exact).

Any help at all would be appreciated.

Hi @jayden,

Can you paste here the output of lsusb with your touchscreen connected and without it connected?

This way we can see what driver would be needed for it to work.

Regards!

Thank you so much @spanceac,

The device shows up in lsusb as the following, which isn’t very helpful.
Bus 001 Device 004: ID 222a:0001

So hopefully the results of lsusb -D /dev/bus/usb/001/004 are more helpful to you:

Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x222a
  idProduct          0x0001
  bcdDevice            0.00
  iManufacturer           1 ILITEK
  iProduct                2 ILITEK-TP
  iSerial                 3 V06.00.00.00
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           59
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              400mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     743
         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     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     107
         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               1
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0000
  (Bus Powered)

Hi @jayden,

This device seems to be supported by the hid-multitouch kernel driver.

When you plug the touchscreen you should see with lsmod that the driver is loaded.

A /dev/input/ entry should be created when you plug the device and your application should know how to parse the touchscreen data.