Lenovo Flex 5 14 14are05 - touchpad not working/recognized

I have Secure Boot disabled in the BIOS, I assume that’s what you mean with fastboot? However, there is a fastboot option in Windows.

I’ll dig into the kernel parameter subject later, although I am losing faith in a positive outcome :frowning:

I regularly read, e.g on the Arch wiki, that sometimes the touchpad stops working, and it also gets detected with dmesg. In my case it never ever worked even once.

I checked dmesg, with 'grep i -touchpad or grep “SYN” it doesn´t find anything at all.
I do get some results with 'sudo dmesg | grep i2c, but as you can see, nothing related to that cursed touchpad.

4.325031] input: WACF2200:00 056A:5218 Touchscreen as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0005/input/input13
[    4.356647] input: WACF2200:00 056A:5218 as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0005/input/input14
[    4.356679] input: WACF2200:00 056A:5218 as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0005/input/input15
[    4.356716] input: WACF2200:00 056A:5218 as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0005/input/input16
[    4.356746] input: WACF2200:00 056A:5218 Mouse as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0005/input/input17
[    4.356794] hid-generic 0018:056A:5218.0005: input,hidraw4: I2C HID v1.00 Mouse [WACF2200:00 056A:5218] on i2c-WACF2200:00
[    4.601284] input: Wacom HID 5218 Pen as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0005/input/input25
[    4.601441] input: Wacom HID 5218 Finger as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0005/input/input26
[    4.601582] wacom 0018:056A:5218.0005: hidraw2: I2C HID v1.00 Mouse [WACF2200:00 056A:5218] on i2c-WACF2200:00

I also was hoping that it showed some life, but when pressing/touching the touchpad with journalctl -f active, it doesn’t detect anything related to the touchpad at all, although the keyboard lights up. It only detects input from my external mouse. I also tried to disconnect the external one, no succes either.

It’s getting pretty late now, but I’m quite familiar with the terminal, so I will dive in your last suggestion. And before I forget, thanks for the great help!

1 Like

For reference here is my

sudo dmesg | grep -i i2c
[    9.813902] input: MSFT0001:00 06CB:CE2D Mouse as /devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00/0018:06CB:CE2D.0004/input/input16
[    9.814210] input: MSFT0001:00 06CB:CE2D Touchpad as /devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00/0018:06CB:CE2D.0004/input/input17
[    9.814281] hid-generic 0018:06CB:CE2D.0004: input,hidraw3: I2C HID v1.00 Mouse [MSFT0001:00 06CB:CE2D] on i2c-MSFT0001:00
[    9.833363] input: WACF2200:00 056A:5214 Touchscreen as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5214.0005/input/input19
[    9.833475] input: WACF2200:00 056A:5214 as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5214.0005/input/input20
[    9.833549] input: WACF2200:00 056A:5214 as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5214.0005/input/input21
[    9.833643] input: WACF2200:00 056A:5214 as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5214.0005/input/input22
[    9.833695] input: WACF2200:00 056A:5214 Mouse as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5214.0005/input/input23
[    9.833751] hid-generic 0018:056A:5214.0005: input,hidraw4: I2C HID v1.00 Mouse [WACF2200:00 056A:5214] on i2c-WACF2200:00
[   10.993008] input: MSFT0001:00 06CB:CE2D Mouse as /devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00/0018:06CB:CE2D.0004/input/input28
[   10.998933] input: MSFT0001:00 06CB:CE2D Touchpad as /devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00/0018:06CB:CE2D.0004/input/input29
[   11.078586] hid-multitouch 0018:06CB:CE2D.0004: input,hidraw3: I2C HID v1.00 Mouse [MSFT0001:00 06CB:CE2D] on i2c-MSFT0001:00
[   11.104662] input: Wacom HID 5214 Pen as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5214.0005/input/input32
[   11.104729] input: Wacom HID 5214 Finger as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5214.0005/input/input33
[   11.104801] wacom 0018:056A:5214.0005: hidraw4: I2C HID v1.00 Mouse [WACF2200:00 056A:5214] on i2c-WACF2200:00

Edit: It seems that our touch-pad models don’t match. Lenovo has used other touchpads such as

MSFT0001:00 04F3:3140

which has a spotty record of linux support,
Bugzilla #207759

Try dmesg | grep -i input, that should get all input devices.

5 Likes

No.
Fastboot in both Windows and BIOS.
If it is enabled and being used (Windows settings, find it), it’s the most probable reason to your issue. That’s why it was 1st in my list :wink:

2 Likes

I took a quick look at these udev and udevadm pages, but it’s gonna take me a bit more time to dive into it.

I did notice that where it showed you -
/70-touchpad.rules:KERNELS=="input - , in my case it didn’t show ‘=="input’, it showed ‘!="input’.

About the Fast boot Options, in Windows I was able to disable it after I enabled hibernation (with hibernation disabled the option was greyed out or not even available at all). When it comes to Fast boot options in the BIOS, i haven’t been able to locate that option yet.

My other notebook, a Lenovo Silm 7 14ARE05, has a hacked BIOS, and has so much more configuration options. I’m almost tempted to do the same with my Flex 5 14ARE05, I own an SPI Flasher and a SOCI8 clip. I can create a dump of the current BIOS, so if something would go wrong, it’s pretty easy to revert the changes.

Then once I got the dump of the original BIOS, I can patch it and flash the ROM chip with the modified BIOS, which adds many more options, also quite a few that are related to the touchpad settings.

Of course I prefer getting the touchpad to work without any of this, but to be honest, I am not very confident that there will be a proper solution anytime soon. And the main reason that I bought this laptop, was Linux ;(.

It seems that I am one of the very few people that never even got the touchpad detected, let alone having it in a working state.

1 Like

This is a systemd provided file. You can’t have it differ.
Check complete file

$ cat /usr/lib/udev/rules.d/70-touchpad.rules
# do not edit this file, it will be overwritten on update

ACTION=="remove", GOTO="touchpad_end"
ENV{ID_INPUT}=="", GOTO="touchpad_end"
ENV{ID_INPUT_TOUCHPAD}=="", GOTO="touchpad_end"
KERNEL!="event*", GOTO="touchpad_end"

# touchpad:<subsystem>:v<vid>p<pid>:name:<name>:*
KERNELS=="input*", ENV{ID_BUS}!="", \
IMPORT{builtin}="hwdb 'touchpad:$env{ID_BUS}:v$attr{id/vendor}p$attr{id/product}:name:$attr{name}:'", \
GOTO="touchpad_end"

LABEL="touchpad_end"

I’ve never read that! :see_no_evil: Go away devil!.. :laughing:

You may report to the kernel tracker for such hardware driver issues. It is more productive :man_shrugging:
It could be a simple kernel parameter, or module option…

2 Likes

:smiley:

If not necessary, I´d rather don´t do stuff like that either, but my Yoga Slim 7’s BIOS got a huge amount of extra options. For example, it’s possible to allocate more than the 512MB to the integrated GPU. RAID 0 with 2 Nvme drives became an option, S3 sleep state became available (which wasn´t present in the original BIOS :frowning: , without that there were some serious issues when running linux, e.g. not being able to wake it up ;). And many more options that might be interesting for some people.

Anyway, I have been fiddling with Garuda again, I don´t want to abandon the eye-candy Arch distro, so I am motivated to keep trying to get the touchpad to work.

Finally I made some progress, it’s for the first time that it actually got recognized!

dmesg | grep i2c

[] × sudo dmesg |grep i2c
[    6.289834] i2c_hid_acpi i2c-MSFT0001:00: hid_descr_cmd failed
[    6.289839] i2c_hid_acpi i2c-MSFT0001:00: Failed to fetch the HID Descriptor
[    6.460265] input: WACF2200:00 056A:5218 Touchscreen as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0005/i
nput/input13
[    6.499720] input: WACF2200:00 056A:5218 as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0005/input/input14
[    6.499917] input: WACF2200:00 056A:5218 as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0005/input/input15
[    6.500148] input: WACF2200:00 056A:5218 as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0005/input/input16
[    6.500284] input: WACF2200:00 056A:5218 Mouse as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0005/input/i
nput17
[    6.500422] hid-generic 0018:056A:5218.0005: input,hidraw4: I2C HID v1.00 Mouse [WACF2200:00 056A:5218] on i2c-WACF2200:00
[    7.380376] input: Wacom HID 5218 Pen as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0005/input/input30
[    7.380454] input: Wacom HID 5218 Finger as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0005/input/input31
[    7.380511] wacom 0018:056A:5218.0005: hidraw4: I2C HID v1.00 Mouse [WACF2200:00 056A:5218] on i2c-WACF2200:00

Unfortunately I have to go to work now, so I can´t dig deeper in this issue right now. When I’ll be back home later, I will continue trouble shooting, but maybe someone here is already familiar with that issue :wink:

2 Likes

Unfortunately, when I came back home, I wasn’t amused to say the least…

After recognizing the touchpad that one time I showed above, there was no second time that it got recognized…

So I spent many more hours, only to hope to get that cursed thing to work. And for now I succeeded!

sudo dmesg | grep i2c

[    6.253103] input: MSFT0001:00 04F3:3140 Mouse as /devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00/0018:04F3:3140.0001/input/input6
[    6.253176] input: MSFT0001:00 04F3:3140 Touchpad as /devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00/0018:04F3:3140.0001/input/input7
[    6.253223] hid-generic 0018:04F3:3140.0001: input,hidraw0: I2C HID v1.00 Mouse [MSFT0001:00 04F3:3140] on i2c-MSFT0001:00
[    6.344130] input: WACF2200:00 056A:5218 Touchscreen as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0003/input/input9
[    6.344254] input: WACF2200:00 056A:5218 as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0003/input/input10
[    6.344326] input: WACF2200:00 056A:5218 as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0003/input/input11
[    6.344392] input: WACF2200:00 056A:5218 as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0003/input/input12
[    6.344461] input: WACF2200:00 056A:5218 Mouse as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0003/input/input13
[    6.344534] hid-generic 0018:056A:5218.0003: input,hidraw2: I2C HID v1.00 Mouse [WACF2200:00 056A:5218] on i2c-WACF2200:00
[    7.097588] input: MSFT0001:00 04F3:3140 Mouse as /devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00/0018:04F3:3140.0001/input/input18
[    7.126471] input: MSFT0001:00 04F3:3140 Touchpad as /devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00/0018:04F3:3140.0001/input/input19
[    7.146475] hid-multitouch 0018:04F3:3140.0001: input,hidraw0: I2C HID v1.00 Mouse [MSFT0001:00 04F3:3140] on i2c-MSFT0001:00
[    7.188266] input: Wacom HID 5218 Pen as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0003/input/input20
[    7.188416] input: Wacom HID 5218 Finger as /devices/platform/AMDI0010:00/i2c-0/i2c-WACF2200:00/0018:056A:5218.0003/input/input21
[    7.188515] wacom 0018:056A:5218.0003: hidraw1: I2C HID v1.00 Mouse [WACF2200:00 056A:5218] on i2c-WACF2200:00
xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Wacom HID 5218 Pen stylus                 id=12   [slave  pointer  (2)]
⎜   ↳ Wacom HID 5218 Finger touch               id=13   [slave  pointer  (2)]
⎜   ↳ MSFT0001:00 04F3:3140 Mouse               id=14   [slave  pointer  (2)]
⎜   ↳ MSFT0001:00 04F3:3140 Touchpad            id=15   [slave  pointer  (2)]
⎜   ↳ Wacom HID 5218 Pen eraser                 id=17   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
↳ Power Button                              id=6    [slave  keyboard (3)]
↳ Video Bus                                 id=7    [slave  keyboard (3)]
↳ Power Button                              id=8    [slave  keyboard (3)]
↳ Sleep Button                              id=9    [slave  keyboard (3)]
↳ Integrated Camera: Integrated C           id=10   [slave  keyboard (3)]
↳ Ideapad extra buttons                     id=11   [slave  keyboard (3)]
↳ AT Translated Set 2 keyboard              id=16   [slave  keyboard (3)]
libinput list-devices

Device:           MSFT0001:00 04F3:3140 Mouse
Kernel:           /dev/input/event6
Group:            9
Seat:             seat0, default
Capabilities:     pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   *button
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   flat *adaptive
Rotation:         n/a

Device:           MSFT0001:00 04F3:3140 Touchpad
Kernel:           /dev/input/event7
Group:            9
Seat:             seat0, default
Size:             100x66mm
Capabilities:     pointer gesture
Tap-to-click:     disabled
Tap-and-drag:     enabled
Tap drag lock:    disabled
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   *two-finger edge 
Click methods:    *button-areas clickfinger 
Disable-w-typing: enabled
Accel profiles:   flat *adaptive
Rotation:         n/a

I have been experimenting with quite a few different kernels, and I ended up using the mainline: 5.14-rc4

Might be not the most ideal situation, but at least I got the touchpad to work. Now I only wonder for how long it’ll work, lol :smiley:

Once again, thank you all for your help and useful suggestions.

4 Likes

Of course it is! It’s the latest kernel, so it’s expected to fix such bugs.

Can you see it in System Settings and change properties, like Tap-to-Click etc.?

4 Likes

I'm glad you found a working kernel. As best I understand, 5.14-rc is not full of radical changes, mostly it's additional (and newer) hardware support. On my old baytrail 2-in-1, I waited over a year for sound support... These days, many of the prepatch(-rc) kernels are pretty stable. The "mainline" kernel will be officially stable in about another month.

1 Like

I'm new to garuda and linux in general , but was thinking of trying it out when I buy this specific laptop. Does anybody know if this touchpad "bug" has been fixed by the release of the latest kernel?Also nice to see a fellow greek in these forums @petsam :slight_smile:

In this topic is reported fixed in the linux-mainline kernel.

chaotic-aur/linux-mainline 5.14rc4-1

In Garuda, you can install this kernel like any other kernel in repos.
It is not yet released from kernel upstream devs as stable, so it’s a per user/system decision to install it when/if your HW needs it. :man_shrugging:
Of course, sometime it will be released and archlinux will ship it as default linux package.

Welcome to the club!

4 Likes

Yes I can, I’ll show some screenshots when I’m back from work.

Btw, does anyone of you having issues using tthe built in kernel installer?

Some kernels installed properly, but another kernel I installed the traditional way by downloading the tarball, extract, generate/modify the .config file and then compile it (and all the rest that is needed to boot that kernel).

1 Like

I thought I might as well show the touchpad settings now that I'm on my lunch break and told my boss I'll continue working from home for the rest of the day.

All options that I've tested, worked perfectly. And luckily the touchscreen also works as intented, although that's something I'd probably use more with some Windows applications.

2 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.