Date: Sun, 2 Jun 2019 17:13:11 +0300 From: Andrey Kosachenko <andrey.kosachenko@gmail.com> To: Vladimir Kondratyev <vladimir@kondratyev.su> Cc: freebsd-drivers@freebsd.org, FreeBSD X11 mailing list <freebsd-x11@freebsd.org> Subject: Re: Thinkpad t480s elantech touchpad device is not recognized: unknown touchpad firmware (firmware v.0x7f3001) Message-ID: <59e3fe9f-e81a-3236-43e4-110a2730cd02@gmail.com> In-Reply-To: <de2f55b6-fd86-194a-f431-8b2b775f1b11@kondratyev.su> References: <5f4e1f25-8c87-5fa5-1d7f-edbde63fde6e@gmail.com> <a179dbc9-3907-8c3d-c369-dd829896393b@gjunka.com> <279a4144-43d3-6921-2047-e7877bfd721d@kondratyev.su> <de2f55b6-fd86-194a-f431-8b2b775f1b11@kondratyev.su>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Vladimir, sorry for a delay (was not able to catch up on email for several days) first of all thanks for your time/efforts! Regarding the patch: 1) the kernel compiles OK, no side-effects/regressions were observed (in the course of brief manual testing of clickpad/trackpoint) 2) the behavior of trackpoint has changed. In particular it is the following: - no pointer "flickering" is observed anymore and it stands still once one just touches it (previously it used to flicker for a few fractions of seconds after one touches it and then pointer was moved exactly to the left upper screen corner and it was not possible to move it anymore by means of a trackpoint. I.e. one could manipulate pointer only via either externally connected mouse or via swiping touchpad (or it seems the proper term for it clickpad since it's bottom area "clicks" when one presses it). - pointer can be manipulated via a trackpoint. However it's behavior is quite weird. In particlular: * pointer can be moved up/down and right left; * pointer can be moved north-east (up-right) and south-west(down-left) * on attempts to move pointer either north-west (up-left) or south-east (down-right) it remains motionless. not sure if I have to blame hardware. Because a month ago when I received a device (it was supplied with Win10 system) worked as expected. Right now I can't prove that again because Win10 was erased unused OS to leave more space on disk. just in case mentioning relevant sysctl settings: === [silent@beastie][/home/silent]sysctl hw.psm hw.psm.elantech.softbutton3_x: 1709 hw.psm.elantech.softbutton2_x: 1342 hw.psm.elantech.softbuttons_y: 472 hw.psm.elantech.touchpad_off: 0 hw.psm.elantech.vscroll_div_max: 50 hw.psm.elantech.vscroll_div_min: 30 hw.psm.elantech.vscroll_min_delta: 15 hw.psm.elantech.vscroll_ver_area: 0 hw.psm.elantech.vscroll_hor_area: 0 hw.psm.elantech.taphold_timeout: 125000 hw.psm.elantech.tap_min_queue: 1 hw.psm.elantech.tap_max_delta: 25 hw.psm.elantech.div_len: 30 hw.psm.elantech.div_max_na: 10 hw.psm.elantech.div_max: 6 hw.psm.elantech.div_min: 3 hw.psm.elantech.weight_len_squared: 200 hw.psm.elantech.weight_previous_na: 20 hw.psm.elantech.weight_previous: 6 hw.psm.elantech.weight_current: 3 hw.psm.elantech.multiplicator: 10000 hw.psm.elantech.window_max: 10 hw.psm.elantech.window_min: 4 hw.psm.elantech.na_left: 0 hw.psm.elantech.na_bottom: 0 hw.psm.elantech.na_right: 0 hw.psm.elantech.na_top: 0 hw.psm.elantech.margin_left: 0 hw.psm.elantech.margin_bottom: 0 hw.psm.elantech.margin_right: 0 hw.psm.elantech.margin_top: 0 hw.psm.elantech.max_width: 7 hw.psm.elantech.max_pressure: 220 hw.psm.elantech.min_pressure: 1 hw.psm.elantech.two_finger_scroll: 1 hw.psm.elantech.max_y: 1888 hw.psm.elantech.max_x: 3052 hw.psm.elantech.directional_scrolls: 0 hw.psm.elantech_support: 1 hw.psm.trackpoint_support: 1 hw.psm.synaptics_support: 0 hw.psm.tap_timeout: 125000 hw.psm.tap_threshold: 25 hw.psm.tap_enabled: -1 === 3) this one has probably nothing to do with the clickpad driver: those errors in Xorg.log still persist when one puts the palm on a touchpad. I.e.: === [ 1561.372] (EE) event3 - ETPS/2 Elantech Touchpad: kernel bug: Touch jump detected and discarded. See https://wayland.freedesktop.org/libinput/doc/1.12.6/touchpad-jumping-cursors.html for details [ 1561.372] (EE) event3 - ETPS/2 Elantech Touchpad: kernel bug: Touch jump detected and discarded. See https://wayland.freedesktop.org/libinput/doc/1.12.6/touchpad-jumping-cursors.html for details === Vladimir Kondratyev wrote: > On 30.05.2019 01:17, Vladimir Kondratyev wrote: >> I.e. after that simple modification system started to recognize fw >>>> version: >>>> >>>> === >>>> [silent@beastie][/usr/src]dmesg | egrep psm >>>> psm0: <PS/2 Mouse> irq 12 on atkbdc0 >>>> psm0: [GIANT-LOCKED] >>>> psm0: model Elantech Touchpad, device ID 0 >>>> === >>>> >>>> and all expected touchpad features (multi-tap gestures and scrolling, >>>> whatsoever) started to function properly under xorg+evdev. I'm happy >>>> with a touchpad now however trackpoint stopped to work. In particular >>>> attempt to use trackpoint causes strange flickering of the mice >>>> cursor (which lasts few fractions of the second) after which cursor >>>> jumps to the left-upper corner of the screen and it's impossible to >>>> move it (via trackpoint) anymore (though swiping touchpad surface >>>> moves cursor as expected). Also I found in Xorg.log messages emerging >>>> when a palm touches the surface of a touchpad: >> Andrey, please fill bugzilla PR and send me link to it. I believe >> Elantech's trackpoint support has never been tested yet. >> > Hi Andrey, > > Could you try attached patch? It is only compile-tested. > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?59e3fe9f-e81a-3236-43e4-110a2730cd02>