Trackpad turns into a mouse after suspend

It’s not often, but it’s fairly consistent. When my laptop goes into suspend, and then it wakes up, the trackpad effectively becomes a mouse. I notice this behavior for several reasons:

  1. Two finger scrolling (and any scrolling for that matter) stops working
  2. Acceleration is now controlled by the mouse preferences and not by the trackpad preferences.
  3. Two finger right click stops working.

A reboot always fixed the issue.

I’m running Pop_OS:

OS: Pop!_OS 21.04 x86_64 
Host: Laptop A3 
Kernel: 5.13.0-7614-generic 
Uptime: 22 hours, 53 mins 
Packages: 1957 (dpkg), 13 (flatpak), 12 (snap) 
Shell: zsh 5.8 
Resolution: 3606x2404 
DE: GNOME 3.38.4 
WM: Mutter 
WM Theme: Pop 
Theme: Pop-dark [GTK2/3] 
Icons: Pop [GTK2/3] 
Terminal: guake 
CPU: 11th Gen Intel i5-1135G7 (8) @ 4.200GHz 
GPU: Intel TigerLake GT2 [Iris Xe Graphics] 
Memory: 12447MiB / 64100MiB       

Here’s the xinput readout

xinput list                                                                                                                                                    
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ FRMW0001:00 32AC:0006 Consumer Control  	id=10	[slave  pointer  (2)]
⎜   ↳ PIXA3854:00 093A:0274 Mouse             	id=11	[slave  pointer  (2)]
⎜   ↳ PIXA3854:00 093A:0274 Touchpad          	id=12	[slave  pointer  (2)]
⎜   ↳ ImExPS/2 Generic Explorer Mouse         	id=14	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Video Bus                               	id=6	[slave  keyboard (3)]
    ↳ Power Button                            	id=7	[slave  keyboard (3)]
    ↳ Laptop Camera: Laptop Camera            	id=8	[slave  keyboard (3)]
    ↳ FRMW0001:00 32AC:0006 Wireless Radio Control	id=9	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=13	[slave  keyboard (3)]
    ↳ FRMW0001:00 32AC:0006 Consumer Control  	id=15	[slave  keyboard (3)]

And the proc output

cat /proc/bus/input/devices                                                                                                                                     master 13h ⬢

I: Bus=0019 Vendor=0000 Product=0005 Version=0000
N: Name="Lid Switch"
P: Phys=PNP0C0D/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1b/PNP0C09:00/PNP0C0D:00/input/input0
U: Uniq=
H: Handlers=event0 
B: PROP=0
B: EV=21
B: SW=1

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1
U: Uniq=
H: Handlers=kbd event1 
B: PROP=0
B: EV=3
B: KEY=10000000000000 0

I: Bus=0011 Vendor=0001 Product=0001 Version=ab83
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input2
U: Uniq=
H: Handlers=sysrq kbd event2 leds 
B: PROP=0
B: EV=120013
B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7

I: Bus=0018 Vendor=32ac Product=0006 Version=0100
N: Name="FRMW0001:00 32AC:0006 Wireless Radio Control"
P: Phys=i2c-FRMW0001:00
S: Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-FRMW0001:00/0018:32AC:0006.0001/input/input5
U: Uniq=
H: Handlers=rfkill kbd event3 
B: PROP=0
B: EV=13
B: KEY=80000000000000 0 0 0
B: MSC=10

I: Bus=0018 Vendor=32ac Product=0006 Version=0100
N: Name="FRMW0001:00 32AC:0006 Consumer Control"
P: Phys=i2c-FRMW0001:00
S: Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-FRMW0001:00/0018:32AC:0006.0001/input/input6
U: Uniq=
H: Handlers=kbd event4 
B: PROP=0
B: EV=1f
B: KEY=3f000303ff 0 0 483ffff17aff32d bfd4444600000000 1 130ff38b17c000 677bfad9415fed 19ed68000004400 10000002
B: REL=1040
B: ABS=100000000
B: MSC=10

I: Bus=0019 Vendor=0000 Product=0006 Version=0000
N: Name="Video Bus"
P: Phys=LNXVIDEO/video/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input9
U: Uniq=
H: Handlers=kbd event7 
B: PROP=0
B: EV=3
B: KEY=3e000b00000000 0 0 0

I: Bus=0011 Vendor=0002 Product=0006 Version=0000
N: Name="ImExPS/2 Generic Explorer Mouse"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input4
U: Uniq=
H: Handlers=mouse2 event8 
B: PROP=1
B: EV=7
B: KEY=1f0000 0 0 0 0
B: REL=143

I: Bus=0003 Vendor=0bda Product=5634 Version=0021
N: Name="Laptop Camera: Laptop Camera"
P: Phys=usb-0000:00:14.0-7/button
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/input/input10
U: Uniq=
H: Handlers=kbd event5 
B: PROP=0
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0018 Vendor=093a Product=0274 Version=0100
N: Name="PIXA3854:00 093A:0274 Mouse"
P: Phys=i2c-PIXA3854:00
S: Sysfs=/devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-5/i2c-PIXA3854:00/0018:093A:0274.0002/input/input11
U: Uniq=
H: Handlers=mouse0 event6 
B: PROP=2
B: EV=17
B: KEY=1 30000 0 0 0 0
B: REL=3
B: MSC=10

I: Bus=0018 Vendor=093a Product=0274 Version=0100
N: Name="PIXA3854:00 093A:0274 Touchpad"
P: Phys=i2c-PIXA3854:00
S: Sysfs=/devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-5/i2c-PIXA3854:00/0018:093A:0274.0002/input/input12
U: Uniq=
H: Handlers=mouse1 event9 
B: PROP=5
B: EV=1b
B: KEY=e520 30000 0 0 0 0
B: ABS=2e0800000000003
B: MSC=20

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH Front Headphone"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input13
U: Uniq=
H: Handlers=event10 
B: PROP=0
B: EV=21
B: SW=4

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=3"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input14
U: Uniq=
H: Handlers=event11 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=7"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input15
U: Uniq=
H: Handlers=event12 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=8"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input16
U: Uniq=
H: Handlers=event13 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=9"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input17
U: Uniq=
H: Handlers=event14 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=10"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input18
U: Uniq=
H: Handlers=event15 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=11"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input19
U: Uniq=
H: Handlers=event16 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=12"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input20
U: Uniq=
H: Handlers=event17 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=13"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input21
U: Uniq=
H: Handlers=event18 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=14"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input22
U: Uniq=
H: Handlers=event19 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=15"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input23
U: Uniq=
H: Handlers=event20 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=16"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input24
U: Uniq=
H: Handlers=event21 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=17"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input25
U: Uniq=
H: Handlers=event22 
B: PROP=0
B: EV=21
B: SW=140

Any help would be much obliged. This is an absolute pain when it happens.

2 Likes

It sounds like it is dropping into the PS/2 Emulation Mode. You could try disabling that mode in BIOS.

4 Likes

Just tried that, will report back if it resolves the issue.

We lengthened the time that we will wait for the trackpad to be handled by the OS driver in bios 3.05 to try and improve this. I suspect that if you wiggle the mouse in modern standby, sometimes the OS takes longer than about 400ms to service the trackpad interrupt causing the firmware to drop into ps2 mode.
But disabling ps2 emulation should fix this in any older firmware.

3 Likes

How does one apply a newer BIOS firmware update?

I also saw this issue in Ubuntu 21.04 but haven’t had it happen again since disabling PS/2 Emulation Mode in BIOS as suggested.

Confirming the solution offered by @nrp worked. I have not encountered this issue since disabling PS/2 Emulation Mode.