Thinkpad t480s elantech touchpad device is not recognized: unknown touchpad firmware (firmware v.0x7f3001)

Vladimir Kondratyev vladimir at kondratyev.su
Wed May 29 22:18:09 UTC 2019


On 29.05.2019 20:17, Grzegorz Junka wrote:
> Hi Andrey,
>
> I don't know much about drivers but I would suggest reposting to X11
> list since it's as much related to drivers as it's to the GUI (and
> freebsd-drivers doesn't seem to be very active).
>
> GrzegorzJ
>
>
> On 16/05/2019 22:40, Andrey Kosachenko wrote:
>> Hi,
>>
>> 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. In particular:
>>
>> ===
>> [silent at beastie][/usr/src]svnlite diff sys/dev/atkbdc/psm.c
>> Index: sys/dev/atkbdc/psm.c
>> ===================================================================
>> --- sys/dev/atkbdc/psm.c        (revision 347114)
>> +++ sys/dev/atkbdc/psm.c        (working copy)
>> @@ -6929,7 +6929,7 @@
>>  {
>>         static const int ic2hw[] =
>>         /*IC: 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f */
>> -           { 0, 0, 2, 0, 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0 };
>> +           { 0, 0, 2, 0, 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 };
>>         static const int fw_sizes[][3] = {
>>                 /* FW.vers  MaxX  MaxY */
>>                 { 0x020030, 1152,  768 },
>> ===
>>
The patch looks good to me. Linux guys did exactly the same recently:

https://github.com/torvalds/linux/commit/10d900303f1c3a821eb0bef4e7b7ece16768fba4#diff-e91bc4802c6797fe9acbdca0ed240be9

>> I.e. after that simple modification system started to recognize fw
>> version:
>>
>> ===
>> [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
>> ===
>>
>> 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.





More information about the freebsd-x11 mailing list