Touchpad not detected correctly, no gestures available

Hello there,

recently I’ve upgraded my setup to a laptop and its touchpad doesn’t work properly and is not detected correctly as well. I’ll be glad to hear any help.

Note: this seems to happen on Clear Linux OS only, Ubuntu doesn’t have the issue and works flawlessly.

Problem description

It often accelerates and deaccelerates at random intervals causing jitters and the gesture such as two-finger scrolling doesn’t work. (Using two fingers just stops the cursor from moving, but doesn’t perform any scroll)

It is one of those “high-resolution touchpads” that those newer laptops tend to have. Unfortunately, I don’t see a way to set the touchpad to Basic.

Another effect of not being detected properly is that in GNOME Settings there are no options for Touchpad, only for mouse.

Additional Information (HW etc.)

First things first, the version of Clear Linux etc.

Current OS version: 33960
Latest server version: 33960
There are no updates available
uname -r                                                                                                                 ⏎
5.9.8-1000.native

xinput gives out these devices:

ELAN0511:00 04F3:3041 Mouse               id=17   [slave  pointer  (2)]
ELAN0511:00 04F3:3041 Touchpad            id=18   [slave  pointer  (2)]

Disabling the Touchpad yields no effect, while disabling the Mouse disables the touchpad itself.

According to Xorg.0.log it uses the libinput driver (although it seems to be using the wrong InputClass?):

[     9.925] (**) ELAN0511:00 04F3:3041 Mouse: Applying InputClass "evdev pointer catchall"
[     9.925] (**) ELAN0511:00 04F3:3041 Mouse: Applying InputClass "libinput pointer catchall"
[     9.925] (**) ELAN0511:00 04F3:3041 Mouse: Applying InputClass "libinput pointer catchall"
[     9.925] (II) Using input driver 'libinput' for 'ELAN0511:00 04F3:3041 Mouse'
--
[     9.930] (**) ELAN0511:00 04F3:3041 Touchpad: Applying InputClass "evdev touchscreen catchall"
[     9.930] (**) ELAN0511:00 04F3:3041 Touchpad: Applying InputClass "libinput touchscreen catchall"
[     9.930] (**) ELAN0511:00 04F3:3041 Touchpad: Applying InputClass "libinput touchscreen catchall"
[     9.930] (II) Using input driver 'libinput' for 'ELAN0511:00 04F3:3041 Touchpad'

Subset of cat /proc/bus/input/devices that specifies the device:

I: Bus=0018 Vendor=04f3 Product=3041 Version=0100
N: Name="ELAN0511:00 04F3:3041 Mouse"
P: Phys=i2c-ELAN0511:00
S: Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-ELAN0511:00/0018:04F3:3041.0008/input/input20
U: Uniq=
H: Handlers=event19 
B: PROP=0
B: EV=17
B: KEY=30000 0 0 0 0
B: REL=1943
B: MSC=10

I: Bus=0018 Vendor=04f3 Product=3041 Version=0100
N: Name="ELAN0511:00 04F3:3041 Touchpad"
P: Phys=i2c-ELAN0511:00
S: Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-ELAN0511:00/0018:04F3:3041.0008/input/input21
U: Uniq=
H: Handlers=event20 
B: PROP=0
B: EV=1b
B: KEY=400 1 0 0 0 0
B: ABS=10000000003
B: MSC=10

possibly it needs a proprietary firmware.
you can Google "touchpad doesn’t work on ". Usually you will find answers for Ubuntu, but what you need is to find out what’s the firmware/package you need to install

It’s not a proprietary firmware AFAIK, it uses the standard libinpit. The issue is I think the CL’s kernel incorrectly detects the device, since on Ubuntu it detects it normally as touchpad and everything works fine.

what’s the model of the laptop?

It’s Acer Spin SP513-52.

cat /proc/bus/input/devices

also

xinput list

xinput list

⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Logitech K270                           	id=10	[slave  pointer  (2)]
⎜   ↳ Logitech M585/M590                      	id=11	[slave  pointer  (2)]
⎜   ↳ Logitech MX Keys                        	id=12	[slave  pointer  (2)]
⎜   ↳ ELAN0511:00 04F3:3041 Mouse               id=15   [slave  pointer  (2)]
⎜   ↳ ELAN0511:00 04F3:3041 Touchpad            id=22   [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)]
    ↳ Acer Wireless Radio Control             	id=7	[slave  keyboard (3)]
    ↳ Video Bus                               	id=8	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=9	[slave  keyboard (3)]
    ↳ ELAN Touchscreen                        	id=13	[slave  keyboard (3)]
    ↳ HD WebCam: HD WebCam                    	id=14	[slave  keyboard (3)]
    ↳ Intel Virtual Button driver             	id=16	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=17	[slave  keyboard (3)]
    ↳ Acer WMI hotkeys                        	id=18	[slave  keyboard (3)]
    ↳ Logitech K270                           	id=19	[slave  keyboard (3)]
    ↳ Logitech M585/M590                      	id=20	[slave  keyboard (3)]
    ↳ Logitech MX Keys                        	id=21	[slave  keyboard (3)]

/proc/bus/input/devices

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/input0
U: Uniq=
H: Handlers=event0 
B: PROP=0
B: EV=21
B: SW=1

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/input1
U: Uniq=
H: Handlers=kbd event1 
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=LNXPWRBN/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input2
U: Uniq=
H: Handlers=kbd event2 
B: PROP=0
B: EV=3
B: KEY=10000000000000 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/LNXVIDEO:00/input/input3
U: Uniq=
H: Handlers=kbd event3 
B: PROP=0
B: EV=3
B: KEY=3e000b00000000 0 0 0

I: Bus=0019 Vendor=1025 Product=1229 Version=0000
N: Name="Acer Wireless Radio Control"
P: Phys=acer-wireless/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/10251229:00/input/input9
U: Uniq=
H: Handlers=kbd event8 rfkill 
B: PROP=0
B: EV=3
B: KEY=80000000000000 0 0 0

I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="Intel Virtual Button driver"
P: Phys=
S: Sysfs=/devices/pci0000:00/0000:00:1f.0/PNP0C09:00/INT33D6:00/input/input10
U: Uniq=
H: Handlers=kbd event9 
B: PROP=0
B: EV=33
B: KEY=2000000000000 0 0 0 0 1000000000000 0 201c000000000000 0
B: MSC=10
B: SW=22

I: Bus=0003 Vendor=04f3 Product=2560 Version=0110
N: Name="ELAN Touchscreen"
P: Phys=usb-0000:00:14.0-6/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0/0003:04F3:2560.0004/input/input11
U: Uniq=
H: Handlers=event10 
B: PROP=2
B: EV=1b
B: KEY=c03 0 0 0 0 0
B: ABS=1000003
B: MSC=10

I: Bus=0003 Vendor=04f3 Product=2560 Version=0110
N: Name="ELAN Touchscreen"
P: Phys=usb-0000:00:14.0-6/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0/0003:04F3:2560.0004/input/input12
U: Uniq=
H: Handlers=event11 
B: PROP=0
B: EV=1b
B: KEY=400 0 0 0 0 0
B: ABS=10000000003
B: MSC=10

I: Bus=0003 Vendor=04f3 Product=2560 Version=0110
N: Name="ELAN Touchscreen"
P: Phys=usb-0000:00:14.0-6/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0/0003:04F3:2560.0004/input/input13
U: Uniq=
H: Handlers=event12 
B: PROP=0
B: EV=9
B: ABS=10000000000

I: Bus=0003 Vendor=04f3 Product=2560 Version=0110
N: Name="ELAN Touchscreen"
P: Phys=usb-0000:00:14.0-6/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0/0003:04F3:2560.0004/input/input14
U: Uniq=
H: Handlers=event13 
B: PROP=0
B: EV=100001

I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="Acer WMI hotkeys"
P: Phys=wmi/input0
S: Sysfs=/devices/virtual/input/input16
U: Uniq=
H: Handlers=kbd event14 rfkill 
B: PROP=0
B: EV=13
B: KEY=1c0000 0 0 0 0 1600800000c00 300000 10000000000000 0
B: MSC=10

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/input17
U: Uniq=
H: Handlers=event15 
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/input19
U: Uniq=
H: Handlers=event16 
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/input20
U: Uniq=
H: Handlers=event17 
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/input21
U: Uniq=
H: Handlers=event18 
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/input22
U: Uniq=
H: Handlers=event19 
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/input23
U: Uniq=
H: Handlers=event20 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input18
U: Uniq=
H: Handlers=sysrq kbd event21 
B: PROP=0
B: EV=120013
B: KEY=10000 c020000000000 0 0 700f02000003 3802078f870f401 febfffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7

I: Bus=0018 Vendor=04f3 Product=3041 Version=0100
N: Name="ELAN0511:00 04F3:3041 Mouse"
P: Phys=i2c-ELAN0511:00
S: Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-ELAN0511:00/0018:04F3:3041.0006/input/input24
U: Uniq=
H: Handlers=event22 
B: PROP=0
B: EV=17
B: KEY=30000 0 0 0 0
B: REL=1943
B: MSC=10

I: Bus=0018 Vendor=04f3 Product=3041 Version=0100
N: Name="ELAN0511:00 04F3:3041 Touchpad"
P: Phys=i2c-ELAN0511:00
S: Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-ELAN0511:00/0018:04F3:3041.0006/input/input25
U: Uniq=
H: Handlers=event23 
B: PROP=0
B: EV=1b
B: KEY=400 1 0 0 0 0
B: ABS=10000000003
B: MSC=10

I: Bus=0003 Vendor=046d Product=406b Version=0111
N: Name="Logitech M585/M590"
P: Phys=usb-0000:00:14.0-4/input2:1
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.2/0003:046D:C52B.0003/0003:046D:406B.0007/input/input46
U: Uniq=406b-78-5d-2b-90
H: Handlers=sysrq kbd event4 
B: PROP=0
B: EV=12001f
B: KEY=3f000301ff 0 0 483ffff17aff32d bfd4444600000000 ffff0001 130ff38b17c007 ffff7bfad941dfff ffbeffdfffefffff fffffffffffffffe
B: REL=1943
B: ABS=100000000
B: MSC=10
B: LED=1f

I: Bus=0003 Vendor=046d Product=4003 Version=0111
N: Name="Logitech K270"
P: Phys=usb-0000:00:14.0-4/input2:2
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.2/0003:046D:C52B.0003/0003:046D:4003.0008/input/input47
U: Uniq=4003-f7-94-9c-fe
H: Handlers=sysrq kbd event5 
B: PROP=0
B: EV=12001f
B: KEY=3f000301ff 0 0 483ffff17aff32d bfd4444600000000 1 130ff38b17c007 ffff7bfad941dfff ffbeffdfffefffff fffffffffffffffe
B: REL=1040
B: ABS=100000000
B: MSC=10
B: LED=1f

I: Bus=0003 Vendor=04f2 Product=b5f7 Version=9226
N: Name="HD WebCam: HD WebCam"
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/input48
U: Uniq=
H: Handlers=kbd event6 
B: PROP=0
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0003 Vendor=046d Product=408a Version=0111
N: Name="Logitech MX Keys"
P: Phys=usb-0000:00:14.0-4/input2:3
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.2/0003:046D:C52B.0003/0003:046D:408A.0009/input/input49
U: Uniq=408a-b0-67-b5-d7
H: Handlers=sysrq kbd event7 
B: PROP=0
B: EV=12001f
B: KEY=3f000301ff 0 0 483ffff17aff32d bfd4444600000000 ffff0001 130ff38b17c007 ffff7bfad941dfff ffbeffdfffefffff fffffffffffffffe
B: REL=1943
B: ABS=100000000
B: MSC=10
B: LED=1f

It’s recognized at least.

xinput list-props 22


Also try these

https://wiki.archlinux.org/index.php/Laptop#Elantech

xinput list-props 22

~ > xinput list-props 16
Device 'ELAN0511:00 04F3:3041 Touchpad':
        Device Enabled (179):   1
        Coordinate Transformation Matrix (181): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Calibration Matrix (335):      1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Calibration Matrix Default (336):      1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Send Events Modes Available (302):     1, 0
        libinput Send Events Mode Enabled (303):        0, 0
        libinput Send Events Mode Enabled Default (304):        0, 0
        Device Node (305):      "/dev/input/event23"
        Device Product ID (306):        1267, 12353

Editing the file /etc/modprobe.d/psmouse.conf had no effects.

can you run journalctl -k and grep anything with elan?

such as elan_i2c 5-0015: 5-0015 supply vcc not found, using dummy regulator

The driver for your touch pad is certainly installed

So you either sees an error like

And use modprobe to fix it.

Or you can try to write a Xorg config such as this one:
https://forums.linuxmint.com/viewtopic.php?p=1536914#p1536914

While in dmesg I do see messages like: note the vdd instead of vcc (also Ubuntu also gets this message, while works perfectly fine)

[    1.890515] i2c_hid i2c-ELAN0511:00: supply vdd not found, using dummy regulator
[    1.890539] i2c_hid i2c-ELAN0511:00: supply vddl not found, using dummy regulator

What do you mean by “use modprobe to fix it”? Also the Xorg config they used there uses the synaptics driver. Forcing my touchpad to use synaptics doesn’t work due to “unmatched protocol” (paraphrasing, from dmesg)

This bug appears on 5.4 kernel. Are you using the kernel-lts bundle?

Nope, I’m running the latest one.

~ > sudo swupd bundle-list | grep kernel
 - kernel-install
 - kernel-native
 - kernel-native-dkms
~ > uname -a
Linux wasser-clx 5.9.9-1001.native #1 SMP Wed Nov 18 15:02:45 PST 2020 x86_64 GNU/Linux

I just recently performed a swupd update, before I was on 5.5.15-930 and it haven’t worked there.

On further investigation I used udevadm --attribute-walk with appropriate devices between Clear Linux (where the touchpad doesn’t work) and Ubuntu (where it works just fine). I still have no clue on how to go on fixing this.

Differences

There are differences of the assigned input[0-9]* number etc, but apart from that there’s even these:

  • Ubuntu has ATTRS{power/runtime_enabled} set to "enabled" in second to last device, while Clear Linux has it in "forbidden".
  • Ubuntu also sets ATTRS{power/control} to "auto" while Clear Linux sets it to "on"
  • Ubuntu loads the device’s driver as "hid-multitouch" while Clear Linux uses "hid-generic"
    • Ubuntu also sets the ATTRS{quirks}=="334864" while Clear Linux doesn’t have it at all
  • Ubuntu has different ATTR{capabilities/abs}, ATTR{capabilities/key} and ATTR{capabilities/msc}, alongside with ATTR{properties}

Below I’m attaching the outputs of udevadm from both systems.

Clear Linux udevadm output

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-ELAN0511:00/0018:04F3:3041.0008/input/input21':
    KERNEL=="input21"
    SUBSYSTEM=="input"
    DRIVER==""
    ATTR{capabilities/abs}=="10000000003"
    ATTR{capabilities/ev}=="1b"
    ATTR{capabilities/ff}=="0"
    ATTR{capabilities/key}=="400 1 0 0 0 0"
    ATTR{capabilities/led}=="0"
    ATTR{capabilities/msc}=="10"
    ATTR{capabilities/rel}=="0"
    ATTR{capabilities/snd}=="0"
    ATTR{capabilities/sw}=="0"
    ATTR{id/bustype}=="0018"
    ATTR{id/product}=="3041"
    ATTR{id/vendor}=="04f3"
    ATTR{id/version}=="0100"
    ATTR{name}=="ELAN0511:00 04F3:3041 Touchpad"
    ATTR{phys}=="i2c-ELAN0511:00"
    ATTR{power/async}=="disabled"
    ATTR{power/control}=="auto"
    ATTR{power/runtime_active_kids}=="0"
    ATTR{power/runtime_active_time}=="0"
    ATTR{power/runtime_enabled}=="disabled"
    ATTR{power/runtime_status}=="unsupported"
    ATTR{power/runtime_suspended_time}=="0"
    ATTR{power/runtime_usage}=="0"
    ATTR{properties}=="0"
    ATTR{uniq}==""

  looking at parent device '/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-ELAN0511:00/0018:04F3:3041.0008':
    KERNELS=="0018:04F3:3041.0008"
    SUBSYSTEMS=="hid"
    DRIVERS=="hid-generic"
    ATTRS{country}=="00"
    ATTRS{power/async}=="enabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-ELAN0511:00':
    KERNELS=="i2c-ELAN0511:00"
    SUBSYSTEMS=="i2c"
    DRIVERS=="i2c_hid"
    ATTRS{name}=="ELAN0511:00"
    ATTRS{power/async}=="enabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7':
    KERNELS=="i2c-7"
    SUBSYSTEMS=="i2c"
    DRIVERS==""
    ATTRS{name}=="Synopsys DesignWare I2C adapter"
    ATTRS{power/async}=="disabled"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_enabled}=="enabled"
    ATTRS{power/runtime_status}=="suspended"
    ATTRS{power/runtime_usage}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:15.1/i2c_designware.1':
    KERNELS=="i2c_designware.1"
    SUBSYSTEMS=="platform"
    DRIVERS=="i2c_designware"
    ATTRS{driver_override}=="(null)"
    ATTRS{power/async}=="disabled"
    ATTRS{power/autosuspend_delay_ms}=="1000"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="1251"
    ATTRS{power/runtime_enabled}=="enabled"
    ATTRS{power/runtime_status}=="suspended"
    ATTRS{power/runtime_suspended_time}=="109517"
    ATTRS{power/runtime_usage}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:15.1':
    KERNELS=="0000:00:15.1"
    SUBSYSTEMS=="pci"
    DRIVERS=="intel-lpss"
    ATTRS{ari_enabled}=="0"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x118000"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{device}=="0x9d61"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="17"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{local_cpus}=="ff"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{power/async}=="enabled"
    ATTRS{power/control}=="on"
    ATTRS{power/pm_qos_latency_tolerance_us}=="auto"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="112190"
    ATTRS{power/runtime_enabled}=="forbidden"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="1"
    ATTRS{revision}=="0x21"
    ATTRS{subsystem_device}=="0x120d"
    ATTRS{subsystem_vendor}=="0x1025"
    ATTRS{vendor}=="0x8086"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""
    ATTRS{power/async}=="enabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="13"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"

Ubuntu’s udevadm output


Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-ELAN0511:00/0018:04F3:3041.0002/input/input10':
    KERNEL=="input10"
    SUBSYSTEM=="input"
    DRIVER==""
    ATTR{capabilities/abs}=="2e0800000000003"
    ATTR{capabilities/ev}=="1b"
    ATTR{capabilities/ff}=="0"
    ATTR{capabilities/key}=="e520 10000 0 0 0 0"
    ATTR{capabilities/led}=="0"
    ATTR{capabilities/msc}=="20"
    ATTR{capabilities/rel}=="0"
    ATTR{capabilities/snd}=="0"
    ATTR{capabilities/sw}=="0"
    ATTR{id/bustype}=="0018"
    ATTR{id/product}=="3041"
    ATTR{id/vendor}=="04f3"
    ATTR{id/version}=="0100"
    ATTR{name}=="ELAN0511:00 04F3:3041 Touchpad"
    ATTR{phys}=="i2c-ELAN0511:00"
    ATTR{power/async}=="disabled"
    ATTR{power/control}=="auto"
    ATTR{power/runtime_active_kids}=="0"
    ATTR{power/runtime_active_time}=="0"
    ATTR{power/runtime_enabled}=="disabled"
    ATTR{power/runtime_status}=="unsupported"
    ATTR{power/runtime_suspended_time}=="0"
    ATTR{power/runtime_usage}=="0"
    ATTR{properties}=="5"
    ATTR{uniq}==""

  looking at parent device '/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-ELAN0511:00/0018:04F3:3041.0002':
    KERNELS=="0018:04F3:3041.0002"
    SUBSYSTEMS=="hid"
    DRIVERS=="hid-multitouch"
    ATTRS{country}=="00"
    ATTRS{power/async}=="enabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{quirks}=="334864"

  looking at parent device '/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-ELAN0511:00':
    KERNELS=="i2c-ELAN0511:00"
    SUBSYSTEMS=="i2c"
    DRIVERS=="i2c_hid"
    ATTRS{name}=="ELAN0511:00"
    ATTRS{power/async}=="enabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2':
    KERNELS=="i2c-2"
    SUBSYSTEMS=="i2c"
    DRIVERS==""
    ATTRS{name}=="Synopsys DesignWare I2C adapter"
    ATTRS{power/async}=="disabled"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_enabled}=="enabled"
    ATTRS{power/runtime_status}=="suspended"
    ATTRS{power/runtime_usage}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:15.1/i2c_designware.1':
    KERNELS=="i2c_designware.1"
    SUBSYSTEMS=="platform"
    DRIVERS=="i2c_designware"
    ATTRS{driver_override}=="(null)"
    ATTRS{power/async}=="disabled"
    ATTRS{power/autosuspend_delay_ms}=="1000"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="2658"
    ATTRS{power/runtime_enabled}=="enabled"
    ATTRS{power/runtime_status}=="suspended"
    ATTRS{power/runtime_suspended_time}=="150523"
    ATTRS{power/runtime_usage}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:15.1':
    KERNELS=="0000:00:15.1"
    SUBSYSTEMS=="pci"
    DRIVERS=="intel-lpss"
    ATTRS{ari_enabled}=="0"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x118000"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{device}=="0x9d61"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="17"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{local_cpus}=="ff"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{power/async}=="enabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/pm_qos_latency_tolerance_us}=="auto"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="3722"
    ATTRS{power/runtime_enabled}=="enabled"
    ATTRS{power/runtime_status}=="suspended"
    ATTRS{power/runtime_suspended_time}=="150478"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{revision}=="0x21"
    ATTRS{subsystem_device}=="0x120d"
    ATTRS{subsystem_vendor}=="0x1025"
    ATTRS{vendor}=="0x8086"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""
    ATTRS{power/async}=="enabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="9"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"

https://wiki.ubuntu.com/DebuggingTouchpadDetection#In_case_your_Touchpad_doesn.27t_work_at_all_.28No_response_from_the_Touchpad.29

How about this?


Also someone suggest to disable hid-over-i2c in BIOS

The thing is that the touchpad does work, but has constant acceleration issues, is detected as a mouse (thus GNOME doesn’t has the touchpad settings) and two-finger scroll doesn’t work.

Unfortunately, I don’t have such option in BIOS.

can you try the other sections in the guide

I’ve already done so beforehand with no success, unfortunately.

Okay, I’ve finally solved the issue. The fix was simple and dumb because it was my fault. For that, I’d like to apologize for the time wasted.

My Clear Linux setup was previously installed on a different PC, which required some workarounds to get working. Those workarounds did not work on the new PC. Basically, I had blacklisted the hid_multitouch, which was required for the touchpad. After I whitelisted the module again, lo and behold it became working again.

Again, sorry for all the time wasted and thank you for all the efforts for help.

2 Likes