MSFT0004:00 06CB:CD98 Touchpad/trackpad mouse randomly not recognized from any given boot

Bug #1878279 reported by Till
306
This bug affects 57 people
Affects Status Importance Assigned to Milestone
Linux
Confirmed
Medium
Ubuntu
Undecided
Unassigned
linux-signed-hwe (Fedora)
New
Undecided
Unassigned
linux-signed-hwe (Ubuntu)
Undecided
Unassigned

Bug Description

Touchpad 'Buttonless Mylar surface multi-touch touchpad' doesn't work at all (No response from the Touchpad) for notebook 'Lenovo Ideapad 5 14IIL05 81YH' from first system start on.

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: linux-image-5.4.0-29-generic 5.4.0-29.33
ProcVersionSignature: Ubuntu 5.4.0-29.33-generic 5.4.30
Uname: Linux 5.4.0-29-generic x86_64
ApportVersion: 2.20.11-0ubuntu27
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: tilman 1607 F.... pulseaudio
CasperMD5CheckResult: skip
CurrentDesktop: ubuntu:GNOME
Date: Tue May 12 21:22:22 2020
InstallationDate: Installed on 2020-05-12 (0 days ago)
InstallationMedia: Ubuntu 20.04 LTS "Focal Fossa" - Release amd64 (20200423)
MachineType: LENOVO 81YH
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=de_DE.UTF-8
 SHELL=/bin/bash
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.4.0-29-generic root=UUID=bb961a96-8855-4e50-814d-7994235377c3 ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-5.4.0-29-generic N/A
 linux-backports-modules-5.4.0-29-generic N/A
 linux-firmware 1.187
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 03/25/2020
dmi.bios.vendor: LENOVO
dmi.bios.version: DSCN23WW(V1.09)
dmi.board.asset.tag: NO Asset Tag
dmi.board.name: LNVNB161216
dmi.board.vendor: LENOVO
dmi.board.version: No DPK
dmi.chassis.asset.tag: NO Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: IdeaPad 5 14IIL05
dmi.modalias: dmi:bvnLENOVO:bvrDSCN23WW(V1.09):bd03/25/2020:svnLENOVO:pn81YH:pvrIdeaPad514IIL05:rvnLENOVO:rnLNVNB161216:rvrNoDPK:cvnLENOVO:ct10:cvrIdeaPad514IIL05:
dmi.product.family: IdeaPad 5 14IIL05
dmi.product.name: 81YH
dmi.product.sku: LENOVO_MT_81YH_BU_idea_FM_IdeaPad 5 14IIL05
dmi.product.version: IdeaPad 5 14IIL05
dmi.sys.vendor: LENOVO

Revision history for this message
Till (tilman-vaeth) wrote :
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
You-Sheng Yang (vicamo) wrote : Re: Touchpad not recognized on Lenovo Ideapad 5 14IIL05 81YH

Please attach your acpi dump info:

  $ sudo apt install acpica-tools
  $ sudo acpidump -o acpi.dump

And attach that `acpi.dump` file.

tags: added: hwe-touchpad
Revision history for this message
AdrienM (adi90x) wrote :

Hello,

Thanks a lot for having a look, please find enclosed acpi.dump
Do not hesitate if I can provide anything else.

Regards,

Revision history for this message
You-Sheng Yang (vicamo) wrote :

@AdrienM, so you can decompile your ACPI blob shipped by the device vendor:

  $ acpixtract acpi.dump
  $ iasl -d *.dat

And from the decompiled `dsdt.dsl` file, it has:

  Name (_HID, "XXXX0000") // _HID: Hardware ID
  Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID
  ...

I'm not sure what will it be like in the runtime, so we need your to run:

  $ cd /sys/bus/acpi/devices
  $ for d in $(ls -1 */hid); do d=${d%/*}; grep -q PNP0C50 $d/modalias && echo $d; done

And, please re-attach your dmesg log with following kernel boot parameters. For detailed steps, please see https://askubuntu.com/questions/19486/how-do-i-add-a-kernel-boot-parameter:

  dyndbg="file drivers/hid/* +pt" i2c-hid.debug=1 log_buf_len=16M

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
AdrienM (adi90x) wrote :

Hello,

Result from

...
for d in $(ls -1 */hid); do d=${d%/*}; grep -q PNP0C50 $d/modalias && echo $d; done
...

=> MSFT0004:01

And attached dmesg output using the boot parameter you mention.

Regards,
Adrien

Revision history for this message
You-Sheng Yang (vicamo) wrote :

Sorry, I missed one parameter "hid.debug=1". Could you attach dmesg one more time with that appended? It makes:

  dyndbg="file drivers/hid/* +pt" hid.debug=1 i2c-hid.debug=1 log_buf_len=16M

Thank you.

Revision history for this message
AdrienM (adi90x) wrote :

Here it is !

Revision history for this message
AdrienM (adi90x) wrote :

Hello,

Anything else I can provide ?

Regards,

Revision history for this message
TheTakylo (thetakylo) wrote :

I also have the same problem, under Linux this touchpad doesn't work.

TheTakylo (thetakylo)
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
TheTakylo (thetakylo)
no longer affects: linux (Debian)
Revision history for this message
AdrienM (adi90x) wrote :

This bug report has more information than bug #1880172.
This one should be main thread no ?

affects: linux (Ubuntu) → linux-signed-hwe (Ubuntu)
no longer affects: debian
Revision history for this message
TheTakylo (thetakylo) wrote :

i dont know why but sometimes the touchpad work and sometimes the touchpad doesnt work ..

Revision history for this message
AdrienM (adi90x) wrote :

@TheTakylo: What is your OS and what is your kernel version ? Do you have the exact same ideaPad 5 - 14IIL05 ?

Revision history for this message
TheTakylo (thetakylo) wrote :

Actually the touchpad doesnt work.
This is my computer details

       _,met$$$$$gg.
    ,g$$$$$$$$$$$$$$$P. --------------------------
  ,g$$P" """Y$$.". OS: Debian GNU/Linux bullseye/sid x86_64
 ,$$P' `$$$. Host: 81YH IdeaPad 5 14IIL05
',$$P ,ggs. `$$b: Kernel: 5.6.0-1-amd64
`d$$' ,$P"' . $$$ Uptime: 49 mins
 $$P d$' , $$P Packages: 1830 (dpkg)
 $$: $$. - ,d$$' Shell: bash 5.0.16
 $$; Y$b._ _,d$P' Resolution: 1920x1080
 Y$$. `.`"Y$$$$P"' DE: GNOME
 `$$b "-.__ WM: Mutter
  `Y$$ WM Theme: Adwaita
   `Y$$. Theme: Adwaita [GTK2/3]
     `$$b. Icons: Adwaita [GTK2/3]
       `Y$$b. Terminal: gnome-terminal
          `"Y$b._ CPU: Intel i5-1035G1 (8) @ 3.600GHz
              `""" GPU: Intel Iris Plus Graphics G1
                              GPU: NVIDIA GeForce MX330
                              Memory: 2906MiB / 15758MiB

Revision history for this message
AdrienM (adi90x) wrote :

Hello,

I have it working after installation of Ubuntu 19.10. However it stop as soon as I do an apt upgrade . Will try to understand which package break it.

Revision history for this message
AdrienM (adi90x) wrote :

Ok so for the moment , I have a working install of Ubuntu 19.10.
Seems that the issue is happening when you update/change xorg-server, which I was doing almost at first to load nvidia driver.
Therefore, for the moment :
Make sure to be in UEFI
Install from Ubuntu 19.10 ISO
Install from apt nvidia-driver-440 nvidia-prime mesa-utils
(Do not use the Additional Driver GUI interface of Ubuntu)
Then do apt update && apt upgrade && apt autoremove

Not sure it will work for every one as it seems really random , will keep on trying to understand exactly what is happening.

Revision history for this message
AdrienM (adi90x) wrote :

Ok in fact the issue is still randomly happening.
Found some bug report on Arch forum too , seems to be an issue of how i2c_hid controler is working and especially how it is shutdown.

Revision history for this message
Michael Amplatz (xekuta747) wrote :

I have a 14IIL05 here, and the same issue with Ubuntu 20.04 and Kernel 5.7. The Touchpad does not respond in any way (though it works in Windows, but only after installation of drivers).

Revision history for this message
AdrienM (adi90x) wrote :

Normally you can have it working from time to time ( just being lucky on startup I guess ).
Try to shutdown & start ( and not reboot )

Revision history for this message
AdrienM (adi90x) wrote :

Did you try enabling SecureBoot ?

Revision history for this message
Michael Amplatz (xekuta747) wrote : Re: [Bug 1878279] Re: Touchpad not recognized on Lenovo Ideapad 5 14IIL05 81YH

Am 01.06.20 um 18:45 schrieb AdrienM:
> Normally you can have it working from time to time ( just being lucky on startup I guess ).
> Try to shutdown & start ( and not reboot )
>
No, Touchpad never worked in Ubuntu.

Am 01.06.20 um 19:11 schrieb AdrienM:
> Did you try enabling SecureBoot ?
>

Yes, I did two times now, but it doesn't change anything.

Revision history for this message
TheTakylo (thetakylo) wrote : Re: Touchpad not recognized on Lenovo Ideapad 5 14IIL05 81YH

For a few days the touchpad worked every other day, for a week it hadn't worked at all for me :/

TheTakylo (thetakylo)
Changed in debian:
status: New → Confirmed
Revision history for this message
Ludovic LEMARINEL (ludovic50750) wrote :

Hi
Just to add some informations.
Just got today a Lenovo Ideapad 14ILI05, Core i5 based, and no touchpad working.
I've tried with kubuntu 19.10 since AdrienM said it was working with this release, but no more luck with it (only tried Live).

I saw a BIOS update on Lenovo support page from 5 days ago, not yet installed it, but I doubt it will make it work !

If I can provide some logs or dumps, or even try patches, I'm willing to help !

Revision history for this message
Ludovic LEMARINEL (ludovic50750) wrote :

Just some follow-up :
It seems that my touchpad is not the same as AdrienM, since my acpi dump is about ELAN0001 and AdrienM's is ELAN2097.

Following some recommendations found on askubuntu.com, I'm currently trying to compile a 5.7.2 kernel with added ELAN0001 id to include/linux/input/elan-i2c-ids.h, and also made the elan touchscreen driver as a module, since this driver recognizes the ELAN0001 as a touch screen, and not a mouse.

I'll post an update when I'll have tested.

Revision history for this message
Ludovic LEMARINEL (ludovic50750) wrote :

So, tried with kernel 5.7.2, disabled elants-i2c module, and added device ID in elan-i2c-ids.h, same problem.

Don't know where to look now :(

Revision history for this message
Michael Amplatz (xekuta747) wrote :

Did you all confirm the issue? I think this is very important to estimate the priority for the developers.

Revision history for this message
bast1 (bast1) wrote :

thx for ur feedback..

same here on Lenovo IdeaPad 3 14IIL05 Core i3-1005G1 (81WD004MGE)

sudo acpidump | grep -C3 ELAN

 27EC0: 70 47 4E 55 4D 0C 10 00 01 06 49 4E 54 31 70 49 pGNUM.....INT1pI
 27ED0: 4E 55 4D 0C 10 00 01 06 49 4E 54 32 A0 34 93 54 NUM.....INT2.4.T
 27EE0: 50 54 59 01 70 0D 4D 53 46 54 30 30 30 31 00 5F PTY.p.MSFT0001._
 27EF0: 48 49 44 70 0D 45 4C 41 4E 30 30 30 31 00 5F 53 HIDp.ELAN0001._S
 27F00: 55 42 70 0A 15 42 41 44 52 70 01 48 49 44 32 A4 UBp..BADRp.HID2.
 27F10: 00 A0 36 93 54 50 54 59 0A 02 70 0D 4D 53 46 54 ..6.TPTY..p.MSFT
 27F20: 30 30 30 31 00 5F 48 49 44 70 0D 53 59 4E 41 30 0001._HIDp.SYNA0

this old fix wont work

https://forums.gentoo.org/viewtopic-t-1086512-start-0.html

greetz

Revision history for this message
bast1 (bast1) wrote :

perhaps the same issue?!

The main culprit was CONFIG_PINCTRL_SUNRISEPOINT that provides an interface that allows configuring of PCH pins and using them as GPIOs. Apparently the touchpad port needs to be unlocked by the signal raised by PCH's GPIO pins, so this module is required for it to work. It is called pinctrl_sunrisepoint, and it is a feature of my motherboard's chipset, Sunrise Point.

greetz

Revision history for this message
TheTakylo (thetakylo) wrote :

I also confirm the error, here is the error of my computer: IdeaPad 5 14IIL05

and the touchpad is not detected.

sudo acpidump | grep -C3 ELAN
   30C80: 30 93 54 50 4C 54 0A 02 70 0D 41 54 4D 4C 32 39 0.TPLT..p.ATML29
   30C90: 35 32 00 5F 48 49 44 70 00 48 49 44 32 70 0A 4A 52._HIDp.HID2p.J
   30CA0: 42 41 44 52 70 0C 80 1A 06 00 53 50 45 44 A4 00 BADRp.....SPED..
   30CB0: A0 30 93 54 50 4C 54 0A 03 70 0D 45 4C 41 4E 32 .0.TPLT..p.ELAN2
   30CC0: 30 39 37 00 5F 48 49 44 70 01 48 49 44 32 70 0A 097._HIDp.HID2p.
   30CD0: 10 42 41 44 52 70 0C 80 1A 06 00 53 50 45 44 A4 .BADRp.....SPED.
   30CE0: 00 A0 30 93 54 50 4C 54 0A 04 70 0D 4E 54 52 47 ..0.TPLT..p.NTRG

Revision history for this message
Michael Amplatz (xekuta747) wrote :

Please all click on "This bug affecty you and 7 other people" and then "Does this bug affect you?" "Yes". Thank you!

Revision history for this message
Ludovic LEMARINEL (ludovic50750) wrote :

Perhaps it has something to do with CONFIG_PINCTRL_SUNRISEPOINT, but how can we be sure that our motherboard is including SUNRISE POINT ?

Revision history for this message
Shivanand (patilshivanand) wrote :

Same issue, got a latest Ideapad 5 and found trackpad and brightness adjustment not working. Tried couple of things like changing distro, changing Kernel version etc, nothing worked.

affects: debian → ubuntu
Revision history for this message
TheTakylo (thetakylo) wrote :

Hello,

I don't know why, my touchpad is working today and it's detected!

⎜ ↳ MSFT0004:00 06CB:CD98 Mouse id=13 [slave pointer (2)]
⎜ ↳ MSFT0004:00 06CB:CD98 Touchpad id=14 [slave pointer (2)]

Revision history for this message
TheTakylo (thetakylo) wrote :

Doesnt work toaday ... too strange !

Revision history for this message
Shivanand (patilshivanand) wrote :

This bug is still unassigned for a month now, Not sure when we can have an update. Has anyone from the affected users found an alternative to this ?.

Revision history for this message
bast1 (bast1) wrote :

nope..some old workarounds that don't work for us, this is all.

Revision history for this message
Michael Amplatz (xekuta747) wrote :

What I learned by using Linux is patience. In the meantime I use a bluetooth mouse. Works fine, but you have to activate bluetooth with another device ;-) Lucky, that everything else is doing well.

Revision history for this message
drdjekyl (mrhyde) wrote :

Hi there,

My problem is same as yours.

I have an Ideapad 81YH with intel i7 chipset. I installed ubuntu 20.04 with kernel 5.4 and touchpad doesn't seem to work as well.

2-3 days ago I modified the grub in /etc/default, it made my touchpad working for a few boots. Unfortunately, it's gone..

IDK what to do to fix this. If someone has some ideas or tests to improve touchpad behaviour, it could be great !

Revision history for this message
Gustav Krogh-jeyasingham (gustavekkj) wrote :

Got at Lenovo ideapad 5 14IIL05 intel i7. Fresh install of ubuntu 20.04 touchpad never worked a single time so seems to be the same issue. Any information i can share to help with the issue?

Revision history for this message
Gustav Krogh-jeyasingham (gustavekkj) wrote :

I found a weird work around updated the kernel to 5.7.1.
Then i disabled legacy support uefi only.
Then secure boot then booted up. Ubuntu told me it couldn't.
Then disabled secure boot and then it worked.

When it stops working redo these last steps in BIOS makes it work.

Xenia (cap95)
Changed in linux-signed-hwe (Ubuntu):
status: Confirmed → In Progress
Kẏra (thekyriarchy)
summary: - Touchpad not recognized on Lenovo Ideapad 5 14IIL05 81YH
+ MSFT0004:00 06CB:CD98 Touchpad/trackpad mouse randomly not recognized
+ from any given boot
Changed in linux:
importance: Unknown → Medium
status: Unknown → Confirmed
90 comments hidden view all 136 comments
Revision history for this message
In , matteo.mazzarelli (matteo.mazzarelli-linux-kernel-bugs) wrote :

Note that the problem hasn't been fully fixed. It still persists when going out of S3 deep sleep (suspend) mode - i.e. it's random whether it will work or not when resuming. I can however confirm that running 5.9-rc6 the touchpad always works as expected on a new start or on a reboot.

33 comments hidden view all 136 comments
Revision history for this message
Volker Meyer (vlhm) wrote :

Hi,

"i8042.nopnp=1 pci=nocrs" also works with Lenovo V17-IIL.

Thanks

Revision history for this message
Felix T (crvn) wrote :

Touchpad stopped working for me after updating BIOS to latest version DTCN24WW (V1.10). I tried changing several BIOS settings with no success and the device is not listed in xinput.

I stumbled across these messages in dmesg, but I can't tell if this has something to do with the issue.

...
[ 0.432538] platform USBC000:00: failed to claim resource 0: [mem 0xffffffff-0x100000ffe]
[ 0.432546] fbcon: Taking over console
[ 0.432548] acpi USBC000:00: platform device creation failed: -16
...

Revision history for this message
Hans de Goede (j-w-r-degoede) wrote :

I've been debugging a similar issue together with a Fedora user:
https://bugzilla.redhat.com/show_bug.cgi?id=1871793
(note this bug is set to private atm, so you can likely not view this, I've asked the reporter if it is ok to open it up)

I see some comments here about things no longer working after a BIOS upgrade, here is what I wrote about this in the Fedora bug:

"Sometimes BIOS upgrades don't clear the BIOS settings even though they should, causing the new BIOS to interpret the binary settings blob from the old BIOS in the wrong way. This may also cause hidden settings to be wrong.

Have you tried loading the BIOS default or optimal settings?"

And it turns out that on the reporters "Lenovo IdeaPad 5 14IIL05" the fix for this issue is the combination of:

1. Install the latest BIOS
2. Enter setup, load default or optimal settings.
3. Save settings, reboot

Please give this a try and if this works, please let us know that this helped.

If you are adding a comment about this helping or not, it would also be useful to know:

1. If you tried "pci=nocrs" with older BIOS versions and if that helped with the older BIOS
2. If you are still using "pci=nocrs" with the newer BIOS
3. If you are still using "pci=nocrs" with the newer BIOS, please try removing "pci=nocrs" from the kernel commandline, do things still work?

Note for the Fedora reporter things worked with:

1. The old BIOS + "pci=nocrs"
2. The new BIOS + default-settings-load without needing "pci=nocrs"

Revision history for this message
Felix T (crvn) wrote :

Thank you for your response. I did in fact load and reboot with BIOS defaults multiple times while trying out different settings without success.

After many trials and errors I am currently running BIOS 1.06 with mainline kernel 5.10 and everything is working fine (without GRUB parameters).

Even though my understanding of this issue is superficial at best, my suspicion is that Windows dual boot might be interfering even with disabled fast boot. So one of the things I tried was a forced Windows shutdown with "shutdown /s /f /t 0". This seemed to resolve my issue but it's entirely speculative.

Since I do need this laptop for work from time to time, I am hestitant to try updating the BIOS again and see if I can get the latest version running.

I hope this is helpful in any way.

Revision history for this message
Michael Amplatz (xekuta747) wrote : Re: [Bug 1878279] Re: MSFT0004:00 06CB:CD98 Touchpad/trackpad mouse randomly not recognized from any given boot

The first problem is that a BIOS-Update is only delivered as an EXE-file
for Windows 10.

Does this work with WINE?

Am 19.02.21 um 12:05 schrieb Hans de Goede:
> I've been debugging a similar issue together with a Fedora user:
> https://bugzilla.redhat.com/show_bug.cgi?id=1871793
> (note this bug is set to private atm, so you can likely not view this, I've asked the reporter if it is ok to open it up)
>
> I see some comments here about things no longer working after a BIOS
> upgrade, here is what I wrote about this in the Fedora bug:
>
> "Sometimes BIOS upgrades don't clear the BIOS settings even though they
> should, causing the new BIOS to interpret the binary settings blob from
> the old BIOS in the wrong way. This may also cause hidden settings to be
> wrong.
>
> Have you tried loading the BIOS default or optimal settings?"
>
> And it turns out that on the reporters "Lenovo IdeaPad 5 14IIL05" the
> fix for this issue is the combination of:
>
> 1. Install the latest BIOS
> 2. Enter setup, load default or optimal settings.
> 3. Save settings, reboot
>
> Please give this a try and if this works, please let us know that this
> helped.
>
> If you are adding a comment about this helping or not, it would also be
> useful to know:
>
> 1. If you tried "pci=nocrs" with older BIOS versions and if that helped with the older BIOS
> 2. If you are still using "pci=nocrs" with the newer BIOS
> 3. If you are still using "pci=nocrs" with the newer BIOS, please try removing "pci=nocrs" from the kernel commandline, do things still work?
>
> Note for the Fedora reporter things worked with:
>
> 1. The old BIOS + "pci=nocrs"
> 2. The new BIOS + default-settings-load without needing "pci=nocrs"
>
>
> ** Bug watch added: Red Hat Bugzilla #1871793
> https://bugzilla.redhat.com/show_bug.cgi?id=1871793
>

30 comments hidden view all 136 comments
Revision history for this message
In , marius.andreiana (marius.andreiana-linux-kernel-bugs) wrote :

Same issue on lenovo ideapad 5 14ARE05
Linux fedora 5.11.3-300.fc34.x86_64 #1 SMP

# dmesg | grep i2c
[ 1.569895] i2c_hid i2c-MSFT0004:00: HID over i2c has not been provided an Int IRQ
[ 1.569930] i2c_hid: probe of i2c-MSFT0004:00 failed with error -22

29 comments hidden view all 136 comments
Revision history for this message
Petteri P (petterip) wrote :

Hi, I have just run into the same random touchpad problem as others with my Lenovo Ideapad 5 14are05 running on Ubuntu 20.04 with kernel 5.8.0-50-generic.

I would like to ask what is the status with this issue?

Revision history for this message
Michael Amplatz (xekuta747) wrote :

Tried Ubuntu 21.04 today. Still does not work, neither with 14IIL05, nor
with V15-IIL. Waiting for about one year now.

Am 25.04.21 um 10:16 schrieb Petteri P:
> Hi, I have just run into the same random touchpad problem as others with
> my Lenovo Ideapad 5 14are05 running on Ubuntu 20.04 with kernel
> 5.8.0-50-generic.
>
> I would like to ask what is the status with this issue?
>

Revision history for this message
Hans de Goede (j-w-r-degoede) wrote :

Hi All,

So this is a bit of a mess which I'm trying to sort out ATM, there are at least 4 different issues with Ideapad touchpads that I'm aware of:

1. There was a Linux ACPI issue where the resource-list (_CRS) for the touchpad given to Linux was not correct, this has been fixed for a while now by these 2 commits from me:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=21653a4181ff292480599dad996a2b759ccf050f
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8058d69905058ec8f467a120b5ec5bb831ea67f3
These commits should be in recent Ubuntu kernels so if you are still seeing issues then this issue was not the root cause for your laptop model.

2. On some Ideapad models the elants_i2c driver takes control of handling the touchpad, but the touchpad does not talk the elants protocol at all, it uses the standard I2C-HID protocol so this does not work. If adding "initcall_blacklist=elants_i2c_driver_init" to your kernel commandline fixes things, then your Ideapad model is hit by this. This is fixed now by this commit from me:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=65299e8bfb24774e6340e93ae49f6626598917c8
This commit was added to the 5.10.y and 5.12.y stable kernel series a couple of days ago, so hopefully it will get added to the Ubuntu kernels soon too.

3. On some Ideapads the BIOS seems to corrupt its own settings (often after a BIOS update) and as a result of this the BIOS is returning bogus addresses (NULL or 0xffffffff) as base-address from the ACPI _CRS call for some PCI devices, including the I2C controller connected to the touchpad. If adding "pci=nocrs" as a workaround helps then your model Ideapad is affected by this issue.

4. On some Ideapads something goes wrong with the OSYS code in the ACPI tables, this code is responsible for detecting which Windows version the ACPI tables think they are dealing with (or which Windows version Linux mimicks in case you are running Linux). To see if your Ideapad is affected by this issue try running:
"cat /sys/bus/acpi/devices/XXXX0000\:00/status"
from a terminal, if the output of this command is "15" then your model is affected by this issue. At least the "Lenovo Thinkbook 14-ILL" is known to be affected by this. The exact root cause of this is unknown atm. If your laptop is affected by this please run "acpidump -o acpidump" and attach the acpidump here, in combination with specifying the exact model of your laptop.

Revision history for this message
Hans de Goede (j-w-r-degoede) wrote :

Since root-cause 1/4 and 2/4 (of the 4 known root causes, see previous comment) are fixed now I would like to focus on further researching root-cause 3/4.

If adding "pci=nocrs" as a workaround helps to get your touchpad working then please do the following:

1. Boot *without* "pci=nocrs" on the kernel commandline (you can e.g. use the edit option in the grub-menu and remove it from the commandline for 1 boot that way. Then run: "dmesg > dmesg.without-nocrs" in a terminal.

2. Boot with "pci=nocrs" on the kernel commandline and then run: "dmesg > dmesg.with-nocrs" in a terminal.

3. Try entering your BIOS setup screen, then select "load optimized defaults" and then "save-and-exit" and check if you still need the "pci=nocrs" workaround after this. Note do this after collecting the 2 dmesg files please.

4. Attach both dmesg files here, in combination with specifying the exact model of your laptop; and also specify if loading + saving the BIOS defaults helped or not.

The goal here is to gather enough info about this problem to hopefully be able to come up with a workaround, e.g. automatically behave as if pci=nocrs is passed for devices where _CRS returns NULL or 0xffffffff as base-address.

Revision history for this message
Ratul Saha (thatanonyg) wrote :

@j-w-r-degoede I will get on that and attach the logs. I am on a Lenovo ideapad 3 15iil05. This is a weird issue and I will also provide the journalctl without pci=nocrs as I found something weird there. More info in the next comment. Thanks for researching this.

PS: Another thing I experienced is that every time I ran Ubuntu or PopOS with `i8042.nopnp=1 pci=nocrs` my system got corrupted after few days. My disks would be mounted as read-only with seemingly no way to fix it. Even reinstalling Ubuntu won't fix it. It would only go away after reinstalling windows. I will confirm if those params were the reason after a few days as right now I am running a clean install of Ubuntu without those boot params.

Revision history for this message
Ratul Saha (thatanonyg) wrote :

I ran the tests and got the following results.

1. I have attached the dmesg file without enabling nocrs. (did not work)
2. I have attached the dmesg file with `i8042.nopnp=1 pci=nocrs`. (worked fine)
3. I have attached the dmesg file with `pci=nocrs` (no i8042.nopnp) (stability issues)

Loading and saving default BIOS settings did not work for me.

In the 3rd case, I experienced some stability issues with my system. Things crashed randomly and even had re-login because the whole session crashed once.

Laptop model: Lenovo ideapad 3 15iil05
Touchpad ID according to acpidump: 28D10

Revision history for this message
Petteri P (petterip) wrote :

So glad someone is on to this. I would like to help in testing, but I have very little knowledge in this area. I am running Lenovo Ideapad 5 14are05 on Ubuntu 20.04 with kernel 5.8.0-50-generic.

As an example regarding 3/4 where exactly should I add the "pci=nocrs" or regarding 4/4 what should I replace "XXXX0000" in order to run the cat command?

Revision history for this message
Oscar Parada (oparada1988) wrote :

I have the same laptop Ideapad 5 14are05, I can confirm that under a new installation of Ubuntu 20.04.2 with Kernel 5.8.55 the laptop still not work.

Revision history for this message
Hans de Goede (j-w-r-degoede) wrote :

@petterip:

> regarding 3/4 where exactly should I add the "pci=nocrs"

You should add this to the kernel commandline, see:
https://wiki.ubuntu.com/Kernel/KernelBootParameters

> regarding 4/4 what should I replace "XXXX0000" in order to run the cat command?

You should not replace it; on laptop models which are actually affected by this bug there is actually a directory path containing "XXXX0000", if you get a no such file or directory error then your laptop model is not affected by this issue.

Revision history for this message
Hans de Goede (j-w-r-degoede) wrote :

@thatanonyg, thank you for the logs

@thatanonyg, and everyone else for who adding "pci=nocrs" to the kernel commandline helps. I think I've figured out what is going on here and the patch which I'm attach should help, but it needs to be tested.

If you can build a kernel with this patch added and test that without "pci=nocrs" on the kernel commandline that would be great. Please also try dropping the "i8042=nopnp" kernel commandline option (that you need this is weird, but hopefully the patch + removing "pci=nocrs" from the cmdline helps).

Revision history for this message
Hans de Goede (j-w-r-degoede) wrote :

Ubuntu devs, if one of you could build a test-kernel with the patch added for reporters to test, then that would be great.

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "[PATCH] PCI/ACPI: Make acpi_pci_root_validate_resources() reject IOMEM resources which start at address 0" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Revision history for this message
Oscar Parada (oparada1988) wrote :

Ditto, if an Ubuntu Dev can build a test kernel with the patch I would be happy to throw it into my installation.

Revision history for this message
Petteri P (petterip) wrote (last edit ):

Thanks for the instructions. So I added the line GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=nocrs" and updated grub. I rebooted the machine at least five times and the touchpad never worked - I had to use an external mouse. This is a bit different in a sense that this seems to be consistent whereas usually the touchpad completely randomly works every now and then.

I think I will keep the settings as they are just to see if the touchpad randomly starts to work again. I mean the position of the moon might have an effect on this ;-)

Let me know if I can be of any help in further testing.

Btw, my kernel was just updated to 5.8.0-55-generic.

1 comments hidden view all 136 comments
Revision history for this message
Petteri P (petterip) wrote :

Regarding my previous post what happened is that the touchpad started to work again out of the blue. Before this the system had difficulties to shutdown. The shutdwown process lasted for minutes and during that the system displayed a message "i2c_designware AMDI0010:00: controller times out". This lasted for a long time. So long that I had time to take a photo of it which is attached.

Eventually the system managed to shutdown and now I that I turned on the system the touchpad works again. Bizarre.

Revision history for this message
Petteri P (petterip) wrote (last edit ):

Here is the dmesg output as well.

Revision history for this message
Bernhard Übelacker (bernhardu) wrote :

I can report that this device seems also affected:
Lenovo V15-IIL Iron Grey, Core i5-1035G1, 8GB RAM, 512GB SSD, DE (82C500JUGE)

This is with running a Debian testing kernel 5.10.0-7-amd64/5.10.40-1.

Adding the pci=nocrs makes the touchpad work, but unfortunately this does
not survive a standby or hibernate cycle.

@j-w-r-degoede: Do you still need your patch to be tested?

Revision history for this message
Hans de Goede (j-w-r-degoede) wrote :

Bernhard, no in the mean time I've learned that my patch is no good. I'm currently debugging this with a Fedora user who also needs pci=nocrs to get the touchpad to work:
https://bugzilla.redhat.com/show_bug.cgi?id=1868899

But this is going quite slow because the cycle between me providing the user with a kernel with some extra debugging logging added; and me getting a dmesg output for that test kernel back is quite slow.

Revision history for this message
Ratul Saha (thatanonyg) wrote :

@Hans de Goede (j-w-r-degoede) is the patch working for Ideapad 3 15iil05? Then I would compile a kernel myself and test it on my laptop.

Revision history for this message
Hans de Goede (j-w-r-degoede) wrote :

Ratul, the patch which I attached won 't help you. The patch is basically no good, because the problem is not what I thought it was.

Revision history for this message
Hans de Goede (j-w-r-degoede) wrote :

I've been working with a Fedora reporter to try and solve the case where pci=nocrs helps to get a working touchpad, see:
https://bugzilla.redhat.com/show_bug.cgi?id=1868899

Thanks to the latest set of logs attached there, I now am finally starting to understand what is going on here.

Your BIOS claims that any memory between 0x000000004bc50000-0x00000000cfffffff is reserved:

[ 0.000000] BIOS-e820: [mem 0x000000004bc50000-0x00000000cfffffff] reserved

But then continuous with placing the iomem window for PCI devices inside that reserved range:

[ 0.609988] pci_bus 0000:00: root bus resource [mem 0x65400000-0xbfffffff window]

This confuses the kernel and makes it unable to assign PCI iomem to devices which have not already been assigned iomem by the BIOS, like the I2C-controller used for the touchpad.

If you are interested in / curious about the low level details, I'm discussing this with the kernel PCI developers (including figuring out how to deal with this) here:
https://<email address hidden>/

Revision history for this message
Jayden (jayden99) wrote (last edit ):

@Hans de Goede Hi, I am using lenovo Ideapad 5 14IIL05 also. After I installed ubuntu 20.04,I can't even boot the ubuntu, I stuck at the black screen with blinking underscore. Is there anything I can do to solve this? I try to use ctrl alt f1 to f10 but no respond from ubuntu. Thanks in advance for your help.

Revision history for this message
Michael Amplatz (xekuta747) wrote :

@Jayden: Did you verify the image? Ubuntu 20.04 worked on my 14IIL05, of
course without touchpad. I know that all that is something off topic,
but we should clarify that very fast, so we know, if Jaydens Problem has
something to do with the Touchpad problem.

Am 08.07.21 um 04:27 schrieb Jayden:
> @Hans de Goede Hi, I am using lenovo Ideapad 5 14IIL05 also. After I
> installed ubuntu 20.04,I can't even boot the ubuntu, I stuck at the
> black screen with blinking underscore. Is there anything I can do to
> solve this? I try to use ctrl alt f1 to f10 but no respond from ubuntu.
> Thanks in advance for your help.
>

Revision history for this message
Michael Amplatz (xekuta747) wrote :

As this bug exists for more than a year now, it would be great if we
could re-activate Bluetooth-Mice with Keybord only after they say
goodbye occasionally.

Revision history for this message
Jayden (jayden99) wrote (last edit ):

Hi. I did verify the image. Now, I manage to get through the black screen by using win+fn+f2 to go to tty2 then win+fn+f1 to go to login screen. Sometimes if it stuck at black screen, I would use the method mentioned above. Sometimes it manage to get to the login screen directly. But I do think this issue has sth to do with the touchpad. Cuz I will see the error messages controller timeout when I shut the system down (if the touchpad is nit working). For my laptop, the touchpad works sometimes while sometimes it doesn't.

Revision history for this message
Ratul Saha (thatanonyg) wrote :

Can we get a fix after over a year now? I think we have enough people suffering to deserve a fix for this bug.

Revision history for this message
Abhijit (abhi-ghsh) wrote :

I had similar issue.

Lenovo Ideapad 5 14ARE05 dual boot Windows 10 and Ubuntu 20.04 (Kernel 5.11 after update)

Solution steps:

(1) Update your Ubuntu 20.04 installation with all the latest update. This should update your Kernel too (mine updated to 5.11).

(2) Reboot

(3) Go to Windows 10 and Download and install Latest BIOS update and install it. In my case BIOS updated from V1.09 to 1.10.
***Be careful and pay close attention to the instructions shown by the BIOS update installer. Ideally you should fully charge your laptop before performing BIOS update and keep your charger connected.***

Running BIOS update will reboot your system and change BIOS settings to default. If you had disabled secure boot to install and dual boot Ubuntu then this will enable secure boot option. You will need to disable it again. Once BIOS update is completed reboot and go to BIOS (F2)

(4) Disable secure boot in BIOS again

(5) Boot to Ubuntu. (Tip: Use F12 key to boot to Ubuntu if you do not get Ubuntu Grub Bootloader Menu. You can change the boot order from BIOS settings (F2) permanently)

Your touchpad should start working.

Revision history for this message
Petteri P (petterip) wrote (last edit ):

I am not sure what has happened with my Ideapad 5-14ARE05 laptop, but it just seems that this problem has disappeared. I assume some update fixed it finally.

I am unning 5.11.0-34-generic #36~20.04.1-Ubuntu

I have many other problems with the machine such as it does not suspend when the lid is closed and behaves strangely with my bluetooth headset. This laptop with Linux has really worn me out...

2 comments hidden view all 136 comments
Revision history for this message
Hans de Goede (j-w-r-degoede) wrote :

This is a follow-up to comment #123

Sorry for the long silence on this bug. I was hoping one of the upstream pci-subsys devs would help out with this...

Since that did not happen I've been looking into fixing this myself now. I've come up with a solution which still involves a kernel cmdline option for now, but this one is a much smaller hammer (almost a scalpel) and once it is confirmed that this works I can enable this by default through a DMI quirk.

I also hope that this option will not cause the stability issues seen when using pci=nocrs and that it will remove the need to specify i8042.nopnp=1 .

I'll attach my patch here and then hopefully one of the Ubuntu devs can build a test-kernel for people who need pci=nocrs to test.

Alternatively you can build your own kernel with this patch added, see the Ubuntu docs for how to do this.

Once you have a kernel with this patch, remove pci=nocrs and i8042.nopnp=1 from the kernel-commandline and instead add only "pci=no_e820".

If this helps please provide DMI strings for your laptop, so that I can add a quirk to the kernel to automatically enable "pci=no_e820" on your laptop model. Run the following command *as normal user* to collect the DMI strings for your laptop:

grep . /sys/class/dmi/id/* 2> /dev/null

And copy and paste the output here.

Revision history for this message
Hans de Goede (j-w-r-degoede) wrote :

Please test a kernel build with this patch, combined with adding "pci=no_e820" added to the kernel commandline. See comment 133 for more details.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

A test kernel with the patch can be found here:
https://people.canonical.com/~khfeng/lp1878279/

Revision history for this message
Hans de Goede (j-w-r-degoede) wrote :

Kai-Heng, thank you for providing the test kernel.

Folks, if you need to add pci=nocrs to your kernel-commandline to get your touchpad to work, please test this kernel:

https://people.canonical.com/~khfeng/lp1878279/

With pci=no_e820 on the kernel commandline (replacing pci=nocrs). If the touchpad works this way, please provide DMI strings for your laptop, so that I can add a quirk to the kernel to automatically enable "pci=no_e820" on your laptop model. Run the following command *as normal user* to collect the DMI strings for your laptop:

grep . /sys/class/dmi/id/* 2> /dev/null

And copy and paste the output here.

Displaying first 40 and last 40 comments. View all 136 comments or add a comment.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.