https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238291

            Bug ID: 238291
           Summary: [patch] Elantech touchpad device is not recognized on
                    Thinkpad t480s (error: unknown touchpad firmware
                    (firmware v.0x7f3001))
           Product: Base System
           Version: 12.0-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: b...@freebsd.org
          Reporter: andrey.kosache...@gmail.com

Created attachment 204782
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=204782&action=edit
enables proper t480s touchpad fw version recognition

Hi,
originally was reported in freebsd-drivers
(https://lists.freebsd.org/pipermail/freebsd-drivers/2019-May/002183.html)
Further was suggested to submit a PR.


Recently I've replaced my t410 with t480s model.
Before ordering the device I found positive feedback in terms of FreeBSD 
compatibility (pages like https://wiki.freebsd.org/Laptops/Thinkpad_T480)

Apparently device is equipped with newer clickpad+trackpoint device 
which is not recognized by 12R properly:

FreeBSD beastie.intra 12.0-RELEASE-p3 FreeBSD 12.0-RELEASE-p3 #2 
r347114M: Sun May 12 00:08:31 EEST 2019 
root at beastie.intra:/usr/obj/usr/src/amd64.amd64/sys/BEASTIE-EVDEV  amd64

Attempts to enable hw.psm.synaptics_support or(and) 
hw.psm.elantech_support didn't help either. Though  trackpoint works 
just fine after enabling hw.psm.trackpoint_support

instead touchpad is recognized as generic PS/2 mouse (relevant strings 
from dmesg)

===
May 11 22:39:41 beastie kernel: atkbd0: [GIANT-LOCKED]
May 11 22:39:41 beastie kernel:   Unknown touchpad hardware (firmware 
v.0x7f3001)
May 11 22:39:41 beastie kernel: psm0: <PS/2 Mouse> irq 12 on atkbdc0
May 11 22:39:41 beastie kernel: psm0: [GIANT-LOCKED]
May 11 22:39:41 beastie kernel: psm0: model Generic PS/2 mouse, device ID 0
===

I was pretty much happy working with the device in general and with the 
tuouchpad in particular (as a simple mouse). Even got accustomed to the 
absence of double-finger scroll capability (which I could simulate via 
holding mid-button+swipe on touchpad) and triple-finger-tap as a 
midle-button-click). The only thing that I failed to workaround was 
accidental palm touches which is really painful and makes keyboard usage 
unbearable. Eventually I tried to seek for normal solution.

Lenovo site sujests for t480s devices "ELAN UltraNav Driver for Windows 
10 64-bit - ThinkPad T480s (Type 20L7, 20L8)" driver. Which made me 
think it is elantech (not synaptics). Looking through the psm sources 
quickly led me to the point where a very simple modification and 
recompilation of the kernel helped to recognize touchpad properly:
===
[silent at beastie][/usr/src]dmesg | egrep psm
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model Elantech Touchpad, device ID 0
===


Additionally I found relevant topic in openbsd lists 
http://openbsd-archive.7691.n7.nabble.com/ThinkPad-T480s-Elantech-v4-clickpad-configuration-td342242.html.
 
Eventually I narrow down it to the following changes: 
https://github.com/openbsd/src/commit/8e9e9c10431cb45d93e2c0d81f668ff9575f8015#diff-ff06b79b08490ebbfa34b15aa4ebf370
 



Also in the freebsd-drivers  Vladimir Kondratyev commented the following
(https://lists.freebsd.org/pipermail/freebsd-drivers/2019-May/002189.html):
===
The patch looks good to me. Linux guys did exactly the same recently:
https://github.com/torvalds/linux/commit/10d900303f1c3a821eb0bef4e7b7ece16768fba4#diff-e91bc4802c6797fe9acbdca0ed240be9
===


PS:
Please note there are 3 issues described in the mentioned thread of mailing
lists:
1) proper touchpad firmware recognition
2) trackpoint issue;
3) yet unknown error reported in Xorg log

this PR is dedicated to issue #1 only from the list above

Thank you!

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to