Comment 0 for bug 1777679

Revision history for this message
Alistair Sutter (taitair) wrote : ELAN1200 touchpad not working at all with kernel 4.15+; Recognized at ITE 8910 keyboard

Laptop is an Asus-GL503VD

Touchpad is an ELAN touchpad model 1200.

This bug is relative to the Asus-GL503VD and any Asus laptop using the ELAN1200 touchpad.

I tried Arch, Debian, Ubuntu 14/16/18, Pop_OS, Sabayon Linux, Fedora. Same problem, touchpad is totally unresponsive.

From what I understand the touchpad is being recognized as a keyboard and I cannot get any driver to recognize it: elan-i2c or synaptics.

The touchpad is also being recognized as a USB device.

This behaviour was consistent on kernels 4.15.0-22, 4.15.0-23 and 4.17.1.
Right now trying to make it work on kernel 4.15.0-23 because it seems more "main-stream".

xinput:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ MOSART Semi. USB Device id=12 [slave pointer (2)]
⎜ ↳ ITE Tech. Inc. ITE Device(8910) id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Asus Wireless Radio Control id=7 [slave keyboard (3)]
    ↳ Video Bus id=8 [slave keyboard (3)]
    ↳ Video Bus id=9 [slave keyboard (3)]
    ↳ Power Button id=10 [slave keyboard (3)]
    ↳ Sleep Button id=11 [slave keyboard (3)]
    ↳ USB2.0 HD UVC WebCam: USB2.0 HD id=13 [slave keyboard (3)]
    ↳ Asus WMI hotkeys id=15 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=16 [slave keyboard (3)]
    ↳ ITE Tech. Inc. ITE Device(8910) id=17 [slave keyboard (3)]

cat /proc/bus/input/devices:
I: Bus=0019 Vendor=0000 Product=0003 Version=0000
N: Name="Sleep Button"
P: Phys=PNP0C0E/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input0
U: Uniq=
H: Handlers=kbd event0
B: PROP=0
B: EV=3
B: KEY=4000 0 0

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1
U: Uniq=
H: Handlers=kbd event1
B: PROP=0
B: EV=3
B: KEY=10000000000000 0

I: Bus=0019 Vendor=0000 Product=0005 Version=0000
N: Name="Lid Switch"
P: Phys=PNP0C0D/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input2
U: Uniq=
H: Handlers=event2
B: PROP=0
B: EV=21
B: SW=1

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=LNXPWRBN/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
U: Uniq=
H: Handlers=kbd event3
B: PROP=0
B: EV=3
B: KEY=10000000000000 0

I: Bus=0011 Vendor=0001 Product=0001 Version=ab83
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input4
U: Uniq=
H: Handlers=sysrq kbd event4 leds
B: PROP=0
B: EV=120013
B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7

I: Bus=0019 Vendor=0000 Product=0006 Version=0000
N: Name="Video Bus"
P: Phys=LNXVIDEO/video/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input7
U: Uniq=
H: Handlers=kbd event5
B: PROP=0
B: EV=3
B: KEY=3e000b00000000 0 0 0

I: Bus=0019 Vendor=0000 Product=0006 Version=0000
N: Name="Video Bus"
P: Phys=LNXVIDEO/video/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:13/LNXVIDEO:01/input/input8
U: Uniq=
H: Handlers=kbd event6
B: PROP=0
B: EV=3
B: KEY=3e000b00000000 0 0 0

I: Bus=0003 Vendor=062a Product=410c Version=0100
N: Name="MOSART Semi. USB Device"
P: Phys=usb-0000:00:14.0-3/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:062A:410C.0001/input/input9
U: Uniq=
H: Handlers=mouse0 event7
B: PROP=0
B: EV=17
B: KEY=ff0000 0 0 0 0
B: REL=143
B: MSC=10

I: Bus=0003 Vendor=0b05 Product=1869 Version=0110
N: Name="ITE Tech. Inc. ITE Device(8910)"
P: Phys=usb-0000:00:14.0-8/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0/0003:0B05:1869.0003/input/input10
U: Uniq=
H: Handlers=sysrq kbd event8 leds
B: PROP=0
B: EV=12001f
B: KEY=3007f 0 ffffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffff 130c130b17c007 ffbf7bfad941dfff febeffdfffefffff fffffffffffffffe
B: REL=40
B: ABS=ffffff0100000000
B: MSC=10
B: LED=1f

I: Bus=0019 Vendor=1043 Product=0000 Version=0000
N: Name="Asus Wireless Radio Control"
P: Phys=asus-wireless/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/ATK4002:00/input/input11
U: Uniq=
H: Handlers=rfkill kbd event9
B: PROP=0
B: EV=3
B: KEY=80000000000000 0 0 0

I: Bus=0003 Vendor=13d3 Product=5666 Version=0322
N: Name="USB2.0 HD UVC WebCam: USB2.0 HD"
P: Phys=usb-0000:00:14.0-7/button
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/input/input12
U: Uniq=
H: Handlers=kbd event10
B: PROP=0
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH Headphone"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input13
U: Uniq=
H: Handlers=event11
B: PROP=0
B: EV=21
B: SW=4

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=3"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input14
U: Uniq=
H: Handlers=event12
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=7"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input15
U: Uniq=
H: Handlers=event13
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=8"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input16
U: Uniq=
H: Handlers=event14
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=9"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input17
U: Uniq=
H: Handlers=event15
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=10"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input18
U: Uniq=
H: Handlers=event16
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="Asus WMI hotkeys"
P: Phys=asus-nb-wmi/input0
S: Sysfs=/devices/platform/asus-nb-wmi/input/input19
U: Uniq=
H: Handlers=rfkill kbd event17
B: PROP=0
B: EV=100013
B: KEY=1000000080000 0 800000000000 0 0 a1606f00900000 8200027800501000 e000000000000 0
B: MSC=10

dmesg | grep ITE:
[ 2.562107] usb 1-8: Product: ITE Device(8910)
[ 2.562108] usb 1-8: Manufacturer: ITE Tech. Inc.
[ 2.572434] input: ITE Tech. Inc. ITE Device(8910) as /devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0/0003:0B05:1869.0003/input/input10

lsusb:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 0b05:1869 ASUSTek Computer, Inc.
Bus 001 Device 004: ID 13d3:5666 IMC Networks
Bus 001 Device 003: ID 8087:0a2b Intel Corp.
Bus 001 Device 002: ID 062a:410c Creative Labs
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Note: I have a keyboard recognized as AT Translated Set 2 keyboard which makes me believe I do not need ITE8910 to be a keyboard.

Note2: Been researching LKM development. Managed to make a signed 'hello world' lkm and make it output in dmesg. Willing to help debug/develop the driver for this touchpad.