Bug 251149 - SynPS/2 Synaptics TouchPad: Failed to create a device for ... after upgrade from 12.1 to 12.2
Summary: SynPS/2 Synaptics TouchPad: Failed to create a device for ... after upgrade f...
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: misc (show other bugs)
Version: 12.2-RELEASE
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-bugs (Nobody)
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2020-11-15 08:43 UTC by Jens Grassel
Modified: 2020-11-26 06:50 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jens Grassel 2020-11-15 08:43:29 UTC
Hi,

I just upgraded from 12.1-RELEASE to 12.2-RELEASE on my Dell XPS m1330 and the syntaptics touchpad stopped working. I played a bit around with the `kern.evdev.rcpt_mask` settings but to no avail.

```
# grep -i synaptic /boot/loader.conf 
hw.psm.synaptics_support="1"
# sysctl kern.evdev.rcpt_mask 
kern.evdev.rcpt_mask: 12
# dmesg | grep -i synaptic
psm0: model Synaptics Touchpad, device ID 0
# grep EE /var/log/Xorg.0.log
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[  1609.992] (II) Initializing extension MIT-SCREEN-SAVER
[  1610.031] (EE) AIGLX error: Calling driver entry point failed
[  1611.000] (EE) event6  - SynPS/2 Synaptics TouchPad: kernel bug: device has min == max on ABS_X
[  1611.048] (EE) libinput: SynPS/2 Synaptics TouchPad: Failed to create a device for /dev/input/event6
[  1611.048] (EE) PreInit returned 2 for "SynPS/2 Synaptics TouchPad"
# grep -i synaptic /var/log/Xorg.0.log
[  1610.942] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event6)
[  1610.942] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev pointer catchall"
[  1610.942] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall"
[  1610.943] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "libinput pointer catchall"
[  1610.943] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "libinput touchpad catchall"
[  1610.943] (II) Using input driver 'libinput' for 'SynPS/2 Synaptics TouchPad'
[  1610.943] (**) SynPS/2 Synaptics TouchPad: always reports core events
[  1610.999] (II) event6  - SynPS/2 Synaptics TouchPad: is tagged by udev as: Mouse Touchpad
[  1611.000] (EE) event6  - SynPS/2 Synaptics TouchPad: kernel bug: device has min == max on ABS_X
[  1611.000] (II) event6  - SynPS/2 Synaptics TouchPad: was rejected
[  1611.048] (EE) libinput: SynPS/2 Synaptics TouchPad: Failed to create a device for /dev/input/event6
[  1611.048] (EE) PreInit returned 2 for "SynPS/2 Synaptics TouchPad"
# cat /usr/local/etc/X11/xorg.conf.d/synaptics-touchpad.conf 
Section "InputClass"
    Identifier	"Touchpad"
    MatchIsTouchpad "on"
    Driver "libinput"
    Option "Tapping"            "on"
    Option "ScrollMethod"       "edge"
    Option "DisableWhileTyping" "on"
EndSection
```

It looks like the touchpad gets "rejected" although I have no idea if this is a kernel or a xorg/driver problem.

Does anyone have an idea or how can I help out (debug logs etc.)?

Kind regards,

Jens
Comment 1 Martin Birgmeier 2020-11-19 13:36:08 UTC
I have a similar issue after upgrading a Lenovo W520 from 12.1 to 12.2.

In the vt console, sysmouse works with the touchpad, the trackpoint, and the external USB mouse.

In X11, only the trackpoint and the external USB are working.

-- Martin
Comment 2 Martin Birgmeier 2020-11-21 09:51:41 UTC
In issue #249987, kern.evdev.rcpt_mask is mentioned.

In 12.2 it seems to be set to 0xc.

Setting it to 0x3 makes all three pointer devices working again in X11 (touchpad, trackpoint, USB mouse).

-- Martin
Comment 3 Martin Birgmeier 2020-11-21 11:07:06 UTC
The issue reported by me is solved:

In /var/log/Xorg.0.log, there were the following lines (with kern.evdev.rcpt_mask=12):

(EE) synaptics: SynPS/2 Synaptics TouchPad: Synaptics driver unable to detect protocol
(EE) PreInit returned 11 for "SynPS/2 Synaptics TouchPad"

Also, I am compiling ports myself, and from ages ago the EVDEV option was still unset for the xf86-input-synaptics port.

Enabling EVDEV support in x11-drivers/xf86-input-synaptics solved the issue for me.

Sorry for spamming your bug report; I hope that nonetheless this information may be useful for someone.

-- Martin
Comment 4 Jason W. Bacon freebsd_committer 2020-11-21 12:58:12 UTC
Same problem on a ThinkPad T61 using binary packages, so no unusual port options.

Touchpad works in VT but not in X11.

Setting kern.evdev.rcpt_mask=3 worked around it.
Comment 5 Martin Birgmeier 2020-11-21 14:51:17 UTC
What I did to diagnose the issue:
- Look in /var/log/Xorg.0.log
- run "sysctl kern.evdev" and check that all input devices are shown in the output
- run "sysctl hw.psm" and check that all mouse devices are in the output
- run "xinput" and check that X sees all input devices (those from kern.evdev)
- check that /etc/X11/xorg.conf is mostly empty - nowadays, the X server autoconfigures itself mostly completely
- and of course, search the Internet for all error messages found...

-- Martin
Comment 6 Jason W. Bacon freebsd_committer 2020-11-23 22:36:02 UTC
(In reply to Jason W. Bacon from comment #4)

Just hit the same issue after upgrading an old MacBook Pro to 12.2.

kern.evdev.rcpt_mask=3 fixed it here as well.
Comment 7 Jens Grassel 2020-11-26 06:50:37 UTC
Hi,

reading about the successful solutions with setting `kern.evdev.rcpt_mask = 3` I tried again but with no success.
The only thing I can get working with that setting is the console mouse (via moused) which works as expected but under X it does not work and the error message in the logs ("... was rejected") stays the same. :-(

Kind regards,

Jens