4
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
Mitch
  • 109,787

4 Answers4

6

If you use kernel 5.8 or newer your can try:

  1. Open terminal
  2. Login with root (on debian su -l, on Ubuntu sudo su)
  3. Edit file /etc/default/grub
  4. Replace line GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" with GRUB_CMDLINE_LINUX_DEFAULT="pci=nocrs quiet splash"
  5. Save file /etc/default/grub
  6. Execute update-grub
  7. 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.

Kulfy
  • 18,154
2

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

0

Upgrade OS to version 21.04 solves this problem.

0

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

Zanna
  • 72,312