Lenovo IdeaPad Flex 5 Ryzen (14ARE05): Touchpad/trackpad unpredictably fails from any given boot

Bug #1884981 reported by Danila Shilyaev on 2020-06-24
44
This bug affects 7 people
Affects Status Importance Assigned to Milestone
Linux
Confirmed
Medium
linux (Ubuntu)
Undecided
Unassigned

Bug Description

I had Windows 10 on the device and the touch pad was working perfectly, but when I set up Ubuntu 20.04 with Windows, in both OCs the touch pad stopped working at all. It doesn't appear /proc/bus/input/devices file.

$ lsb_release -rd
Description: Ubuntu 20.04 LTS
Release: 20.04

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: linux-image-5.4.0-37-generic 5.4.0-37.41
ProcVersionSignature: Ubuntu 5.4.0-37.41-generic 5.4.41
Uname: Linux 5.4.0-37-generic x86_64
ApportVersion: 2.20.11-0ubuntu27
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: danila 1249 F.... pulseaudio
 /dev/snd/controlC0: danila 1249 F.... pulseaudio
CasperMD5CheckResult: skip
CurrentDesktop: ubuntu:GNOME
Date: Wed Jun 24 18:00:28 2020
InstallationDate: Installed on 2020-06-24 (0 days ago)
InstallationMedia: Ubuntu 20.04 LTS "Focal Fossa" - Release amd64 (20200423)
MachineType: LENOVO 81YM
ProcFB: 0 EFI VGA
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.4.0-37-generic root=UUID=c7036847-2fbc-429d-b113-30e6cc776647 ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-5.4.0-37-generic N/A
 linux-backports-modules-5.4.0-37-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: DTCN18WW(V1.04)
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 14ARE05
dmi.modalias: dmi:bvnLENOVO:bvrDTCN18WW(V1.04):bd03/25/2020:svnLENOVO:pn81YM:pvrIdeaPad514ARE05:rvnLENOVO:rnLNVNB161216:rvrNoDPK:cvnLENOVO:ct10:cvrIdeaPad514ARE05:
dmi.product.family: IdeaPad 5 14ARE05
dmi.product.name: 81YM
dmi.product.sku: LENOVO_MT_81YM_BU_idea_FM_IdeaPad 5 14ARE05
dmi.product.version: IdeaPad 5 14ARE05
dmi.sys.vendor: LENOVO

On my lenovo ideapad 5 14ARE05 random decides whether the touchpad works or not, but it stays the same until a second boot. Unlike the 15 inch version it has the following touchpad:
Device 'MSFT0004:00 06CB:CD98 Touchpad':
When it does not work, I get the following kernel error every few seconds:
i2c_designware AMDI0010:00: controller timed out
It is recognized by xinput in inoperational condition as well.
However, the behavior is not totally random. Chances are much better if I shut the computer down and then power it on after a few seconds compared to hitting the reboot button.
I am using manjaro linux, but also tried ubuntu and fedora, it's the same on all distros as well as on the 5.6 kernel.
I have been wondering if it is possible to completely restart the touchpad until it works, but I could not find out which component need to be restarted for that and how to do it. This would be a great functionality to fix all kinds of hardware bugs.
Another idea would be to find out what makes the touchpad go into the working or not working state. I would be pleased for any ideas.

Danila Shilyaev (demonbiker13) wrote :

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed

Please append following kernel boot parameters, reboot and attach output of `journalctl -b`:

  "dyndbg=file drivers/input/* +pt" i8042.debug=1 i8042.nopnp=1 log_buf_len=32M

For detailed steps, please see https://askubuntu.com/questions/19486/how-do-i-add-a-kernel-boot-parameter.

tags: added: hwe-touchpad
Changed in linux (Ubuntu):
status: Confirmed → Incomplete

I have the same touchpad issues with the same laptop IdeaPad 5 14ARE05

As requested by You-Sheng, I have added the kernel boot parameters and got some interesting logs.

Although, I am running arch linux, it looks like the journalctl logs are as relevant

Some boot, the touchpad is detected but not fully working (tab click fails, two fingers motion fails, etc)

Otherwise, it is not detected at all.

On kernel 5.7.6:
(no touchpad at all)
i2c_hid i2c-MSFT0004:00: HID over i2c has not been provided an Int IRQ
i2c_hid: probe of i2c-MSFT0004:00 failed with error -22

On kernel 5.8.2-rc2 mainline:
(touchpad acting limited)
i2c_hid i2c-MSFT0004:00: supply vdd not found, using dummy regulator
i2c_hid i2c-MSFT0004:00: supply vddl not found, using dummy regulator
i2c_hid i2c-MSFT0004:00: failed to retrieve report from device.
input: MSFT0004:00 06CB:CD98 Mouse as /devices/platform/AMDI0010:00/i2c-0/i2c-MSFT0004:00/0018:06CB:CD98.0001/input/input13
input: MSFT0004:00 06CB:CD98 Touchpad as /devices/platform/AMDI0010:00/i2c-0/i2c-MSFT0004:00/0018:06CB:CD98.0001/input/input14
hid-generic 0018:06CB:CD98.0001: input,hidraw0: I2C HID v1.00 Mouse [MSFT0004:00 06CB:CD98] on i2c-MSFT0004:00
i2c_hid i2c-MSFT0004:00: failed to retrieve report from device.
input: MSFT0004:00 06CB:CD98 Mouse as /devices/platform/AMDI0010:00/i2c-0/i2c-MSFT0004:00/0018:06CB:CD98.0001/input/input16
input: MSFT0004:00 06CB:CD98 Touchpad as /devices/platform/AMDI0010:00/i2c-0/i2c-MSFT0004:00/0018:06CB:CD98.0001/input/input17
hid-multitouch 0018:06CB:CD98.0001: input,hidraw0: I2C HID v1.00 Mouse [MSFT0004:00 06CB:CD98] on i2c-MSFT0004:00

If needed I can attached the full logs, but does not look like there is anything else relevant to this issue.

I have the same touchpad issues with the same laptop IdeaPad 5 14ARE05

I added the kernel boot parameters:
"dynbg=file drivers/input/* +pt" i8042.debug=1 i8042.nopnp=1 log_buf_len=32M

Then I could get the following logs:
On kernel 5.7.6:
(no touchpad at all)
i2c_hid i2c-MSFT0004:00: HID over i2c has not been provided an Int IRQ
i2c_hid: probe of i2c-MSFT0004:00 failed with error -22

On kernel 5.8.2-rc2 mainline:
(touchpad acting limited)
i2c_hid i2c-MSFT0004:00: supply vdd not found, using dummy regulator
i2c_hid i2c-MSFT0004:00: supply vddl not found, using dummy regulator
i2c_hid i2c-MSFT0004:00: failed to retrieve report from device.
input: MSFT0004:00 06CB:CD98 Mouse as /devices/platform/AMDI0010:00/i2c-0/i2c-MSFT0004:00/0018:06CB:CD98.0001/input/input13
input: MSFT0004:00 06CB:CD98 Touchpad as /devices/platform/AMDI0010:00/i2c-0/i2c-MSFT0004:00/0018:06CB:CD98.0001/input/input14
hid-generic 0018:06CB:CD98.0001: input,hidraw0: I2C HID v1.00 Mouse [MSFT0004:00 06CB:CD98] on i2c-MSFT0004:00
i2c_hid i2c-MSFT0004:00: failed to retrieve report from device.
input: MSFT0004:00 06CB:CD98 Mouse as /devices/platform/AMDI0010:00/i2c-0/i2c-MSFT0004:00/0018:06CB:CD98.0001/input/input16
input: MSFT0004:00 06CB:CD98 Touchpad as /devices/platform/AMDI0010:00/i2c-0/i2c-MSFT0004:00/0018:06CB:CD98.0001/input/input17
hid-multitouch 0018:06CB:CD98.0001: input,hidraw0: I2C HID v1.00 Mouse [MSFT0004:00 06CB:CD98] on i2c-MSFT0004:00

Hope that can helps us all find a fix for that issue.

Thanks! I also realized that chances are better for the touchpad to work if it worked on the last boot. I believe the kernel does strange things with it when it spams me with "controller timed out" messages on shutdown. I wrote a script which prevents the system from having these shutdown issues. It unloads some modules and then reloads them. Unfortunately it only helps for the next boot, the touchpad is never even recognized after running it.

sudo modprobe -r i2c_hid
sudo modprobe -r i2c_piix4
sudo modprobe -r hid_multitouch
sudo modprobe i2c_hid
sudo modprobe i2c_piix4
sudo modprobe hid_multitouch

It helps to break "bad boot streaks"

Interesting find indeed when doing
sudo modprobe -r i2c_hid
sudo modprobe i2c_hid
The "controller timed out" messages stops. Although that does not fix the touchpad it does suggest that this module is at cause.

After further digging, I got another set of log after booting on mainline (appended below). Basically, I see that the following shows up first before the "time out spamming" starts:

i2c_designware AMDI0010:00: i2c_dw_handle_tx_abort: lost arbitration
i2c_designware AMDI0010:00: controller timed out
i2c_hid i2c-MSFT0004:00: failed to retrieve report from device.

Now, I found these 3 exact log messages in this commit to fix another DELL Win8 touchpad in 2015:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v5.8-rc2&id=6d4f5440a3a2bb2e9d0d582bbf98234e9e9bb095

Maybe some learning from this commit can lead us to fix this for the MSFT touchpad.

Here my latest log on mainline:
---------------
i2c_hid i2c-MSFT0004:00: supply vdd not found, using dummy regulator
i2c_hid i2c-MSFT0004:00: supply vddl not found, using dummy regulator
i2c_designware AMDI0010:00: i2c_dw_handle_tx_abort: lost arbitration
i2c_designware AMDI0010:00: controller timed out
i2c_hid i2c-MSFT0004:00: failed to retrieve report from device.
input: MSFT0004:00 06CB:CD98 Mouse as /devices/platform/AMDI0010:00/i2c-0/i2c-MSFT0004:00/0018:06CB:CD98.0001/input/input13
input: MSFT0004:00 06CB:CD98 Touchpad as /devices/platform/AMDI0010:00/i2c-0/i2c-MSFT0004:00/0018:06CB:CD98.0001/input/input14
hid-generic 0018:06CB:CD98.0001: input,hidraw0: I2C HID v1.00 Mouse [MSFT0004:00 06CB:CD98] on i2c-MSFT0004:00
i2c_designware AMDI0010:00: controller timed out
i2c_hid i2c-MSFT0004:00: failed to retrieve report from device.
i2c_designware AMDI0010:00: controller timed out
i2c_hid i2c-MSFT0004:00: failed to retrieve report from device.
i2c_designware AMDI0010:00: controller timed out
i2c_hid i2c-MSFT0004:00: failed to retrieve report from device.
i2c_designware AMDI0010:00: controller timed out
i2c_designware AMDI0010:00: controller timed out
i2c_hid i2c-MSFT0004:00: failed to retrieve report from device.
input: MSFT0004:00 06CB:CD98 Mouse as /devices/platform/AMDI0010:00/i2c-0/i2c-MSFT0004:00/0018:06CB:CD98.0001/input/input17
input: MSFT0004:00 06CB:CD98 Touchpad as /devices/platform/AMDI0010:00/i2c-0/i2c-MSFT0004:00/0018:06CB:CD98.0001/input/input18
hid-multitouch 0018:06CB:CD98.0001: input,hidraw0: I2C HID v1.00 Mouse [MSFT0004:00 06CB:CD98] on i2c-MSFT0004:00
i2c_designware AMDI0010:00: controller timed out
i2c_designware AMDI0010:00: controller timed out
i2c_hid i2c-MSFT0004:00: failed to set a report to device.

I got another set of log after booting on mainline (appended below) and touchpad not working. The log shows up that first before the "controller timed out spamming" starts:

i2c_designware AMDI0010:00: i2c_dw_handle_tx_abort: lost arbitration
i2c_designware AMDI0010:00: controller timed out
i2c_hid i2c-MSFT0004:00: failed to retrieve report from device.

Now, I found these 3 exact log messages related to a touchpad issue in this kernel commit to fix another DELL Win8 touchpad in 2015:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v5.8-rc2&id=6d4f5440a3a2bb2e9d0d582bbf98234e9e9bb095

From this commit it seems like a similar failure occurs with the MSFT touchpad.

Kai-Heng Feng (kaihengfeng) wrote :

Please attach acpidump.

Interestingly there are phases which last a few days where it works perfectly. I am wondering which events trigger these phases. Maybe some windows update which makes it go into another shutdown state? Or some updates deep in the kernel? It once changed after trying to install a dkms module to get virtualbox running...

Created attachment 290225
attachment-6042-0.html

In my case, the laptop is my son's. Tonight, I gave up on manjaro, and
installed ubuntu. Touchpad didn't work. Booted into windows ... and it also
didn't work (which was new, my son who has been using it for a week and
half has not seen this before). Was not visible in Device Manager, and
scanning for new hardware did not reveal anything. I could not find any
Lenovo drivers to download.. I rebooted a few times. No touchpad in
windows. But there was a BIOS update, (1.06 I think, from July 8, change
note says something about SI03 fixes). I applied that. Secure Boot was
reenabled, and the trackpad worked again in windows. But still no good in
Ubuntu. This is with mainline 5.7.8 and 5.8 RC4. The BIOS update readme
said nothing about touchpad, but it looks like flashing the BIOS fixed the
problem (in Windows).

On Sat, 11 Jul 2020 at 21:19, <email address hidden> wrote:

> https://bugzilla.kernel.org/show_bug.cgi?id=208171
>
> --- Comment #4 from Ole Petersen (<email address hidden>) ---
> Interestingly there are phases which last a few days where it works
> perfectly.
> I am wondering which events trigger these phases. Maybe some windows update
> which makes it go into another shutdown state? Or some updates deep in the
> kernel? It once changed after trying to install a dkms module to get
> virtualbox
> running...
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.

I think that the touchpad can be reliably reset to a working state in either Windows or Linux by shutdown without AC power attached. In other circumstances, a restart can still leave the laptop with a non-working touchpad, including in Windows.

Brett Hagelstein (bhagelstein) wrote :

I am currently testing Mint 20 (based on 20.04) on an IdeaPad 5 14ARE05 with mainline 5.7.8-050708-generic and have the same error.

I have attached my acpidump if it is helpful.

Kai-Heng Feng (kaihengfeng) wrote :

Ok, possible to attach full dmesg with mainline kernel?

Brett Hagelstein (bhagelstein) wrote :

The attached file is the dmesg output when the trackpad failed to load correctly

Brett Hagelstein (bhagelstein) wrote :

And this attached file is the dmesg output when the trackpad worked on boot.

It may not be helpful, but there may be some patterns to it working or not:
- a restart generally does not change the status, if it was not working, a restart has not seemed to fix it
- a full shutdown and startup seems to be a roll of the dice as to whether it will work or not
- as others have pointed out, a restart to Windows, then a shutdown and startup seems to make it work every time
- suspending locks everything and it will not resume, but a forced power down and startup has always failed to start the trackpad correctly on next boot

Brett Hagelstein (bhagelstein) wrote :

Thanks @kaihenfeng! I am new to compiling my own kernel and hit an error last night:

BTF: .tmp_vmlinux.btf: pahole (pahole) is not available
Failed to generate BTF for vmlinux
Try to disable CONFIG_DEBUG_INFO_BTF
make: *** [Makefile:1139: vmlinux] Error 1

Any suggestions would be appreciated otherwise I will poke around in the menuconfig tonight

Kai-Heng Feng (kaihengfeng) wrote :

"Try to disable CONFIG_DEBUG_INFO_BTF".

Please disable it in .config. i.e. make it "# CONFIG_DEBUG_INFO_BTF is not set".

Brett Hagelstein (bhagelstein) wrote :

Thanks, that was helpful. I used the .config from the mainline 5.7.8 that I was running, but commented out the CONFIG_DEBUG_INFO_BTF and just hit enter for the default value for the remaining new parameters.

It did not eliminate the problem. It does seem better, a full shutdown/start seemed to recover more frequently, but in my sample of ~10 cycles it's hard to tell if that is significant.

The acpidump was identical to the previous kernel. I have attached the dmesg dump when the touchpad failed to work.

Kai-Heng Feng (kaihengfeng) wrote :

Please raise the issue to the following email address:
Jarkko Nikula <email address hidden> (maintainer:SYNOPSYS DESIGNWARE I2C DRIVER)
Andy Shevchenko <email address hidden> (reviewer:SYNOPSYS DESIGNWARE I2C DRIVER)
Mika Westerberg <email address hidden> (reviewer:SYNOPSYS DESIGNWARE I2C DRIVER)
Philipp Zabel <email address hidden> (maintainer:RESET CONTROLLER FRAMEWORK)
<email address hidden> (open list:SYNOPSYS DESIGNWARE I2C DRIVER)
<email address hidden> (open list)

Kai-Heng Feng (kaihengfeng) wrote :

Possible dupe of lp: #1887190, with different error though.

Brett Hagelstein (bhagelstein) wrote :

I am running with the mainline 5.8.0-050800rc5-generic at the moment and I have not been able to reproduce the error in five attempts! Even with the previously reliable failure generation after a hard poweroff after failed suspend/resume.

This contrasts to @louismichel 's poor/mixed experience with rc2 on arch, above.

It does not look like that commit was merged into rc5, FWIW.

As a further bonus, the internal microphone is now working! Off-topic, to be sure, but I will take it as a win!

I will post back with details if the touchpad fails again.

Is there an upstream kernel bug reported?

summary: - The touchpad soesn't work at all
+ No touchpad support on Lenovo IdeaPad 5 14ARE05

I have the same issue - am happy to help with logs or debug if needed. With either 5.7 or 5.8rc7, and with no dual-boot at all (linux only), the trackpad will sometimes fail to come up on boot.

The state will sometimes change when coming out of hibernation as well, without a full shutdown/reboot. Today, the trackpad wasn't working. After hibernating, waiting a while, then starting up again, it returned from hibernation successfully with a working trackpad.

Kẏra (thekyriarchy) wrote :
summary: - No touchpad support on Lenovo IdeaPad 5 14ARE05
+ Lenovo IdeaPad Flex 5 Ryzen (14ARE05): Touchpad/trackpad unpredictably
+ fails from any given boot
Changed in linux:
importance: Unknown → Medium
status: Unknown → Confirmed
Patrick Then (patrickthen) wrote :

The bug seems present in the Intel version of the Laptop as well, filed as Bug #1878279

Gregor Trefalt (gtrefalt) wrote :

I have the same problem on a fresh install of manjaro. However, when I first live booted it from the usb, the touchpad worked, and it worked also after I have installed the system. It only stopped working when I switched the screen to the tablet mode. After that it was not recognized anymore.

Mirei Tan (amilerix) wrote :

Somebody please help me. It's my first time installing and using ubuntu. I'm at a loss and don't know how to proceed. I have the same issue. The "AMDI0010:00: controller timed out". My laptop is Lenovo IdeaPad 5 14ARE05 81YM001NPH.
It came with windows 10 home. I was able to install Ubuntu via dualboot and was able to use it yesterday. This morning it started having that error but I can open the windows 10 is. For Ubuntu, I can only open recovery mode. When I proceed to resume opening ubuntu, I either get that error or get a black screen with a blinking _. Can somebody guide me on how to resolve this?

Thank you :(

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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