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

Bug #1853277 reported by Jonas Behrendt
250
This bug affects 50 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
High
Nilesh Pandhare
Focal
Fix Released
High
Kai-Heng Feng
Groovy
Fix Released
High
Unassigned
linux-oem-5.6 (Ubuntu)
Invalid
Undecided
Unassigned
Focal
Fix Released
High
zeeshan saleem
Groovy
Invalid
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

Revision history for this message
Jonas Behrendt (jbndt) 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
Kai-Heng Feng (kaihengfeng) wrote : Re: Touchpad not showing up in /proc/bus/input/devices

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

Revision history for this message
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
Revision history for this message
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.

Revision history for this message
AaronMa (mapengyu) wrote :

Could you try to upgrade BIOS?

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

Revision history for this message
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.

Revision history for this message
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)
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
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.

Revision history for this message
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)
summary: - Touchpad not showing up in /proc/bus/input/devices
+ Lenovo ThinkBook 14-IML Touchpad not showing up in
+ /proc/bus/input/devices
Revision history for this message
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.

Revision history for this message
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.

Revision history for this message
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!

Revision history for this message
Prashant Warrier (ghosthawkzero) wrote :

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

Revision history for this message
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

Revision history for this message
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

Revision history for this message
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?

Revision history for this message
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..

Revision history for this message
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?

Revision history for this message
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

Revision history for this message
ChavTha Chau (chavtha) wrote :

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

Revision history for this message
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..

Revision history for this message
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

Revision history for this message
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

Revision history for this message
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.

Revision history for this message
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

Revision history for this message
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.

Revision history for this message
pavelcheto (pavelcheto) wrote :

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

Revision history for this message
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

Revision history for this message
Nikolai Kostrigin (realnickel) wrote :

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

Revision history for this message
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...

Revision history for this message
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.

Revision history for this message
Nikolai Kostrigin (realnickel) wrote :

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

Revision history for this message
AaronMa (mapengyu) wrote :

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

Please upload dmesg too.

Revision history for this message
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...

Revision history for this message
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

Revision history for this message
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...

Revision history for this message
pavelcheto (pavelcheto) wrote :

I tried. Nothing of it works..

1 comments hidden view all 138 comments
Revision history for this message
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
58 comments hidden view all 138 comments
Revision history for this message
samiaji bintang (samiaji-bintang) wrote :

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

Revision history for this message
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!

Revision history for this message
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!

Revision history for this message
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/

Revision history for this message
Cristian Waimann (galenso85) wrote :

Hi Kai,

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

Revision history for this message
Gumer GOMES (dragon05thikbook14iil) wrote :

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

Revision history for this message
Nikita Tomilov (nikita-tomilov) wrote :

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!

Revision history for this message
Nikita Tomilov (nikita-tomilov) wrote :
Revision history for this message
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.

Revision history for this message
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

Revision history for this message
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
Revision history for this message
Gaurav Baghel (gauravbaghel1010) wrote :

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.

Revision history for this message
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.

Revision history for this message
Gaurav Baghel (gauravbaghel1010) wrote :

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

Revision history for this message
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?

Revision history for this message
Gaurav Baghel (gauravbaghel1010) wrote :

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

Revision history for this message
Jekyll (jekyllsmagic) wrote :

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

Revision history for this message
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.

Revision history for this message
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 !

Revision history for this message
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
Revision history for this message
Lukáš Litvaj (lukasllillsakul) wrote :

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 May (ian-may)
Changed in linux (Ubuntu Focal):
status: Confirmed → Fix Committed
Revision history for this message
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

Revision history for this message
Frederick Bojango (eej6eeghie5eiyec4ie8puetahw4ew3i) wrote :

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?

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

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

Revision history for this message
Frederick Bojango (eej6eeghie5eiyec4ie8puetahw4ew3i) wrote :

Thanks, see #1899776

Timo Aaltonen (tjaalton)
Changed in linux-oem-5.6 (Ubuntu Focal):
status: Confirmed → Fix Committed
Revision history for this message
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>/

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

meh... khfeng did you know about those?

Revision history for this message
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
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

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
Revision history for this message
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
Revision history for this message
Dhinchak Dhoom (dhinchakdhoom) wrote :

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

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

Dhinchak Dhoom,

Can you please file a new bug? Thanks.

Revision history for this message
Kelsey Steele (kelsey-steele) wrote :

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!

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (78.9 KiB)

This bug was fixed in the package linux - 5.4.0-56.62

---------------
linux (5.4.0-56.62) focal; urgency=medium

  * focal/linux: 5.4.0-56.62 -proposed tracker (LP: #1905300)

  * CVE-2020-4788
    - selftests/powerpc: rfi_flush: disable entry flush if present
    - powerpc/64s: flush L1D on kernel entry
    - powerpc/64s: flush L1D after user accesses
    - selftests/powerpc: entry flush test

linux (5.4.0-55.61) focal; urgency=medium

  * focal/linux: 5.4.0-55.61 -proposed tracker (LP: #1903175)

  * Update kernel packaging to support forward porting kernels (LP: #1902957)
    - [Debian] Update for leader included in BACKPORT_SUFFIX

  * Avoid double newline when running insertchanges (LP: #1903293)
    - [Packaging] insertchanges: avoid double newline

  * EFI: Fails when BootCurrent entry does not exist (LP: #1899993)
    - efivarfs: Replace invalid slashes with exclamation marks in dentries.

  * CVE-2020-14351
    - perf/core: Fix race in the perf_mmap_close() function

  * raid10: Block discard is very slow, causing severe delays for mkfs and
    fstrim operations (LP: #1896578)
    - md: add md_submit_discard_bio() for submitting discard bio
    - md/raid10: extend r10bio devs to raid disks
    - md/raid10: pull codes that wait for blocked dev into one function
    - md/raid10: improve raid10 discard request
    - md/raid10: improve discard request for far layout
    - dm raid: fix discard limits for raid1 and raid10
    - dm raid: remove unnecessary discard limits for raid10

  * Bionic: btrfs: kernel BUG at /build/linux-
    eTBZpZ/linux-4.15.0/fs/btrfs/ctree.c:3233! (LP: #1902254)
    - btrfs: drop unnecessary offset_in_page in extent buffer helpers
    - btrfs: extent_io: do extra check for extent buffer read write functions
    - btrfs: extent-tree: kill BUG_ON() in __btrfs_free_extent()
    - btrfs: extent-tree: kill the BUG_ON() in insert_inline_extent_backref()
    - btrfs: ctree: check key order before merging tree blocks

  * Ethernet no link lights after reboot (Intel i225-v 2.5G) (LP: #1902578)
    - igc: Add PHY power management control

  * Undetected Data corruption in MPI workloads that use VSX for reductions on
    POWER9 DD2.1 systems (LP: #1902694)
    - powerpc: Fix undetected data corruption with P9N DD2.1 VSX CI load emulation
    - selftests/powerpc: Make alignment handler test P9N DD2.1 vector CI load
      workaround

  * [20.04 FEAT] Support/enhancement of NVMe IPL (LP: #1902179)
    - s390: nvme ipl
    - s390: nvme reipl
    - s390/ipl: support NVMe IPL kernel parameters

  * uvcvideo: add mapping for HEVC payloads (LP: #1895803)
    - media: uvcvideo: Add mapping for HEVC payloads

  * Focal update: v5.4.73 upstream stable release (LP: #1902115)
    - ibmveth: Switch order of ibmveth_helper calls.
    - ibmveth: Identify ingress large send packets.
    - ipv4: Restore flowi4_oif update before call to xfrm_lookup_route
    - mlx4: handle non-napi callers to napi_poll
    - net: fec: Fix phy_device lookup for phy_reset_after_clk_enable()
    - net: fec: Fix PHY init after phy_reset_after_clk_enable()
    - net: fix pos incrementment in ipv6_route_seq_next
    - net/smc: fix valid DMBE buffer sizes
    - net...

Changed in linux (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Khan Sharukh (khan.sharukh) wrote :

Hi Guys,

I can see there are number of people who are lucky to get the touchpad working.
But it still not working for me.

I am a Ubuntu User and Stuck with Windows from Last 6 months.

Please help me in running ubuntu with touchpad.

I have installed Ubuntu 20.04 using keyboard but it still not working for me.

Can someone answer my below questions please.
1. Which version of BIOS should I have? I am having cjcn29ww installed.
2. Which Ubuntu version should I install? I am having Ubuntu 20.04 currently but touchpad is not functional.
3. If there is need to install custom kernel? if "Yes" then which one?

Please let me know any other steps if I am missing anything.

Regards

Revision history for this message
Tomaž Belcijan (whiteocean) wrote :

@khan.sharukh

1. I have VIOS update DJCN15WW (laptop model 14-IIL)
2. Ubuntu 20.04.1 LTS
3. I first got it to work with the kernel from https://people.canonical.com/~khfeng/lp1853277-final/
   Now I am on 5.4.0-54-generic and it works.

Pattapong (apattapong)
Changed in linux (Ubuntu Focal):
assignee: nobody → Pattapong (apattapong)
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

As commit 21653a4181ff292480599dad996a2b759ccf050f that fixes this issue has already been applied on F/G/H, I will close this bug with fix-released.

Please open a new bug if you're still seeing touchpad issues.
Thanks

https://lists.ubuntu.com/archives/kernel-team/2020-September/113657.html

Changed in linux (Ubuntu Focal):
assignee: Pattapong (apattapong) → nobody
assignee: nobody → Kai-Heng Feng (kaihengfeng)
Changed in linux (Ubuntu):
status: Triaged → Fix Released
Changed in linux (Ubuntu Groovy):
status: Triaged → Fix Released
Revision history for this message
JIlani (jilani123) wrote :

Hey, Touchpad is still not working on any kernels.
I did the fresh 20.04 install and seems be touchpad issue again.

Tried kernels:5.4,5.6,5.8.14,5.9,5.12

Changed in linux (Ubuntu):
assignee: nobody → Nilesh Pandhare (npandhare15)
Revision history for this message
Frederick Bojango (eej6eeghie5eiyec4ie8puetahw4ew3i) wrote :

Any update on this please? Touchpad still not working on Thinkbook 14-IML on Kernel 5.8.0-55-generic #62-Ubuntu (Groovy)

Changed in linux-oem-5.6 (Ubuntu Focal):
assignee: nobody → zeeshan saleem (zeeshan-saleem)
Revision history for this message
Manuel Valenzuela (leun4m) wrote :

I need the Kai's kernel to fix the touchpad issue, but the download link is broken. Can anyone give me this file?

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