Bug 728607 - Elantech Touchpad Wrongly Detected as Logitech Wheel Mouse
Elantech Touchpad Wrongly Detected as Logitech Wheel Mouse
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
15
x86_64 Linux
unspecified Severity medium
: ---
: ---
Assigned To: Kernel Maintainer List
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2011-08-05 14:46 EDT by Richard Heck
Modified: 2012-02-06 11:54 EST (History)
8 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-02-06 11:54:06 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Richard Heck 2011-08-05 14:46:36 EDT
This is on a new System 76 Pangolin Performance on which I'm trying to run Fedora. The touchpad is wrongly detected as a PS2 mouse, even using the latest 2.6.40-4 kernel. I have seen earlier reports of the same bug, but it seems this pad has a new ID or something, and so the bug is back.

System 76 seem to deal with this by using dkms to install a customized psmouse.ko module. The code for that is here:
  http://planet76.com/drivers/elantech/psmouse-elantech-v6.tar.bz2
Unfortunately, I cannot get this to compile the module on F15. I keep getting "MODPOST 0 modules", perhaps because the Fedora kernel configuration compiles this into the binary.

Anyway, I'd appreciate help with the problem. I can compile my own kernel with a patch if necessary.

I'm also happy to provide whatever other information might be needed.
Comment 1 Richard Heck 2011-08-05 15:39:50 EDT
So let me update this a bit. In /var/log/messages, what I get is:

Aug  5 15:31:29 rgh76 kernel: [    1.610242] mousedev: PS/2 mouse device common for all mice

This is even when specifying psmouse.force_elantech=1 on the boot line, as suggested in one of the other bugs. I still get in Xorg.0.log:

[    10.118] (II) config/udev: Adding input device PS/2 Logitech Wheel Mouse (/d
ev/input/event9)
[    10.118] (**) PS/2 Logitech Wheel Mouse: Applying InputClass "evdev pointer 
catchall"
[    10.118] (II) Using input driver 'evdev' for 'PS/2 Logitech Wheel Mouse'
[    10.118] (II) Loading /usr/lib64/xorg/modules/input/evdev_drv.so
[    10.118] (**) PS/2 Logitech Wheel Mouse: always reports core events
[    10.118] (**) PS/2 Logitech Wheel Mouse: Device: "/dev/input/event9"
[    10.118] (--) evdev: PS/2 Logitech Wheel Mouse: Vendor 0x2 Product 0x1
[    10.118] (--) PS/2 Logitech Wheel Mouse: Found 3 mouse buttons
[    10.118] (--) PS/2 Logitech Wheel Mouse: Found scroll wheel(s)
[    10.118] (--) PS/2 Logitech Wheel Mouse: Found relative axes
[    10.118] (--) PS/2 Logitech Wheel Mouse: Found x and y relative axes
[    10.118] (II) PS/2 Logitech Wheel Mouse: Configuring as mouse
[    10.118] (II) PS/2 Logitech Wheel Mouse: Adding scrollwheel support
[    10.118] (**) PS/2 Logitech Wheel Mouse: YAxisMapping: buttons 4 and 5
[    10.118] (**) PS/2 Logitech Wheel Mouse: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    10.118] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio2/input/input10/event9"
[    10.118] (II) XINPUT: Adding extended input device "PS/2 Logitech Wheel Mouse" (type: MOUSE)
[    10.118] (II) PS/2 Logitech Wheel Mouse: initialized for relative axes.
Comment 2 Richard Heck 2011-08-05 15:44:14 EDT
Switching over to the pre-installed Ubuntu, I see the same output in /var/log/dmesg, but in /var/log/Xorg.0.log, I have:


[    10.467] (II) config/udev: Adding input device ETPS/2 Elantech ETF1059 Click-Pad (/dev/input/mouse0)
[    10.467] (II) No input driver/identifier specified (ignoring)
[    10.467] (II) config/udev: Adding input device ETPS/2 Elantech ETF1059 Click-Pad (/dev/input/event6)
[    10.467] (**) ETPS/2 Elantech ETF1059 Click-Pad: Applying InputClass "evdev pointer catchall"
[    10.467] (**) ETPS/2 Elantech ETF1059 Click-Pad: Applying InputClass "evdev touchpad catchall"
[    10.467] (**) ETPS/2 Elantech ETF1059 Click-Pad: Applying InputClass "touchpad catchall"
[    10.467] (II) LoadModule: "synaptics"
[    10.467] (II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so
[    10.468] (II) Module synaptics: vendor="X.Org Foundation"
[    10.468]    compiled for 1.10.1, module version = 1.3.99
[    10.468]    Module class: X.Org XInput Driver
[    10.468]    ABI class: X.Org XInput driver, version 12.3
[    10.468] (II) Using input driver 'synaptics' for 'ETPS/2 Elantech ETF1059 Click-Pad'
[    10.468] (II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so

and so forth.
Comment 3 Richard Heck 2011-08-05 15:59:32 EDT
Sorry to keep posting to my own bug, but...it seems to me that if I could manage to enable the debugging stuff from elantech.c---all the stuff that goes through pr_debug---then perhaps I could get some info here. How do I do that?
Comment 4 Richard Heck 2011-08-05 22:08:37 EDT
OK, so, simply copying the elantech.{h,c} files from 
  http://planet76.com/drivers/elantech/psmouse-elantech-v6.tar.bz2
into drivers/input/mouse and compiling my own kernel solves the problem. Unfortunately, though, these files seem to be based upon an older version, and so I cannot see how to adapt the newer ones to this case. It looks to me as if there are differences in the firmwares here. E.g., the System 76 code seems to refer to a single register for reads and writes. But I'm no kernel hacker, just a LyX hacker....
Comment 5 Dave Jones 2011-08-05 23:47:10 EDT
Thanks for your detective work so far!

I've sent a mail to the upstream developers. Hopefully they can pull the delta apart and turn it into something we can merge.
Comment 6 Richard Heck 2011-08-10 11:22:58 EDT
According to Tom Lin, who did the work to enable this touchpad, the changes can be found here:
 http://gerrit.chromium.org/gerrit/#dashboard,1000759
Comment 7 Richard Heck 2011-08-10 11:27:42 EDT
Actually, it appears that those changes are already against the current driver, so perhaps this is being done....
Comment 8 matanya 2011-09-05 11:08:51 EDT
this affects me too on an asus k53e-b1. not fixed in kernel 2.6.40
Comment 9 collectours 2011-10-04 18:21:25 EDT
Same problem on asus K53SV Laptop, kernel-2.6.40.4-5.fc15.x86_64
Comment 10 Teguh DC 2011-10-26 05:13:48 EDT
Yes, i confirm that files from http://planet76.com/drivers/elantech/psmouse-elantech-v6.tar.bz2 solved this issue. My laptop Asus A43SV (same model with K43SV.

Now my touchpad work like a charm :)
Comment 11 Richard Heck 2011-10-26 11:07:47 EDT
It appears that a fix went in upstream on 11 October:
  http://gerrit.chromium.org/gerrit/#change,8853
Would it be possible to get this into the F16 kernels, at least?
Comment 12 Josh Boyer 2011-10-26 11:19:37 EDT
(In reply to comment #11)
> It appears that a fix went in upstream on 11 October:
>   http://gerrit.chromium.org/gerrit/#change,8853
> Would it be possible to get this into the F16 kernels, at least?

There's about 10 commits to the elantech driver in the upstream input tree that seem to be queued up for the 3.2 kernel (i think).  I'll look at getting them in F16.
Comment 13 Josh Boyer 2011-10-26 11:56:00 EDT
I've started an F15 scratch build:

http://koji.fedoraproject.org/koji/taskinfo?taskID=3461663

and an F16 scratch build:

http://koji.fedoraproject.org/koji/taskinfo?taskID=3461681

with the elantech patches applied.

When the builds complete, please download and test them.  If they work well, I'll include the patches in the next official fedora repo.
Comment 14 Richard Heck 2011-10-26 12:29:43 EDT
Will do, and will report back.
Comment 15 matanya 2011-10-28 07:21:50 EDT
didn't work for me.
I'm still using a custom kernel of my own of 3.1 tree instead.
Comment 16 Josh Boyer 2011-10-28 07:32:55 EDT
(In reply to comment #15)
> didn't work for me.

Which didn't work for you?  Logs?

> I'm still using a custom kernel of my own of 3.1 tree instead.

A custom kernel that contains what?
Comment 17 collectours 2011-10-28 17:25:56 EDT
I downloaded and installed kernel-2.6.40.8-1.1.fc15.x86_64.rpm from http://koji.fedoraproject.org/koji/taskinfo?taskID=3461664 on my asus K53SV Laptop

The elantech touchpad is recognized and works
[    2.843854] elantech: assuming hardware version 3 (with firmware version 0x450f01)
[    2.874780] elantech: Synaptics capabilities query result 0x78, 0x15, 0x0c.
[    2.955075] input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio4/input/input3
I can use gpointing-device-settings 
two fingers vertical scrolling works
two fingers horiz.scroll does not

Xorg.0.log reports
[    26.203] (II) config/udev: Adding input device ETPS/2 Elantech Touchpad (/dev/input/event3)
[    26.203] (**) ETPS/2 Elantech Touchpad: Applying InputClass "evdev touchpad catchall"
[    26.203] (**) ETPS/2 Elantech Touchpad: Applying InputClass "touchpad catchall"
[    26.203] (II) LoadModule: "synaptics"
[    26.203] (II) Loading /usr/lib64/xorg/modules/input/synaptics_drv.so
[    26.220] (II) Module synaptics: vendor="X.Org Foundation"
[    26.220] 	compiled for 1.10.0, module version = 1.4.0
[    26.220] 	Module class: X.Org XInput Driver
[    26.220] 	ABI class: X.Org XInput driver, version 12.2
[    26.220] (II) Using input driver 'synaptics' for 'ETPS/2 Elantech Touchpad'
[    26.220] (II) Loading /usr/lib64/xorg/modules/input/synaptics_drv.so
[    26.220] (**) ETPS/2 Elantech Touchpad: always reports core events
[    26.220] (**) Option "Device" "/dev/input/event3"
[    26.220] (--) ETPS/2 Elantech Touchpad: x-axis range 0 - 2508
[    26.220] (--) ETPS/2 Elantech Touchpad: y-axis range 0 - 1320
[    26.220] (--) ETPS/2 Elantech Touchpad: pressure range 0 - 255
[    26.220] (--) ETPS/2 Elantech Touchpad: finger width range 0 - 15
[    26.220] (--) ETPS/2 Elantech Touchpad: buttons: left right double triple
[    26.221] (--) ETPS/2 Elantech Touchpad: touchpad found
[    26.221] (**) ETPS/2 Elantech Touchpad: always reports core events
[    26.221] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio4/input/input3/event3"
[    26.221] (II) XINPUT: Adding extended input device "ETPS/2 Elantech Touchpad" (type: TOUCHPAD)
[    26.221] (**) ETPS/2 Elantech Touchpad: (accel) MinSpeed is now constant deceleration 2.5
[    26.221] (**) ETPS/2 Elantech Touchpad: MaxSpeed is now 1.75
[    26.221] (**) ETPS/2 Elantech Touchpad: AccelFactor is now 0.071
[    26.221] (**) ETPS/2 Elantech Touchpad: (accel) keeping acceleration scheme 1
[    26.222] (**) ETPS/2 Elantech Touchpad: (accel) acceleration profile 1
[    26.222] (**) ETPS/2 Elantech Touchpad: (accel) acceleration factor: 2.000
[    26.222] (**) ETPS/2 Elantech Touchpad: (accel) acceleration threshold: 4
[    26.222] (--) ETPS/2 Elantech Touchpad: touchpad found
[    26.222] (II) config/udev: Adding input device ETPS/2 Elantech Touchpad (/dev/input/mouse0)
Comment 18 matanya 2011-10-29 15:30:41 EDT
(In reply to comment #16)
> (In reply to comment #15)
> > didn't work for me.
> 
> Which didn't work for you?  Logs?
the touchpad didn't't have scroll neither vert nor horz. 
> 
> > I'm still using a custom kernel of my own of 3.1 tree instead.
> 
> A custom kernel that contains what?

it contains the driver from kernel 2.38 of chromium os modified by me to act as kernel driver 3.1rc16. ugly hack.
Comment 19 Teguh DC 2011-11-03 05:38:40 EDT
Great job josh,

http://koji.fedoraproject.org/koji/taskinfo?taskID=3461663

working great in my laptop, asus a43sv/k43sv
please push to official repo :)
Comment 20 Josh Boyer 2011-11-03 09:42:10 EDT
The patches have been added to f15 and f16 and will be in the next builds.
Comment 21 Richard Heck 2011-11-03 10:10:25 EDT
Thanks from me, too.
Comment 22 matanya 2011-11-10 18:41:30 EST
works for me with F16 with the build mentioned above. thanks!

Note You need to log in before you can comment on or make changes to this bug.