Sample Header Ad - 728x90

Is it possible to read raw data from a Ilitek v3 touch controller?

0 votes
0 answers
77 views
I own a touch controller based on an Ilitek 2511QH010, that uses Ilitek protocol version 3. I know the Linux kernel has a driver for it, in fact connecting the USB cable to my Ubuntu 24.10 it is recognized and works in some way: from lsusb: > Bus 001 Device 007: ID 222a:0001 ILI Technology Corp. Multi-Touch Screen and from dmesg: [ 3866.949598] usb 1-5.2: new full-speed USB device number 7 using xhci_hcd [ 3867.244621] usb 1-5.2: New USB device found, idVendor=222a, idProduct=0001, bcdDevice= 0.02 [ 3867.244629] usb 1-5.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 3867.244632] usb 1-5.2: Product: ILITEK-TP [ 3867.244634] usb 1-5.2: Manufacturer: ILITEK [ 3867.297891] input: ILITEK ILITEK-TP Touchscreen as /devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:08.0/0000:06:00.0/0000:07:0c.0/0000:0e:00.0/usb1/1-5/1-5.2/1-5.2:1.0/0003:222A:0001.0009/input/input20 [ 3867.297991] input: ILITEK ILITEK-TP Mouse as /devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:08.0/0000:06:00.0/0000:07:0c.0/0000:0e:00.0/usb1/1-5/1-5.2/1-5.2:1.0/0003:222A:0001.0009/input/input22 [ 3867.298129] hid-generic 0003:222A:0001.0009: input,hiddev3,hidraw4: USB HID v1.10 Mouse [ILITEK ILITEK-TP] on usb-0000:0e:00.0-5.2/input0 [ 3867.497595] usb 1-5.5: new low-speed USB device number 8 using xhci_hcd [ 3867.734700] usb 1-5.5: New USB device found, idVendor=1a2c, idProduct=2124, bcdDevice= 1.10 [ 3867.734706] usb 1-5.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 3867.734708] usb 1-5.5: Product: USB Keyboard [ 3867.734709] usb 1-5.5: Manufacturer: SEM [ 3867.774762] input: SEM USB Keyboard as /devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:08.0/0000:06:00.0/0000:07:0c.0/0000:0e:00.0/usb1/1-5/1-5.5/1-5.5:1.0/0003:1A2C:2124.000A/input/input23 [ 3867.853642] hid-generic 0003:1A2C:2124.000A: input,hidraw5: USB HID v1.10 Keyboard [SEM USB Keyboard] on usb-0000:0e:00.0-5.5/input0 [ 3867.875786] input: SEM USB Keyboard Consumer Control as /devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:08.0/0000:06:00.0/0000:07:0c.0/0000:0e:00.0/usb1/1-5/1-5.5/1-5.5:1.1/0003:1A2C:2124.000B/input/input24 [ 3867.927732] input: SEM USB Keyboard System Control as /devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:08.0/0000:06:00.0/0000:07:0c.0/0000:0e:00.0/usb1/1-5/1-5.5/1-5.5:1.1/0003:1A2C:2124.000B/input/input25 [ 3867.927827] hid-generic 0003:1A2C:2124.000B: input,hidraw8: USB HID v1.10 Device [SEM USB Keyboard] on usb-0000:0e:00.0-5.5/input1 [ 3868.073672] input: ILITEK ILITEK-TP as /devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:08.0/0000:06:00.0/0000:07:0c.0/0000:0e:00.0/usb1/1-5/1-5.2/1-5.2:1.0/0003:222A:0001.0009/input/input26 [ 3868.073804] input: ILITEK ILITEK-TP Mouse as /devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:08.0/0000:06:00.0/0000:07:0c.0/0000:0e:00.0/usb1/1-5/1-5.2/1-5.2:1.0/0003:222A:0001.0009/input/input28 [ 3868.073992] hid-multitouch 0003:222A:0001.0009: input,hiddev3,hidraw4: USB HID v1.10 Mouse [ILITEK ILITEK-TP] on usb-0000:0e:00.0-5.2/input0 These are the entries in /dev/input: $ ls /dev/input by-id event10 event14 event18 event3 event7 mice by-path event11 event15 event19 event4 event8 mouse0 event0 event12 event16 event2 event5 event9 mouse1 event1 event13 event17 event20 event6 js0 mouse2 under by-id: $ ls /dev/input/by-id/ usb-04d9_USB_Gaming_Mouse-event-if02 usb-ILITEK_ILITEK-TP-event-if00 usb-04d9_USB_Gaming_Mouse-event-mouse usb-ILITEK_ILITEK-TP-event-mouse usb-04d9_USB_Gaming_Mouse-if01-event-kbd usb-ILITEK_ILITEK-TP-mouse usb-04d9_USB_Gaming_Mouse-mouse usb-SEM_USB_Keyboard-event-if01 usb-3Dconnexion_SpaceMouse_Compact-event-if00 usb-SEM_USB_Keyboard-event-kbd and under by-path: $ ls /dev/input/by-path/ pci-0000:0e:00.0-usb-0:5.1:1.0-event pci-0000:0e:00.0-usb-0:5.3:1.0-event pci-0000:0e:00.0-usb-0:5.3:1.0-event-mouse pci-0000:0e:00.0-usb-0:5.3:1.0-mouse pci-0000:0e:00.0-usb-0:5.4:1.0-event-mouse pci-0000:0e:00.0-usb-0:5.4:1.0-mouse pci-0000:0e:00.0-usb-0:5.4:1.1-event-kbd pci-0000:0e:00.0-usb-0:5.4:1.2-event pci-0000:0e:00.0-usb-0:5.5:1.0-event-kbd pci-0000:0e:00.0-usb-0:5.5:1.1-event pci-0000:0e:00.0-usbv2-0:5.1:1.0-event pci-0000:0e:00.0-usbv2-0:5.3:1.0-event pci-0000:0e:00.0-usbv2-0:5.3:1.0-event-mouse pci-0000:0e:00.0-usbv2-0:5.3:1.0-mouse pci-0000:0e:00.0-usbv2-0:5.4:1.0-event-mouse pci-0000:0e:00.0-usbv2-0:5.4:1.0-mouse pci-0000:0e:00.0-usbv2-0:5.4:1.1-event-kbd pci-0000:0e:00.0-usbv2-0:5.4:1.2-event pci-0000:0e:00.0-usbv2-0:5.5:1.0-event-kbd pci-0000:0e:00.0-usbv2-0:5.5:1.1-event platform-asus-nb-wmi-event platform-eeepc-wmi-event My goal is not to use it as standard touch module, but I want to read the raw data from each channel of the touch matrix. I tried to search the actual implementation of the Linux driver, I found this repository but it does not seem the official one. In any case I'm not able to understand if the protocol does support the raw data reading. Is there a way to use the created input devices to read out the strength of each cell?
Asked by Mark (815 rep)
Jan 13, 2025, 08:49 AM
Last activity: Jan 22, 2025, 08:13 AM