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
Last activity: Jan 22, 2025, 08:13 AM