I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="Elan Touchscreen"
P: Phys=
S: Sysfs=/devices/platform/AMDI0010:01/i2c-1/i2c-ELAN0001:00/input/input4
U: Uniq=
H: Handlers=mouse0 event4
B: PROP=2
B: EV=b
B: KEY=400 0 0 0 0 0
B: ABS=661800001000003

- 107,631

- 41
- 1
- 1
- 2
4 Answers
If you use kernel 5.8 or newer your can try:
- Open terminal
- Login with
root
(on debiansu -l
, on Ubuntusudo su
) - Edit file
/etc/default/grub
- Replace line
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
withGRUB_CMDLINE_LINUX_DEFAULT="pci=nocrs quiet splash"
- Save file
/etc/default/grub
- Execute
update-grub
- Reboot
This has been tested on Debian bullseye and Ubuntu Focal on Ideapad 3 15iil30.
With bullseye on an ideapad 3, everything is functional, mouse, touchpad, video, sound, webcam, bluetouth, etc.

- 17,696
-
1this method activated my touchpad. However, it turned off my wi-fi adapter))) – Aidos Aug 06 '21 at 06:16
-
As I cannot say this is a duplicate of this question:
I will add the answer of @theunreal89 here for future reference. (I don't think good answers should be in the comments)
It seems not to be possible to blacklist elants_i2c
driver, as it is a built-in kernel module for Ubuntu:
stefano@stefano-IdeaPad-5-15ARE05:~$ modinfo elants-i2c
name: elants_i2c
filename: (builtin)
license: GPL
description: Elan I2c Touchscreen driver
author: Scott Liu <scott.liu@emc.com.tw>
so there is a faster way than compiling the kernel. Just create a SystemD unit like the below:
stefano@stefano-IdeaPad-5-15ARE05:~$ cat /etc/systemd/system/touchpadfix.service
[Unit]
Description=Fix touchpad issue by binding correct driver
[Service]
ExecStart=/usr/local/bin/touchpadfix
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
and create /usr/local/bin/touchpadfix
file as follows
stefano@stefano-IdeaPad-5-15ARE05:~$ cat /usr/local/bin/touchpadfix
#!/bin/bash
modprobe i2c_hid
echo "i2c-ELAN0001:00" > /sys/bus/i2c/drivers/elants_i2c/unbind
echo "i2c-ELAN0001:00" > /sys/bus/i2c/drivers/i2c_hid/bind
and then make it executable, enable and start the unit with the following commands:
chmod +x /usr/local/bin/touchpadfix
sudo systemctl daemon-reload
sudo systemctl enable --now touchpadfix.service
and touchpad should start to work immediately!
SOURCE: IdeaPad 5 15are05 - elan touchpad not working on 20.04 nor on 18.04 and https://wiki.archlinux.org/index.php/Lenovo_IdeaPad_5_15are0 which is giving us unbind-bind fix and dl3it user on this post https://bugzilla.kernel.org/show_bug.cgi?id=207759#c17

- 563
-
This workaround is for 15ARE05 only. The 14ARE05 touchpad is completely different and this fix won't work, even though the 15ARE05 has quite similar symptoms. – Andreas Hartmann Aug 07 '20 at 08:43
-
Works perfectly on 15ARE05 when
pci=nocrs
in grub did absolutely nothing. Giving full instructions on how to set up as a systemd unit are just icing on the cake. This is brilliant, thank you so much!!! – Wildcard Jul 01 '21 at 20:24 -
-
After some time passed, I noticed that my Wi-Fi connection some times being lost. Is it possible that touchpadfix somehow affected my wi-fi adapter? – Aidos Aug 24 '21 at 06:11
Upgrade OS to version 21.04 solves this problem.
-
Upgrading to a non-LTS version may not always be a desired option. – Artur Meinild Apr 29 '21 at 14:05
-
Maciej Brzezny - I agree. After an upgrade to 21.04 touchpad works just as it should. – Michal Jul 13 '21 at 04:36
Upgrading did not solely fix the issue on this IdeaPad 3. Following the first step worked after upgrade and running on kernel 5.11.0-37-generic
Edit the file /etc/default/grub
as root, e.g.
sudoedit /etc/default/grub
Replace the line
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
with
GRUB_CMDLINE_LINUX_DEFAULT="pci=nocrs quiet splash"
Save the file and exit.
Execute
sudo update-grub
Reboot

- 70,465
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1883243
– Aubergine Jun 18 '20 at 22:22