Touchpad of Lenovo Ideapad S145-15IIL not detected in 18.04 and 19.10, Ubuntu and Kubuntu

I found out that they are working to add the proper drivers for this touchpad. Anyhow I managed to fix this problem by adding these lines to the kernel parameters:

i8042.nopnp=1 pci=nocrs

Once done, do

sudo update-grub

than restart the system.


I (maybe) fixed this non-working trackpad issue after running into it in Dec. 2020 after dual-booting a Lenovo Laptop IdeaPad 5 14IIL05 81YH000NUS with Windows 10 and Ubuntu 20.04 after installing updates both on Windows 10 and Ubuntu.

The kernel (found using uname -sr) is Linux 5.4.0-58-generic which was installed by default when installing 20.04.

The fix that worked for me was:

sudo nano /etc/default/grub

Add pci=nocrs and initcall_blacklist=elants_i2c_driver_init as settings:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=nocrs"
GRUB_CMDLINE_LINUX="initcall_blacklist=elants_i2c_driver_init"

Save the file and run:

sudo update-grub

and restart.

Note: I've also restarted in both Windows and Ubuntu a few times to make sure it worked, since this initially seemed like an intermittent issues.

Update: after another few tests/restarts this didn't seem to work until booting back up in windows, then restarting again and booting to ubuntu. If anyone figures out what the root causes of this are, it would be much appreciated.

New Update: I ended up restoring the laptop to factory settings, re-installing Ubuntu 20.04 and then upgrading the kernel to 5.10.2 which seemed to fix this issue.


I tried both methods here, but unfortunately none of them worked for me.

In case there are some differences between my laptop model and the ones here and in case that is the reason why it didn't work, I add here what I get when I type xinput --list, maybe someone can help with that:

$ xinput --list

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SIGMACHIP Usb Mouse                       id=10   [slave  pointer  (2)]
⎜   ↳ MSFT0001:00 04F3:3140 Mouse               id=13   [slave  pointer  (2)]
⎜   ↳ MSFT0001:00 04F3:3140 Touchpad            id=14   [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)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Video Bus                                 id=8    [slave  keyboard (3)]
    ↳ Power Button                              id=9    [slave  keyboard (3)]
    ↳ Integrated Camera: Integrated C           id=11   [slave  keyboard (3)]
    ↳ Ideapad extra buttons                     id=12   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=15   [slave  keyboard (3)]


$ grep -iA2 touchpad /proc/bus/input/devices

N: Name="MSFT0001:00 04F3:3140 Touchpad"
P: Phys=i2c-MSFT0001:00
S: Sysfs=/devices/platform/AMDI0010:03/i2c-0/i2c-MSFT0001:00/0018:04F3:3140.0001/input/input12

$ ls $(find /lib/modules/$(uname -r) -type d -name mouse)

appletouch.ko  cyapatp.ko   gpio_mouse.ko  sermouse.ko       synaptics_usb.ko
bcm5974.ko     elan_i2c.ko  psmouse.ko     synaptics_i2c.ko  vsxxxaa.ko

$ sudo dmesg


[    0.788754] hid: raw HID events driver (C) Jiri Kosina
[    0.793899] i2c_hid i2c-MSFT0001:00: supply vdd not found, using dummy regulator
[    0.793916] i2c_hid i2c-MSFT0001:00: supply vddl not found, using dummy regulator
[    0.797696] [Firmware Bug]: ACPI(PEGP) defines _DOD but not _DOS

I also made a post where I ask the same thing for my laptop and also specify that the brightness of the screen doesn't change:

Trackpad lenovo ideapad 3 Ubuntu not working