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
- 109,787
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.
- 18,154
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
- 573
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
- 72,312