* [6.12.107] MSI G63 9SEK - Synaptics touchpad falls back to PS/2, multitouch lost at boot, fixed by delayed protocol write @ 2026-09-13 5:23 Cameron Spencer 2026-09-13 20:22 ` Lovekesh Solanki 0 siblings, 1 reply; 3+ messages in thread From: Cameron Spencer @ 2026-09-13 5:23 UTC (permalink / raw) To: linux-input Good morning/afternoon/evening, I experienced an issue where my Synaptics touchpad is registered as a basic PS/2 device at boot, losing all multitouch functionality (two-finger scroll, gestures). Writing "synaptics" to the sysfs protocol file a few seconds after boot restores the SynPS/2 extended protocol and full functionality. System: - Kernel: 6.12.107+deb13-amd64 - Distro: LMDE 7 (Debian 13 based) - Laptop: MSI G63 9SEK - i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12 - Fix: $ cat /etc/systemd/system/psmouse-reload.service [Unit] Description=Set psmouse protocol to synaptics After=systemd-udev-settle.service [Service] Type=oneshot ExecStart=/bin/sh -c 'for i in 1 2 3 4 5; do echo -n synaptics > /sys/bus/serio/devices/serio1/protocol 2>/dev/null && exit 0; sleep 2; done' RemainAfterExit=yes [Install] WantedBy=multi-user.target - Result: $ dmesg | grep -iE 'psmouse|synaptics|serio|i8042' [ 1.006462] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12 [ 1.010384] serio: i8042 KBD port at 0x60,0x64 irq 1 [ 1.010392] serio: i8042 AUX port at 0x60,0x64 irq 12 [ 1.018706] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0 # psmouse probes at boot, fails the Synaptics handshake, registers as plain "PS/2 Synaptics TouchPad" (no multitouch) [ 2.384949] input: PS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input6 # psmouse-reload service runs after systemd-udev-settle and writes synaptics to /sys/bus/serio/devices/serio1/protocol, then re-probes with the Synaptics extended protocol, queries coordinates, and registers as "SynPS/2 Synaptics TouchPad" (multitouch restored) [ 8.654815] psmouse serio1: synaptics: queried max coordinates: x [..5656], y [..4728] [ 8.683422] psmouse serio1: synaptics: queried min coordinates: x [1284..], y [1128..] [ 8.739382] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.2, id: 0x1e2b1, caps: 0xf00323/0x840300/0x26800/0x0, board id: 3163, fw id: 2286728 [ 8.775128] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input21 The issue is 100% reproducible across reboots. "options psmouse proto=synaptics" in modprobe config causes "EINVAL" on module insert. The handshake fails at that early stage. A systemd service that retries the sysfs write after systemd-udev-settle is a reliable workaround. This appears to be a timing issue where the touchpad firmware or i8042 controller is not ready for the Synaptics handshake at the time psmouse first probes. A retry with a short delay in the probe path, or a something more fancy with initial handshake, would likely resolve this. Happy to provide additional info if required. Kind regards, Cameron Spencer ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [6.12.107] MSI G63 9SEK - Synaptics touchpad falls back to PS/2, multitouch lost at boot, fixed by delayed protocol write 2026-09-13 5:23 [6.12.107] MSI G63 9SEK - Synaptics touchpad falls back to PS/2, multitouch lost at boot, fixed by delayed protocol write Cameron Spencer @ 2026-09-13 20:22 ` Lovekesh Solanki 2026-09-17 6:40 ` Cameron Spencer 0 siblings, 1 reply; 3+ messages in thread From: Lovekesh Solanki @ 2026-09-13 20:22 UTC (permalink / raw) To: Cameron Spencer; +Cc: linux-input On Sun, Sep 13, 2026 at 05:23:43AM +0000, Cameron Spencer wrote: > I experienced an issue where my Synaptics touchpad is registered as a > basic PS/2 device at boot, losing all multitouch functionality > (two-finger scroll, gestures). Writing "synaptics" to the sysfs protocol > file a few seconds after boot restores the SynPS/2 extended protocol and > full functionality. > > System: > > - Kernel: 6.12.107+deb13-amd64 Hi, Thanks for the report, could you see if the issue is reproducible in mainline first? > $ dmesg | grep -iE 'psmouse|synaptics|serio|i8042' > [ 1.006462] i8042: PNP: PS/2 Controller > [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12 > [ 1.010384] serio: i8042 KBD port at 0x60,0x64 irq 1 > [ 1.010392] serio: i8042 AUX port at 0x60,0x64 irq 12 > [ 1.018706] input: AT Translated Set 2 keyboard as > /devices/platform/i8042/serio0/input/input0 > # psmouse probes at boot, fails the Synaptics handshake, registers > as plain "PS/2 Synaptics TouchPad" (no multitouch) > [ 2.384949] input: PS/2 Synaptics TouchPad as > /devices/platform/i8042/serio1/input/input6 > # psmouse-reload service runs after systemd-udev-settle and writes > synaptics to /sys/bus/serio/devices/serio1/protocol, then re-probes with > the Synaptics extended protocol, queries coordinates, and registers as > "SynPS/2 Synaptics TouchPad" (multitouch restored) > [ 8.654815] psmouse serio1: synaptics: queried max coordinates: > x [..5656], y [..4728] > [ 8.683422] psmouse serio1: synaptics: queried min coordinates: > x [1284..], y [1128..] > [ 8.739382] psmouse serio1: synaptics: Touchpad model: 1, fw: > 8.2, id: 0x1e2b1, caps: 0xf00323/0x840300/0x26800/0x0, board id: 3163, > fw id: 2286728 > [ 8.775128] input: SynPS/2 Synaptics TouchPad as > /devices/platform/i8042/serio1/input/input21 Seems like firmware is unable to answer extended queries for some time after initialization and just falls back to PS/2, perhaps we could just add a retry loop around synaptics_query_hardware() to give firmware a little extra time. Thanks, Lovekesh ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [6.12.107] MSI G63 9SEK - Synaptics touchpad falls back to PS/2, multitouch lost at boot, fixed by delayed protocol write 2026-09-13 20:22 ` Lovekesh Solanki @ 2026-09-17 6:40 ` Cameron Spencer 0 siblings, 0 replies; 3+ messages in thread From: Cameron Spencer @ 2026-09-17 6:40 UTC (permalink / raw) To: Lovekesh Solanki; +Cc: linux-input Hi, Thanks for your swift reply. It appears this is not reproducible in mainline: Tested on 7.3-rc2 and the device probes as SynPS/2 at ~1.9s without requiring workaround. $ dmesg | grep -iE 'psmouse|synaptics|serio|i8042' [ 0.514787] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12 [ 0.518517] serio: i8042 KBD port at 0x60,0x64 irq 1 [ 0.518524] serio: i8042 AUX port at 0x60,0x64 irq 12 [ 0.527696] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0 [ 1.910459] psmouse serio1: synaptics: queried max coordinates: x [..5656], y [..4728] [ 1.939125] psmouse serio1: synaptics: queried min coordinates: x [1284..], y [1128..] [ 1.939132] psmouse serio1: synaptics: Your touchpad (PNP: SYN1509 SYN1500 SYN0002 PNP0f13) says it can support a different bus. If i2c-hid and hid-rmi are not used, you might want to try setting psmouse.synaptics_intertouch to 1 and report this to linux-input@vger.kernel.org. [ 1.995171] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.2, id: 0x1e2b1, caps: 0xf00323/0x840300/0x26800/0x0, board id: 3163, fw id: 2286728 [ 2.031111] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input6 The previous kernel (6.12.101+deb13-amd64) doesn't have this issue either. Kind regards, Cameron On 14/9/26 06:22, Lovekesh Solanki wrote: > On Sun, Sep 13, 2026 at 05:23:43AM +0000, Cameron Spencer wrote: >> I experienced an issue where my Synaptics touchpad is registered as a >> basic PS/2 device at boot, losing all multitouch functionality >> (two-finger scroll, gestures). Writing "synaptics" to the sysfs protocol >> file a few seconds after boot restores the SynPS/2 extended protocol and >> full functionality. >> >> System: >> >> - Kernel: 6.12.107+deb13-amd64 > Hi, > > Thanks for the report, could you see if the issue is reproducible in mainline > first? > >> $ dmesg | grep -iE 'psmouse|synaptics|serio|i8042' >> [ 1.006462] i8042: PNP: PS/2 Controller >> [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12 >> [ 1.010384] serio: i8042 KBD port at 0x60,0x64 irq 1 >> [ 1.010392] serio: i8042 AUX port at 0x60,0x64 irq 12 >> [ 1.018706] input: AT Translated Set 2 keyboard as >> /devices/platform/i8042/serio0/input/input0 >> # psmouse probes at boot, fails the Synaptics handshake, registers >> as plain "PS/2 Synaptics TouchPad" (no multitouch) >> [ 2.384949] input: PS/2 Synaptics TouchPad as >> /devices/platform/i8042/serio1/input/input6 >> # psmouse-reload service runs after systemd-udev-settle and writes >> synaptics to /sys/bus/serio/devices/serio1/protocol, then re-probes with >> the Synaptics extended protocol, queries coordinates, and registers as >> "SynPS/2 Synaptics TouchPad" (multitouch restored) >> [ 8.654815] psmouse serio1: synaptics: queried max coordinates: >> x [..5656], y [..4728] >> [ 8.683422] psmouse serio1: synaptics: queried min coordinates: >> x [1284..], y [1128..] >> [ 8.739382] psmouse serio1: synaptics: Touchpad model: 1, fw: >> 8.2, id: 0x1e2b1, caps: 0xf00323/0x840300/0x26800/0x0, board id: 3163, >> fw id: 2286728 >> [ 8.775128] input: SynPS/2 Synaptics TouchPad as >> /devices/platform/i8042/serio1/input/input21 > Seems like firmware is unable to answer extended queries for some time > after initialization and just falls back to PS/2, > > perhaps we could just add a retry loop around > synaptics_query_hardware() to give firmware a little extra time. > > Thanks, > Lovekesh ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-09-17 6:41 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-09-13 5:23 [6.12.107] MSI G63 9SEK - Synaptics touchpad falls back to PS/2, multitouch lost at boot, fixed by delayed protocol write Cameron Spencer 2026-09-13 20:22 ` Lovekesh Solanki 2026-09-17 6:40 ` Cameron Spencer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox