Lenovo ThinkBook 14-IML Touchpad not showing up in /proc/bus/input/devices

Bug #1853277 reported by Jonas Behrendt on 2019-11-20
216
This bug affects 42 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
High
Unassigned
Focal
High
Unassigned
Groovy
High
Unassigned
linux-oem-5.6 (Ubuntu)
Undecided
Unassigned
Focal
High
Unassigned
Groovy
Undecided
Unassigned

Bug Description

== SRU Justification ==
[Impact]
Touchpad on sereval Lenovo ThinkBook doesn't work.

[Fix]
Maintain method calling ordering by calling _REG before issuing _STA, as
ACPI spec suggested, for I2C ACPI devices.

[Test]
Positive feedback from several users.

[Regression Potential]
If there are some systems that rely on the wrong calling ordering then
there's a regression risk. However it's rather unlikely.

== Original Bug Report ==
This is happening on a ThinkBook 14 IML 20RV.

ProblemType: Bug
DistroRelease: Ubuntu 19.10
Package: linux-image-5.3.0-18-generic 5.3.0-18.19+1
ProcVersionSignature: Ubuntu 5.3.0-18.19-generic 5.3.1
Uname: Linux 5.3.0-18-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.20.11-0ubuntu8
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: ubuntu 1848 F.... pulseaudio
CasperVersion: 1.427
CurrentDesktop: ubuntu:GNOME
Date: Wed Nov 20 11:10:52 2019
LiveMediaBuild: Ubuntu 19.10 "Eoan Ermine" - Release amd64 (20191017)
MachineType: LENOVO 20RV
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=C.UTF-8
 SHELL=/bin/bash
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/casper/vmlinuz file=/cdrom/preseed/username.seed quiet splash ---
RelatedPackageVersions:
 linux-restricted-modules-5.3.0-18-generic N/A
 linux-backports-modules-5.3.0-18-generic N/A
 linux-firmware 1.183
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 10/10/2019
dmi.bios.vendor: LENOVO
dmi.bios.version: CJCN21WW
dmi.board.name: LVA/LVAB
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40697 WIN
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.modalias: dmi:bvnLENOVO:bvrCJCN21WW:bd10/10/2019:svnLENOVO:pn20RV:pvrLenovoThinkBook14-IML:rvnLENOVO:rnLVA/LVAB:rvrSDK0J40697WIN:cvnLENOVO:ct10:cvr:
dmi.product.family: ThinkBook 14-IML
dmi.product.name: 20RV
dmi.product.sku: LENOVO_MT_20RV_BU_idea_FM_ThinkBook 14-IML
dmi.product.version: Lenovo ThinkBook 14-IML
dmi.sys.vendor: LENOVO

Jonas Behrendt (jbndt) wrote :

This change was made by a bot.

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

Please try boot with kernel parameter "i8042.nopnp=1".

Po-Hsu Lin (cypressyew) wrote :

Marked as Incomplete as per request in comment #3, please change it back to Confirmed after testing.
Thanks

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Sion Hughes (sionwhughes) wrote :

Similar issue here on ThinkBook 15 IML, running 18.04.

Tried booting with kernel parameter "i8042.nopnp=1" but made no difference.

AaronMa (mapengyu) wrote :

Could you try to upgrade BIOS?

If it is still not working please upload the results of "sudo acpidump" and dmesg.

Sion Hughes (sionwhughes) wrote :

There's no BIOS update on Lenovo's site, only a comment that it has been pulled.

'sudo acpidump' output attached.

Barbara (barbara-u1) wrote :

Same issue on ThinkBook 14 IML, running Ubuntu 18.04.
A quick test with Manjaro 18.1.3 showed the same issue.

Po-Hsu Lin (cypressyew) on 2019-12-27
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
alexey boltynov (djbolya) wrote :

The same issue on the ThinkBook 15 IML, running 18.04.
Also, there are another issue with finger login, I can`t use it.

Daniel Frith (dfrith) wrote :

hello, also having this problem with the ThinkBook 15.

The touchpad seems to be of type "ELAN062F". I see this is also the same as listed in OP's udevdb.

It seems that this could be the fix, since the ID "ELAN062F" is not present in the whitelist in "include/linux/input/elan-i2c-ids.h":
https://lkml.org/lkml/2019/12/1/179
?

Can anyone confirm if this is correct? And, is there any easy way to enable this without recompiling the kernel?

You-Sheng Yang (vicamo) on 2020-02-03
summary: - Touchpad not showing up in /proc/bus/input/devices
+ Lenovo ThinkBook 14-IML Touchpad not showing up in
+ /proc/bus/input/devices
You-Sheng Yang (vicamo) wrote :

Can you paste the output of `ls -al /sys/bus/i2c/devices/*/` (with the tailing '/') and `ls /sys/bus/acpi/devices`. If there is an I2C device for it, then it should be listed.

Nikolai Kostrigin (realnickel) wrote :

Managed to get the touchpad operate on 15-IML applying the following:

Initially touchpad didn't operate at all under Linux.

0) UEFI firmware update to CJCN24WW revision (https://pcsupport.lenovo.com/ru/ru/products/laptops-and-netbooks/thinkbook-series/thinkbook-15-iml/downloads/driver-list/component?name=BIOS)

Result: touch pad becomes operational, but no extra functions (multi-touch scrolling, etc) available.

1) Kernel 5.4.15 + patch (https://lkml.org/lkml/2019/12/1/179)

Result: no change, as elan_i2c driver doesn't detect the device and is not loaded

2) ACPI DSDT table patching (renaming XXXX0000 -> ELAN062F), https://github.com/realnickel/lenovo_thinkbook_iml15_touchpad_acpi_fix/commit/de0ca637f7d8de2164c787801b4af9d4ff586d67

Result: elan_i2c driver detects the hardware, full functional.

Martina (cantappa) wrote :

I followed the steps in the comment of Nikolai and got the touchpad of my 14-IML completely working (including multi-touch, scrolling,...) on Ubuntu 19.10.
Thanks for your help!

Can you please share the steps that I need to follow to patch the ACPI DSDT table?

Martina (cantappa) wrote :

This is how I got the DSDT ACPI table patched and installed:

1. Disassemple the current dsdt ACPI table (see [1]):
```
mkdir -p /tmp/acpitables
cd /tmp/acpitables
sudo acpidump > acpidump.out
acpixtract -a acpidump.out
iasl -d dsdt.dat
```
In my case the output dsdt.dsl file contained some invalid error output lines at the very beginning which I just removed. Otherwise, the compiling in step 4 results in errors.

3. Apply this patch to dsdt.dsl (see [2]):
```
- Name (_HID, "XXXX0000") // _HID: Hardware ID
+ Name (_HID, "ELAN062F") // _HID: Hardware ID
```

4. Create an assembler source file out of the patched dsdt.dsl:
```
iasl -sa dsdt.dsl
```

5. Create a CPIO archive to be loaded by the bootloader (see [3]):
```
mkdir -p kernel/firmware/acpi
cp dsdt.aml ssdt1.aml kernel/firmware/acpi
find kernel | cpio -H newc --create > acpi_override
sudo cp acpi_override /boot
```

6. Install the patched dsdt file (see [4]):
```
cpio --extract < ./acpi_override
cp kernel/firmware/acpi/dsdt.aml /boot/fixed_dsdt.aml
# Create or update /boot/grub/custom.cfg to contain
acpi /fixed_dsdt.aml
```

Sources:
[1] https://01.org/linux-acpi/utilities
[2] https://github.com/realnickel/lenovo_thinkbook_iml15_touchpad_acpi_fix/commit/de0ca637f7d8de2164c787801b4af9d4ff586d67
[3] https://wiki.archlinux.org/index.php/DSDT#Using_a_CPIO_archive
https://askubuntu.com/questions/1027552/including-a-custom-acpi-dsdt-with-kubuntu-18-04-rc1

Nikolai Kostrigin (realnickel) wrote :

Although I'm using OS ALT but I performed pretty much similar steps to patch the ACPI DSDT table.

> In my case the output dsdt.dsl file contained some invalid error output lines [...]

I also got multiple error messages which I commented for compile to succeed

/*
 *Firmware Error (ACPI): Could not resolve symbol [^GFX0.CLID], AE_NOT_FOUND (20190509/dswload-496)
 *Firmware Error (ACPI): Could not resolve symbol [^^PEG0.PEGP.DD1F], AE_NOT_FOUND (20190509/dswload-496)
 [...]
 *Firmware Error (ACPI): Could not resolve symbol [^^^UBTC.STS7], AE_NOT_FOUND (20190509/dswload2-477)
 */

> # Create or update /boot/grub/custom.cfg to contain
> acpi /fixed_dsdt.aml

In my case I used initrdefi grub command to overlay ACPI table:
initrdefi /boot/acpi_override /boot/initrd.img

duschata (t-tom) wrote :

I followed all steps Martina (cantappa) described. But I got this warning:

cpio --extract < ./acpi_override
cpio: kernel/firmware/acpi/dsdt.aml not created: newer or same age version exists
535 blocks

Shure that all steps are explained?

Jastria Rahmat (ijash) wrote :

I followed all steps Martina (cantappa) and "Apply this patch to dsdt.dsl". didn't explain on how to apply the patch. is it download the github file and replace the dsdt.dsl or add line or something, or replace XXXX0000 to ELAN062F?? because i cant find any XXXX0000 on generated dsdt.dsl.

also while doing `cp dsdt.aml ssdt1.aml kernel/firmware/acpi` ssdt1.aml was not found.
please elaborate..

duschata (t-tom) wrote :

@Jastria Rahmat (ijash) have you updated the firmware ( UEFI firmware update to CJCN24WW [2])

type

> xinput

is the XXXX0000 device shown there?

Teerth Sankesara (tsankesara) wrote :

Install Windows Then download lastest BIOS and Firmware, install them.
Install your Ubuntu and Done.. !

 https://pcsupport.lenovo.com/ru/ru/products/laptops-and-netbooks/thinkbook-series/thinkbook-15-iml/downloads/driver-list/component?name=BIOS

ChavTha Chau (chavtha) wrote :

@Teerth Sankesara (tsankesara), Is it fully functional, including multi-touch, double finger scrolling?

Teerth Sankesara (tsankesara) wrote :

@ChavTha Chau (chavtha)
nope, multi-touch zoom and finger scrolling is not working, but double touch is working. and hopefully, someone will release an applicable patch soon for all features..

Nikolai Kostrigin (realnickel) wrote :

I informed Lenovo support of the discussed issue on Feb,04 2020.
Since then I discovered an update [1] (CJCN25WW), but it still doesn't solve the issue.

It's changelog said:

"Summary of changes
==================
General Information:

CJCN25WW:
1. Update EC to CJEC27WW
2. Lenovo diagnostic of NOVO menu (04.11.000)
3. Intel release 2019 '2nd Security
4. BIOS initialize time (S3 resume)
5. Update thermal function for dGPU DPM"

Today, Mar,02 2020 one more BIOS update (CJCN26WW) [2] appeared on Lenovo's web site with a change log saying:

"Summary of changes
==================
General Information:

CJCN26WW:
1. Update EC to CJEC28WW"

Guess there is still no change to ACPI table, but didn't have a chance to try it myself yet.

[1] https://download.lenovo.com/consumer/mobiles/cjcn25ww.txt

[2] https://download.lenovo.com/consumer/mobiles/cjcn26ww.txt
    https://download.lenovo.com/consumer/mobiles/cjcn26ww.exe

Teerth Sankesara (tsankesara) wrote :

@Nikolai Kostrigin (realnickel)
have you updated Firmware, the firmware update is the solution, not BIOS update.

Try them and you'll be done.

https://download.lenovo.com/consumer/mobiles/cjme01ww.exe
https://download.lenovo.com/consumer/mobiles/cjme01ww.txt

ChavTha Chau (chavtha) wrote :

The touchpad is fully functional after updated to BIOS CJCN26WW. Tap to click works, two-finger scrolling and two-finger right click also works.

Nikolai Kostrigin (realnickel) wrote :

@ChavTha Chau (chavtha),

thank you for information. I confirm: BIOS update CJCN26WW solves the issue.
Actual vendor change to ACPI table is:

- Name (_HID, "XXXX0000") // _HID: Hardware ID
+ Name (_HID, "ELAN0632") // _HID: Hardware ID

pavelcheto (pavelcheto) wrote :

Hello,

I have the same problem. My laptop is Thinkbook 14 IML and I installed BIOS cjcn26ww and FIRMWARE cjme01ww. The issue is not fixed for me. My laptop uses Synaptics touchpad, not ELAN. I checked my dsdt.dat file. There is no line Name (_HID, "XXXX0000") // _HID: Hardware ID. The lines for ELAN0632 and ELAN062F are already there. There is also a line for a SYNA device but I guess is not the correct model number.

pavelcheto (pavelcheto) wrote :

I checked in Windows and the device is SYNA2B60. This ID is present in dsdt.dat.

Nikolai Kostrigin (realnickel) wrote :

@pavelcheto (pavelcheto),
does you touchpad operate in basic mode (like a mouse, without two-finger-scrolling and other extended functions) ?

Would you mind sharing the output of at least:
dmesg
cat /proc/bus/input/devices
lsmod

Nikolai Kostrigin (realnickel) wrote :

...and, by the way, which kernel version do you run?

pavelcheto (pavelcheto) wrote :
Download full text (87.2 KiB)

My touchpad does not work at all. I have no functionality. It works fine under MS Windows.

dmesg
`[ 0.000000] microcode: microcode updated early to revision 0xca, date = 2019-10-03
[ 0.000000] Linux version 5.3.0-40-generic (buildd@lcy01-amd64-026) (gcc version 9.2.1 20191008 (Ubuntu 9.2.1-9ubuntu2)) #32-Ubuntu SMP Fri Jan 31 20:24:34 UTC 2020 (Ubuntu 5.3.0-40.32-generic 5.3.18)
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.3.0-40-generic root=UUID=38a1528a-764a-49c4-b3ae-21a1efb69765 ro quiet splash i8042.nopnp vt.handoff=7
[ 0.000000] KERNEL supported cpus:
[ 0.000000] Intel GenuineIntel
[ 0.000000] AMD AuthenticAMD
[ 0.000000] Hygon HygonGenuine
[ 0.000000] Centaur CentaurHauls
[ 0.000000] zhaoxin Shanghai
[ 0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
[ 0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[ 0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[ 0.000000] x86/fpu: Supporting XSAVE feature 0x008: 'MPX bounds registers'
[ 0.000000] x86/fpu: Supporting XSAVE feature 0x010: 'MPX CSR'
[ 0.000000] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
[ 0.000000] x86/fpu: xstate_offset[3]: 832, xstate_sizes[3]: 64
[ 0.000000] x86/fpu: xstate_offset[4]: 896, xstate_sizes[4]: 64
[ 0.000000] x86/fpu: Enabled xstate features 0x1f, context size is 960 bytes, using 'compacted' format.
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009efff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009f000-0x00000000000fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007e4cffff] usable
[ 0.000000] BIOS-e820: [mem 0x000000007e4d0000-0x000000008ef9bfff] reserved
[ 0.000000] BIOS-e820: [mem 0x000000008ef9c000-0x000000008fb53fff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x000000008fb54000-0x000000008fc4dfff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x000000008fc4e000-0x000000008fc4efff] usable
[ 0.000000] BIOS-e820: [mem 0x000000008fc4f000-0x000000009b7fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x00000006627fffff] usable
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] e820: update [mem 0x75209018-0x75219057] usable ==> usable
[ 0.000000] e820: update [mem 0x75209018-0x75219057] usable ==> usable
[ 0.000000] extended physical RAM map:
[ 0.000000] reserve setup_data: [mem 0x0000000000000000-0x000000000009efff] usable
[ 0.000000] reserve setup_data: [mem 0x000000000009f000-0x00000000000fffff] reserved
[ 0.000000] reserve setup_data: [mem 0x0000000000100000-0x0000000075209017] usable
[ 0.000000] reserve setup_data: [mem 0x0000000075209018-0x0000000075219057] usable
[ 0.000000] reserve setup_data: [mem 0x0000000075219058-0x000000007e4cffff] usable
[ 0.000000] reserve setup_data: [mem 0x000000007e4d0000-0x000000008ef9bfff] reserved
[ 0.000000] reserve setup_data: [mem 0x000000008ef9c000-0x000000008fb53fff] ACPI NVS
[ 0.000000] reserve setup_data: [mem 0x000000008fb54000-0x000000008fc4dfff] ACPI data
[ 0.000000] reserve setup_data: [mem 0x0000...

Nikolai Kostrigin (realnickel) wrote :

Posting logs in the comment window is of little use as they are truncated.
Please consider using "Add attachment or patch" link below the window to share log files.

Nikolai Kostrigin (realnickel) wrote :

... oh, sorry, I found the link to a full log file...

AaronMa (mapengyu) wrote :

Hi pavelcheto
Could you remove i8042.nopnp in cmdline and try again?

Please upload dmesg too.

Nikolai Kostrigin (realnickel) wrote :

Somehow you've got two modules to be loaded simultaneously:

elan_i2c 40960 0
[...]
synaptics_i2c 20480 0

dmesg mentions ELAN0632:

[ 9.706424] i2c_hid i2c-ELAN0632:00: i2c-ELAN0632:00 supply vdd not found, using dummy regulator
[ 9.706437] i2c_hid i2c-ELAN0632:00: i2c-ELAN0632:00 supply vddl not found, using dummy regulator

but I didn't find SYNA2B60

It is not relevant to the bug, but your laptop also has one more ELAN device on USB bus (fingerprint sensor)

[ 1.492202] usb 1-5: new full-speed USB device number 2 using xhci_hcd
[ 1.644710] usb 1-5: New USB device found, idVendor=04f3, idProduct=0c4b, bcdDevice= 1.74
[ 1.644711] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1.644712] usb 1-5: Product: ELAN:Fingerprint
[ 1.644713] usb 1-5: Manufacturer: ELAN

So would you please share your logs for:
dmidecode
cat /sys/bus/acpi/devices/{ELAN,SYNA,CRQ}*/modalias
cat /sys/bus/acpi/devices/{ELAN,SYNA,CRQ}*/status

cat /sys/bus/i2c/devices/*/name
ls /sys/bus/i2c/devices/*

Could you also check VID/PID pair for your touchpad in Windows to check whether it is supported by the kernel you are using?

You may want to build latest stable or even mainline kernel for test purposes...

pavelcheto (pavelcheto) wrote :

Here's the output to:
-dmesg
-dmidecode
-cat /sys/bus/acpi/devices/{ELAN,SYNA,CRQ}*/modalias
-cat /sys/bus/acpi/devices/{ELAN,SYNA,CRQ}*/status
-cat /sys/bus/i2c/devices/*/name
-ls /sys/bus/i2c/devices/*

Here's Synaptics Hardware Ids from Windows:
HID\VEN_SYNA&DEV_2B60&Col01
HID\SYNA2B60&Col01
HID\*SYNA2B60&Col01
HID\VID_06CB&UP:0001_U:0002
HID_DEVICE_SYSTEM_MOUSE
HID_DEVICE_UP:0001_U:0002
HID_DEVICE

Nikolai Kostrigin (realnickel) wrote :

Following logs show that your Ubuntu definitely thinks your laptop is equipped with an ELAN touchpad (contrary to Windows opinion):

---------------------------------------------------------------------

cat /sys/bus/acpi/devices/{ELAN,SYNA,CRQ}*/modalias
acpi:ELAN0632:PNP0C50:

--------------------------------------------------------------------

cat /sys/bus/i2c/devices/*/name

Synopsys DesignWare I2C adapter
[...]
ELAN0632:00
----------------------------------------------------

cat /sys/bus/acpi/devices/{ELAN,SYNA,CRQ}*/status
0
15 - the only active state device is ELAN0632
0
0

Would you try blacklist drivers one-by-one:
1) blacklist elan_i2c
then check if this helps (somehow synaptics_i2c is triggered, so may be it is just interfered by elan)
2) quit blacklisting elan_i2c
   blacklist synaptics_i2c
check either...

pavelcheto (pavelcheto) wrote :

I tried. Nothing of it works..

1 comments hidden view all 131 comments
You-Sheng Yang (vicamo) wrote :

I'm to SRU https://lkml.org/lkml/2019/12/1/179 to B/E/F/OEM-OSP1-B/OEM-5.6 in bug 1861610.

tags: added: hwe-touchpad
51 comments hidden view all 131 comments
Rodion (ra1991k) wrote :

I have 15-IIL and for me this works too. Thank you very much!

Felix Schlitter (felixschl1) wrote :

15-IML here and this is the first time I see my touchpad working, thank you so much!

Tomaž Belcijan (whiteocean) wrote :

I have 14-IIL model and it WORKS! Fantastic work, thank you Kai!!

You're a lifesaver Kai!!

Ice Carev (icecarev) wrote :

@Kai-Heng Feng (kaihengfeng) i have a ThinkBook 15 IIL with a Linux Mint 20 Cinnamon version 4.6.7 and tried installing your kernel. After the install i wasn't able to boot the system. The message was that the key for the kernel wasn't right (something like that) and that the kernel can't be loaded. Any help is appreciated

Ice Carev (icecarev) wrote :

I just had to disable the secure boot in the BIOS :) How the touchpad works !!!
Thanks a lot Kai i was very close to returning this laptop :)

Ice Carev (icecarev) wrote :

Kai also would appreciate if you can let us know when can this change be added to the release kernel. Thank you for all your hard work.

Mine is Lenovo 15-IIL. Now my touchpad is working very well. Thanks for the great work, Kai!

Sami Vento (fisu81) wrote :

@Kai-Heng Feng (kaihengfeng): Is there patch source available somewhere to so I can (try to) get my touchpad working also on openSUSE-tw? thanks!

Zach Davis (zachdavis) wrote :

After 4 months of trying to get this to work, I can officially say I am up and running. Thank you to all who have taken the time to get this working!

Kai-Heng Feng (kaihengfeng) wrote :

Can you please test this? This one have the correct fix for the issue:
https://people.canonical.com/~khfeng/lp1853277-final/

Cristian Waimann (galenso85) wrote :

Hi Kai,

I tried the newest kernel but the touchpad is not recognized in it.

This worked for me:

Kernel resolve problem: https://people.canonical.com/~khfeng/lp1853277-hack-5/

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

Solved Model: Lenovo ThinkBook 14-IIL

SO: Ubuntu 20.4.1

Hi Kai,

I am reporting that this kernel https://people.canonical.com/~khfeng/lp1853277-final/ works for me, thank you!

However, I needed to un-blacklist i2c_hid for touchpad to work, therefore I had to undo the changes described here https://people.canonical.com/~khfeng/lp1853277-final/

Thanks!

Irwan Oyong (irwanoyong) wrote :

Hi, thank you guys for the thread and Kai for the kernel update.

I am currently running Linux 5.9.0-rc4+ I downloaded from https://people.canonical.com/~khfeng/lp1853277-final/

The touchpad is now working great, but my display is kinda glitchy and laggy. And from what I noticed, it is because of the NVIDIA graphic card is not working normally.
From the lshw -C display output we can see that the NVIDIA graphic card is UNCLAIMED.

Does anyone have suggestions for the workaround? Thank you.

NB:
I attached two images comparing the one running 5.9.0-rc4+ kernel and 5.4.0-42-generic.
Device Lenovo Yoga Slim 7 14IIL05, OS Ubuntu 20.04. And I have disabled Secure Boot in BIOS.

Kai-Heng Feng (kaihengfeng) wrote :

Sorry, was a bit busy lately.

For users that needs DKMS, please use this PPA before official kernel has the fix:
https://launchpad.net/~kaihengfeng/+archive/ubuntu/lp1853277

Sami Vento (fisu81) wrote :

Hi Kai,

Thank you! This patch also works with yoga-slim-7-14iil05 and linux kernel 5.9.0-rc5 (openSUSE-TW).

description: updated
Changed in linux-oem-5.6 (Ubuntu Groovy):
status: New → Invalid
Changed in linux-oem-5.6 (Ubuntu Focal):
status: New → Confirmed
Changed in linux (Ubuntu Focal):
status: New → Confirmed
importance: Undecided → High
Changed in linux (Ubuntu Groovy):
importance: Undecided → High
Changed in linux-oem-5.6 (Ubuntu Focal):
importance: Undecided → High

Hey Guys today i had received my lenovo think book 14 iml and on linux touch pad is not working and even not getting detected please help me i had read previous comments but i got nothing how to do can any one please guide me in a simpler way will be very thankfull.

Dmitry Sekushin (sekushin) wrote :

Gaurav, for starters install the Kai's patched kernel from here: https://people.canonical.com/~khfeng/lp1853277-final/

...and report if your touchpad works with it.

@Dmitry i installed the kernel but nothing changed here.
what should i try now?

Hans de Goede (j-w-r-degoede) wrote :

Gaurav, did you reboot into the patched kernel?

And what is the output of "uname -r" in a terminal (after rebooting), does that show that you are running the patched kernel now?

yes i did reboot i tried installing linux-image-5.9.0-rc4+_5.9.0-rc4+-4_amd64.deb and now it is working like charm i wanted to know if there will be any update in kernal then what patch or how should i do that ??

BTW thanks to all u guys thankyou very very much

Jekyll (jekyllsmagic) wrote :

Thank you Kai-Heng Feng - you're awesome.

Reg Clucas (regub) wrote :

What is the scope of the fix? I assume of course that it means the touchpad is now usable, but does it also enable the option for turning off "tap to click" in Ubuntu Settings? I ask because this option is not available in the Windows 10 installation that was preinstalled on my Thinkbook 15 IIL.

pehem (pehem-1) wrote :

Hi,

My configuration : LENOVO Yoga Slim 7 15IIL05 / secure boot disabled / Linux Mint 20
I confirm that my touchpad is now working thanks to linux-image-5.9.0-rc4+_5.9.0-rc4+-1_amd64.deb

A huge thank you !

Launchpad Janitor (janitor) wrote :
Download full text (44.2 KiB)

This bug was fixed in the package linux - 5.8.0-20.21

---------------
linux (5.8.0-20.21) groovy; urgency=medium

  * groovy/linux: 5.8.0-20.21 -proposed tracker (LP: #1896668)

  * Lenovo ThinkBook 14-IML Touchpad not showing up in /proc/bus/input/devices
    (LP: #1853277)
    - i2c: core: Call i2c_acpi_install_space_handler() before
      i2c_acpi_register_devices()

  * Enable LTR for endpoints behind VMD (LP: #1896598)
    - SAUCE: PCI/ASPM: Enable LTR for endpoints behind VMD

  * Remove duplicated code in ip_defrag.sh of kselftests/net (LP: #1894062)
    - Revert "UBUNTU: SAUCE: selftests: net: ip_defrag: modprobe missing
      nf_defrag_ipv6 support"

  * [SRU] [Focal/OEM-5.6/Groovy]Fix AMD usb host controller lost after stress S3
    (LP: #1893914)
    - SAUCE: xhci: workaround for S3 issue on AMD SNPS 3.0 xHC

  * debian/rules editconfigs does not work on s390x to change s390x only configs
    (LP: #1863116)
    - [Packaging] kernelconfig -- only update/edit configurations on architectures
      we have compiler support

  * [Ubuntu 20.10] zPCI DMA tables and bitmap leak on hard unplug (PCI Event
    0x0304) (LP: #1896216)
    - s390/pci: fix leak of DMA tables on hard unplug

  * md: improve IO accounting (LP: #1891151)
    - md: improve io stats accounting

  * Groovy update: v5.8.10 upstream stable release (LP: #1896078)
    - ARM: OMAP2+: Fix an IS_ERR() vs NULL check in _get_pwrdm()
    - ARM: dts: logicpd-torpedo-baseboard: Fix broken audio
    - ARM: dts: logicpd-som-lv-baseboard: Fix broken audio
    - ARM: dts: logicpd-som-lv-baseboard: Fix missing video
    - regulator: push allocation in regulator_ena_gpio_request() out of lock
    - regulator: remove superfluous lock in regulator_resolve_coupling()
    - ARM: dts: socfpga: fix register entry for timer3 on Arria10
    - ARM: dts: omap5: Fix DSI base address and clocks
    - ARM: dts: ls1021a: fix QuadSPI-memory reg range
    - ARM: dts: imx7ulp: Correct gpio ranges
    - arm64: dts: imx: Add missing imx8mm-beacon-kit.dtb to build
    - ARM: dts: imx7d-zii-rmu2: fix rgmii phy-mode for ksz9031 phy
    - RDMA/rtrs-srv: Replace device_register with device_initialize and device_add
    - RDMA/rxe: Fix memleak in rxe_mem_init_user
    - RDMA/rxe: Drop pointless checks in rxe_init_ports
    - RDMA/rxe: Fix panic when calling kmem_cache_create()
    - RDMA/bnxt_re: Do not report transparent vlan from QP1
    - RDMA/bnxt_re: Fix the qp table indexing
    - RDMA/bnxt_re: Static NQ depth allocation
    - RDMA/bnxt_re: Fix driver crash on unaligned PSN entry address
    - RDMA/bnxt_re: Remove the qp from list only if the qp destroy succeeds
    - drm/sun4i: add missing put_device() call in sun8i_r40_tcon_tv_set_mux()
    - arm64: dts: imx8mq: Fix TMU interrupt property
    - drm/sun4i: Fix dsi dcs long write function
    - scsi: qla2xxx: Fix regression on sparc64
    - scsi: libsas: Set data_dir as DMA_NONE if libata marks qc as NODATA
    - drm/virtio: fix unblank
    - RDMA/core: Fix unsafe linked list traversal after failing to allocate CQ
    - RDMA/core: Fix reported speed and width
    - scsi: megaraid_sas: Don't call disable_irq from process IRQ poll
    - scsi: mpt3sas: Don'...

Changed in linux (Ubuntu Groovy):
status: Confirmed → Fix Released

Guys, I have a problem (new - clear ubuntu 20.04, Thinkbook 14)

I installed that "linux-image-5.9.0-rc4+_5.9.0-rc4+-1_amd64.deb" after restarting Ubuntu (froze, and need to use power button) :

Case 1:

clicked power button twice (shut down and start)

error cant find command 'humatch'
error: Command Failed,
{6x}
error: You need to load the kernel first.

...

There is nothing to do so:
Case 2: clicked power button twice again -> after start there is a black page, nothing... nice

step Case 3: clicked power button twice -> Ubuntu started but before start there are lost of errors:
image of monitor uploaded here: https://ibb.co/jZ72N9y

Ubuntu started. After Restart or Power off there is Case 1...

Btw while installing that hack there was a warning: possible missing firmware /lib/firmware/rtl_nic/rtl8125b-2.fw for module r8169

Secure boot is off in bios... (I dont know what is it :) I am lame)

Thanks for help

Ian (ian-may) on 2020-10-06
Changed in linux (Ubuntu Focal):
status: Confirmed → Fix Committed
Mark Voorberg (mvoorberg) wrote :

I can confirm that installing the 5.8.14 kernel works on the Thinkbook 14.

Find the mailine kernels here:

https://kernel.ubuntu.com/~kernel-ppa/mainline/?C=N;O=D

Download these files:

linux-headers-5.8.14-050814_5.8.14-<numbers>_all.deb
linux-headers-5.8.14-050814-generic_5.8.14-<numbers>_amd64.deb
linux-image-unsigned-5.8.14-050814-generic_5.8.14-<numbers>_amd64.deb
linux-modules-5.8.14-050814-generic_5.8.14-<numbers>_amd64.deb

Copy them all to an empty folder and run:

sudo dpkg -i *.deb

After installation, reboot & enjoy!
-Thanks all

Although above the fix is released in 5.8.0-20.21, today I upgraded to Groovy, 5.8.0-22-generic #23-Ubuntu and still have no working touchpad.

$ cat /sys/bus/acpi/devices/ELAN0632:00/status
15

$ cat /sys/bus/acpi/devices/{ELAN,SYNA,CRQ}*/status
0
15
0
0

$ cat /sys/bus/i2c/devices/*/name
SMBus I801 adapter at efa0
Synopsys DesignWare I2C adapter
i915 gmbus dpb
i915 gmbus dpc
i915 gmbus misc
i915 gmbus dpd
AUX A/port A
AUX B/port B
DPMST
ELAN0632:00

Using the patched kernel from Kai on Focal did fix the issue. Any idea why the touchpad is no longer working?

Kai-Heng Feng (kaihengfeng) wrote :

It's probably a different bug. Please file a new one.

Thanks, see #1899776

Timo Aaltonen (tjaalton) on 2020-10-16
Changed in linux-oem-5.6 (Ubuntu Focal):
status: Confirmed → Fix Committed
Hans de Goede (j-w-r-degoede) wrote :

@tjaalton, note the fix which I originally wrote for this causes regressions on some devices, a follow up fix is necessary, see:

https://<email address hidden>/
https://<email address hidden>/

Timo Aaltonen (tjaalton) wrote :

meh... khfeng did you know about those?

Timo Aaltonen (tjaalton) wrote :

probably not as they were submitted this week

Changed in linux-oem-5.6 (Ubuntu Focal):
status: Fix Committed → Triaged
Changed in linux (Ubuntu Groovy):
status: Fix Released → Triaged

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-focal' to 'verification-done-focal'. If the problem still exists, change the tag 'verification-needed-focal' to 'verification-failed-focal'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-focal
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-oem-5.6 - 5.6.0-1032.33

---------------
linux-oem-5.6 (5.6.0-1032.33) focal; urgency=medium

  * focal/linux-oem-5.6: 5.6.0-1032.33 -proposed tracker (LP: #1899926)

  * CVE-2020-12351 // CVE-2020-12352 // CVE-2020-24490
    - Bluetooth: Disable High Speed by default
    - Bluetooth: MGMT: Fix not checking if BT_HS is enabled
    - [Config] Disable BlueZ highspeed support

  * CVE-2020-12351
    - Bluetooth: L2CAP: Fix calling sk_filter on non-socket based channel

  * CVE-2020-12352
    - Bluetooth: A2MP: Fix not initializing all members

  * Lenovo ThinkBook 14-IML Touchpad not showing up in /proc/bus/input/devices
    (LP: #1853277)
    - i2c: core: Call i2c_acpi_install_space_handler() before
      i2c_acpi_register_devices()

  * [SRU]alsa: add Dell tgl soundwire machines support (LP: #1900069)
    - ALSA: hda: add autodetection for SoundWire
    - ASoC: Intel: common: add match table for TGL MAX98373 + RT5682 SoundWire
      driver
    - ASoC: Intel: soc-acpi: mirror CML and TGL configurations
    - ASoC: SOF: topology: send ipc for all found DAIs in sof_set_dai_config
    - ASoC: topology: set component dai_index to ipc dai config dai_index
    - ASoC: Intel: add codec name prefix to ACPI machine description
    - ASoC: Intel: sof_sdw: remove hard-coded codec_conf table
    - ASoC: Intel: sof_sdw_rt700: add codec prefix
    - ASoC: Intel: add support for new SoundWire hardware layout on TGL
    - ASoC: Intel: sof_sdw_rt711: remove hard-coded codec name
    - ASoC/soundwire: bus: use property to set interrupt masks
    - soundwire: bus: filter-out unwanted interrupt reports
    - soundwire: slave: add first_interrupt_done status
    - soundwire: bus: use quirk to filter out invalid parity errors
    - ASoC: codecs: realtek-soundwire: ignore initial PARITY errors

  * Fix system reboot when disconnecting WiFi (LP: #1899726)
    - iwlwifi: msix: limit max RX queues for 9000 family

  * Improve descriptions for XFAIL cases in kselftests/net/psock_snd
    (LP: #1900088)
    - selftests/net: improve descriptions for XFAIL cases in psock_snd.sh

  * Fix broken MSI interrupt after HDA controller was suspended (LP: #1899586)
    - ALSA: hda: Skip controller resume if not needed
    - ALSA: hda: Always use jackpoll helper for jack update after resume
    - SAUCE: ALSA: hda: fix jack detection with Realtek codecs when in D3
    - ALSA: hda - let hs_mic be picked ahead of hp_mic

  * Enable brightness control on HP DreamColor panel (LP: #1898865)
    - drm/i915/dpcd_bl: Unbreak enable_dpcd_backlight modparam
    - SAUCE: drm/i915/dpcd_bl: Skip testing control capability with force DPCD
      quirk
    - SAUCE: drm/dp: HP DreamColor panel brigntness fix

  * alsa/hda/realtek - The front Mic on a HP machine doesn't work (LP: #1899508)
    - SAUCE: ALSA: hda/realtek - The front Mic on a HP machine doesn't work

 -- Timo Aaltonen <email address hidden> Fri, 16 Oct 2020 14:40:28 +0300

Changed in linux-oem-5.6 (Ubuntu Focal):
status: Triaged → Fix Released

Hi,

I was tracking this error since very long but still it seems that the issue still exist.
Even after Installing the above mentioned kernel touch-pad is still not working neither is visible in /proc/bus/input/devices. (attached is the cat /proc/bus/input/devices output)

>uname -a
Linux dhinchakdhoom-Thinkbook 5.6.0-1032-oem #33-Ubuntu SMP Fri Oct 16 12:04:33 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Kai-Heng Feng (kaihengfeng) wrote :

Dhinchak Dhoom,

Can you please file a new bug? Thanks.

Verification for Focal is needed on this bug. Would someone who has tested the fix with focal please complete that? Thank you!

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-focal' to 'verification-done-focal'. If the problem still exists, change the tag 'verification-needed-focal' to 'verification-failed-focal'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

Displaying first 40 and last 40 comments. View all 131 comments or add a comment.