Thinkpad E15 Gen2 - Touchpad & Trackpoint Not Recognized/Not Working

I recently acquired a Thinkpad E15 Gen 2 with Ryzen 7 4000 series CPU and am dual booting Windows 10 with Manjaro + XFCE but noticed the touchpad/touchpoint does not work at all. I have had to use a Logitech USB mouse since first installing the OS. Looking into the issue more and it seems kernel is not even recognizing the touchpad or trackpoint.

Oddly enough I have had 2, maybe 3 occasions, where both the touchpad and trackpoint started working for moments (goes back to not working/not being recognized almost immediately)

Here is the output for inxi --full --admin --verbosity=7 --filter --no-host:

System:
  Kernel: 5.14.7-2-MANJARO x86_64 bits: 64 compiler: gcc 
  v: 11.1.0 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.14-x86_64 
  root=UUID=0ed9e587-af57-452c-9757-9280bd655edd rw quiet 
  udev.log_priority=3 
  Desktop: Xfce 4.16.0 tk: Gtk 3.24.29 info: xfce4-panel 
  wm: xfwm 4.16.1 vt: 7 dm: LightDM 1.30.0 
  Distro: Manjaro Linux base: Arch Linux 
Machine:
  Type: Laptop System: LENOVO product: 20T8002BUS 
  v: ThinkPad E15 Gen 2 serial: <filter> Chassis: type: 10 
  serial: <filter> 
  Mobo: LENOVO model: 20T8002BUS serial: <filter> 
  UEFI: LENOVO v: R1AET37W (1.13 ) date: 04/09/2021 
Battery:
  ID-1: BAT0 charge: 39.7 Wh (98.3%) 
  condition: 40.4/45.7 Wh (88.3%) volts: 12.3 min: 11.1 
  model: SMP 5B10X026 type: Li-poly serial: <filter> 
  status: Unknown cycles: 268 
  Device-1: hidpp_battery_1 
  model: Logitech Wireless Mouse B330/M330/M331 
  serial: <filter> charge: 55% (should be ignored) 
  rechargeable: yes status: Discharging 
Memory:
  RAM: total: 14.86 GiB used: 11.39 GiB (76.7%) 
  RAM Report: permissions: Unable to run dmidecode. Root 
  privileges required. 
CPU:
  Info: 8-Core 
  model: AMD Ryzen 7 4700U with Radeon Graphics bits: 64 
  type: MCP arch: Zen 2 family: 17 (23) model-id: 60 (96) 
  stepping: 1 microcode: 8600103 cache: L2: 4 MiB 
  bogomips: 31958 
  Speed: 1397 MHz min/max: 1400/2000 MHz boost: enabled 
  Core speeds (MHz): 1: 1397 2: 2150 3: 1397 4: 1398 
  5: 1397 6: 1397 7: 1397 8: 1397 
  Flags: 3dnowprefetch abm adx aes aperfmperf apic arat 
  avic avx avx2 bmi1 bmi2 bpext cat_l3 cdp_l3 clflush 
  clflushopt clwb clzero cmov cmp_legacy constant_tsc cpb 
  cpuid cqm cqm_llc cqm_mbm_local cqm_mbm_total 
  cqm_occup_llc cr8_legacy cx16 cx8 de decodeassists 
  extapic extd_apicid f16c flushbyasid fma fpu fsgsbase 
  fxsr fxsr_opt ht hw_pstate ibpb ibrs ibs irperf lahf_lm 
  lbrv lm mba mca mce misalignsse mmx mmxext monitor movbe 
  msr mtrr mwaitx nonstop_tsc nopl npt nrip_save nx osvw 
  overflow_recov pae pat pausefilter pclmulqdq pdpe1gb 
  perfctr_core perfctr_llc perfctr_nb pfthreshold pge pni 
  popcnt pse pse36 rapl rdpid rdpru rdrand rdseed rdt_a 
  rdtscp rep_good sep sha_ni skinit smap smca smep ssbd sse 
  sse2 sse4_1 sse4_2 sse4a ssse3 stibp succor svm svm_lock 
  syscall tce topoext tsc tsc_scale umip v_spec_ctrl 
  v_vmsave_vmload vgif vmcb_clean vme vmmcall wbnoinvd wdt 
  xgetbv1 xsave xsavec xsaveerptr xsaveopt xsaves 
  Vulnerabilities: Type: itlb_multihit status: Not affected 
  Type: l1tf status: Not affected 
  Type: mds status: Not affected 
  Type: meltdown status: Not affected 
  Type: spec_store_bypass mitigation: Speculative Store 
  Bypass disabled via prctl and seccomp 
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and 
  __user pointer sanitization 
  Type: spectre_v2 mitigation: Full AMD retpoline, IBPB: 
  conditional, IBRS_FW, STIBP: disabled, RSB filling 
  Type: srbds status: Not affected 
  Type: tsx_async_abort status: Not affected 
Graphics:
  Device-1: AMD Renoir vendor: Lenovo driver: amdgpu 
  v: kernel bus-ID: 04:00.0 chip-ID: 1002:1636 
  class-ID: 0300 
  Device-2: Luxvisions Innotech Limited Integrated Camera 
  type: USB driver: uvcvideo bus-ID: 1-3:3 
  chip-ID: 30c9:0014 class-ID: 0e02 serial: <filter> 
  Display: x11 server: X.Org 1.20.13 compositor: xfwm4 
  v: 4.16.1 driver: loaded: amdgpu,ati 
  unloaded: modesetting alternate: fbdev,vesa 
  display-ID: :0.0 screens: 1 
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 
  s-size: 508x285mm (20.0x11.2") s-diag: 582mm (22.9") 
  Monitor-1: eDP res: 1920x1080 hz: 60 dpi: 142 
  size: 344x194mm (13.5x7.6") diag: 395mm (15.5") 
  OpenGL: renderer: AMD RENOIR (DRM 3.42.0 5.14.7-2-MANJARO 
  LLVM 12.0.1) 
  v: 4.6 Mesa 21.2.2 direct render: Yes 
Audio:
  Device-1: AMD vendor: Lenovo driver: snd_hda_intel 
  v: kernel bus-ID: 04:00.1 chip-ID: 1002:1637 
  class-ID: 0403 
  Device-2: AMD Raven/Raven2/FireFlight/Renoir Audio 
  Processor 
  vendor: Lenovo driver: N/A 
  alternate: snd_pci_acp3x, snd_rn_pci_acp3x 
  bus-ID: 04:00.5 chip-ID: 1022:15e2 class-ID: 0480 
  Device-3: AMD Family 17h HD Audio vendor: Lenovo 
  driver: snd_hda_intel v: kernel bus-ID: 04:00.6 
  chip-ID: 1022:15e3 class-ID: 0403 
  Sound Server-1: ALSA v: k5.14.7-2-MANJARO running: yes 
  Sound Server-2: JACK v: 1.9.19 running: no 
  Sound Server-3: PulseAudio v: 15.0 running: yes 
  Sound Server-4: PipeWire v: 0.3.37 running: no 
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit 
  Ethernet 
  vendor: Lenovo driver: r8168 v: 8.049.02-NAPI 
  modules: r8169 port: 2000 bus-ID: 02:00.0 
  chip-ID: 10ec:8168 class-ID: 0200 
  IF: enp2s0 state: down mac: <filter> 
  Device-2: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel 
  port: 2000 bus-ID: 03:00.0 chip-ID: 8086:2723 
  class-ID: 0280 
  IF: wlp3s0 state: up mac: <filter> 
  IP v4: <filter> type: dynamic noprefixroute scope: global 
  broadcast: <filter> 
  IP v6: <filter> type: dynamic noprefixroute scope: global 
  IP v6: <filter> type: noprefixroute scope: link 
  IF-ID-1: docker0 state: down mac: <filter> 
  IP v4: <filter> scope: global broadcast: <filter> 
  WAN IP: <filter> 
Bluetooth:
  Device-1: Intel AX200 Bluetooth type: USB driver: btusb 
  v: 0.8 bus-ID: 3-4:2 chip-ID: 8087:0029 class-ID: e001 
  Report: rfkill ID: hci0 rfk-id: 3 state: up 
  address: see --recommends 
Logical:
  Message: No logical block device data found. 
RAID:
  Message: No RAID data found. 
Drives:
  Local Storage: total: 953.87 GiB used: 180.29 GiB (18.9%) 
  SMART Message: Required tool smartctl not installed. 
  Check --recommends 
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Sabrent 
  model: Rocket nano size: 953.87 GiB block-size: 
  physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 
  type: SSD serial: <filter> rev: RKT301.3 temp: 22.9 C 
  scheme: GPT 
  Message: No optical or floppy data found. 
Partition:
  ID-1: / raw-size: 683.59 GiB size: 671.79 GiB (98.27%) 
  used: 180.27 GiB (26.8%) fs: ext4 dev: /dev/nvme0n1p5 
  maj-min: 259:5 label: N/A 
  uuid: 0ed9e587-af57-452c-9757-9280bd655edd 
  ID-2: /boot/efi raw-size: 260 MiB size: 256 MiB (98.46%) 
  used: 25.9 MiB (10.1%) fs: vfat dev: /dev/nvme0n1p1 
  maj-min: 259:1 label: SYSTEM uuid: 6C36-95F1 
Swap:
  Alert: No swap data was found. 
Unmounted:
  ID-1: /dev/nvme0n1p2 maj-min: 259:2 size: 16 MiB 
  fs: <superuser required> label: N/A uuid: N/A 
  ID-2: /dev/nvme0n1p3 maj-min: 259:3 size: 269.03 GiB 
  fs: bitlocker label: N/A uuid: N/A 
  ID-3: /dev/nvme0n1p4 maj-min: 259:4 size: 1000 MiB 
  fs: ntfs label: WinRE_DRV uuid: 1EF4398FF4396A63 
USB:
  Hub-1: 1-0:1 info: Full speed (or root) Hub ports: 4 
  rev: 2.0 speed: 480 Mb/s chip-ID: 1d6b:0002 
  class-ID: 0900 
  Device-1: 1-2:4 info: Logitech Unifying Receiver 
  type: Mouse,HID driver: logitech-djreceiver,usbhid 
  interfaces: 2 rev: 2.0 speed: 12 Mb/s power: 98mA 
  chip-ID: 046d:c52f class-ID: 0300 
  Device-2: 1-3:3 
  info: Luxvisions Innotech Limited Integrated Camera 
  type: Video driver: uvcvideo interfaces: 2 rev: 2.0 
  speed: 480 Mb/s power: 500mA chip-ID: 30c9:0014 
  class-ID: 0e02 serial: <filter> 
  Hub-2: 2-0:1 info: Full speed (or root) Hub ports: 2 
  rev: 3.1 speed: 10 Gb/s chip-ID: 1d6b:0003 class-ID: 0900 
  Hub-3: 3-0:1 info: Full speed (or root) Hub ports: 4 
  rev: 2.0 speed: 480 Mb/s chip-ID: 1d6b:0002 
  class-ID: 0900 
  Device-1: 3-4:2 info: Intel AX200 Bluetooth 
  type: Bluetooth driver: btusb interfaces: 2 rev: 2.0 
  speed: 12 Mb/s power: 100mA chip-ID: 8087:0029 
  class-ID: e001 
  Hub-4: 4-0:1 info: Full speed (or root) Hub ports: 2 
  rev: 3.1 speed: 10 Gb/s chip-ID: 1d6b:0003 class-ID: 0900 
Sensors:
  System Temperatures: cpu: 53.0 C mobo: N/A gpu: amdgpu 
  temp: 41.0 C 
  Fan Speeds (RPM): fan-1: 2200 
Info:
  Processes: 338 Uptime: 6d 2h 52m wakeups: 224 
  Init: systemd v: 249 tool: systemctl Compilers: 
  gcc: 11.1.0 clang: 12.0.1 Packages: 1453 pacman: 1449 
  lib: 418 snap: 4 Shell: Bash v: 5.1.8 running-in: urxvt 
  inxi: 3.3.06 

Output of xinput:

⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Logitech B330/M330/M3                   	id=13	[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)]
    ↳ AT Translated Set 2 keyboard            	id=10	[slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                  	id=11	[slave  keyboard (3)]
    ↳ Integrated Camera: Integrated C         	id=12	[slave  keyboard (3)]
    ↳ Logitech B330/M330/M3                   	id=14	[slave  keyboard (3)]

Also, the output for sudo libinput list-devices

Device:           Power Button
Kernel:           /dev/input/event3
Group:            1
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Video Bus
Kernel:           /dev/input/event5
Group:            2
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Power Button
Kernel:           /dev/input/event0
Group:            3
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Lid Switch
Kernel:           /dev/input/event1
Group:            4
Seat:             seat0, default
Capabilities:     switch
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Sleep Button
Kernel:           /dev/input/event2
Group:            5
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Logitech B330/M330/M3
Kernel:           /dev/input/event13
Group:            6
Seat:             seat0, default
Capabilities:     keyboard pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   button
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   flat *adaptive
Rotation:         n/a

Device:           Integrated Camera: Integrated C
Kernel:           /dev/input/event15
Group:            7
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           AT Translated Set 2 keyboard
Kernel:           /dev/input/event4
Group:            8
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           ThinkPad Extra Buttons
Kernel:           /dev/input/event9
Group:            9
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Any insight is appreciated and if there is any other information that could be pertinent to debugging the issue I can gladly supply that as well.

Thank you

There is a newer BIOS laptops and netbooks :: thinkpad edge laptops :: thinkpad e15 gen 2 type 20t8 20t9 - Lenovo Support DE

Seems you are not the only one with some issues of running linux on that model

I upgraded my BIOS back in September when that upgrade was made available and while that + kernel upgrade did seem to fix the FN keys issue described in your linked post, it did not seem to do anything for the touchpad + trackpoint.

Oddly enough though, I just accessed the Windows 10 partition that I have on this same machine and the touchpad + trackpoint don’t even seem to work there anymore 0.0
I know for a fact the touchpad + trackpoint worked in Windows before because this machine shipped with Windows 10 and I used the original OS to create a bootable drive to install Manjaro.

Edit: To make things even more interesting I am noticing now that detection of the touchpad and trackpoint is an intermittent issue. I restarted my PC 3 times in a row to test a non-related issue and I noticed on the third restart the touchpad and trackpoint were working!

xinput list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Logitech B330/M330/M3                   	id=10	[slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                	id=13	[slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech TrackPoint              	id=14	[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=11	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=12	[slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                  	id=15	[slave  keyboard (3)]
    ↳ Logitech B330/M330/M3                   	id=16	[slave  keyboard (3)]
sudo dmesg | grep Elan
[    6.100285] psmouse serio1: elantech: Elan sample query result 00, 0e, a7
[    6.116038] psmouse serio1: elantech: Elan ic body: 0x11, current fw version: 0x4
[    6.218769] input: ETPS/2 Elantech TrackPoint as /devices/platform/i8042/serio1/input/input26
[    6.235060] input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input23

Edit: After an hour or so of usage the touchpad and trackpoint randomly stopped working for 2-3 minutes, during that time the devices appear to be recognized still but no events when attempting to use them.

sudo libinput debug-events
-event3   DEVICE_ADDED            Power Button                      seat0 default group1  cap:k
-event6   DEVICE_ADDED            Video Bus                         seat0 default group2  cap:k
-event0   DEVICE_ADDED            Power Button                      seat0 default group3  cap:k
-event1   DEVICE_ADDED            Lid Switch                        seat0 default group4  cap:S
-event2   DEVICE_ADDED            Sleep Button                      seat0 default group5  cap:k
-event5   DEVICE_ADDED            Logitech B330/M330/M3             seat0 default group6  cap:kp left scroll-nat scroll-button
-event16  DEVICE_ADDED            Integrated Camera: Integrated C   seat0 default group7  cap:k
-event4   DEVICE_ADDED            AT Translated Set 2 keyboard      seat0 default group8  cap:k
-event15  DEVICE_ADDED            ETPS/2 Elantech Touchpad          seat0 default group9  cap:pg  size 99x66mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on
-event14  DEVICE_ADDED            ETPS/2 Elantech TrackPoint        seat0 default group9  cap:p left scroll-nat scroll-button
-event7   DEVICE_ADDED            ThinkPad Extra Buttons            seat0 default group10 cap:k

After putting the laptop into suspend touchpad/trackpoint stopped working completely, still being recognized but no response. See updated dmesg output below

sudo dmesg | grep elan
[    6.073784] psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x6f3001)
[    6.087004] psmouse serio1: elantech: Synaptics capabilities query result 0x90, 0x18, 0x10.
[    6.100285] psmouse serio1: elantech: Elan sample query result 00, 0e, a7
[    6.116038] psmouse serio1: elantech: Elan ic body: 0x11, current fw version: 0x4
[    6.189740] psmouse serio1: elantech: Trying to set up SMBus access
[    6.189806] psmouse serio1: elantech: SMbus companion is not ready yet

Rebooting the laptop will result in no detection of the touchpad/trackpoint again as per my OP.