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
  • 107,631
mikel dorronsoro
  • 41
  • 1
  • 1
  • 2
  • You are not alone, lenovo managed to screw it up again, i am on ideapad 5 - 14 same shit, manjaro, mint 19.3/20. Switched to windows maybe in one year the drivers will be there. Since I can find my way around in any OS, RMA or windows it is for now. But considering the price of these puppies I'd just wait .

    https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1883243

    – Aubergine Jun 18 '20 at 22:22
  • Hi! The workaround presented here https://askubuntu.com/a/1250962/1099964 works on my IdeaPad-3 14ARE05! But the brightness keys are still not working with ubuntu 20.04 LTS - do they work for you? – bgraves Jun 28 '20 at 10:07

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
  • 17,696
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

  • 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
  • this worked for me on 15ARE05. Thanks a lot! – Aidos Aug 06 '21 at 06:21
  • 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
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
  • 70,465