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.
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.
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.
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?
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....
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.
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
Actually, it appears that those changes are already against the current driver, so perhaps this is being done....
this affects me too on an asus k53e-b1. not fixed in kernel 2.6.40
Same problem on asus K53SV Laptop, kernel-2.6.40.4-5.fc15.x86_64
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 :)
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?
(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.
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.
Will do, and will report back.
didn't work for me. I'm still using a custom kernel of my own of 3.1 tree instead.
(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?
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)
(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.
Great job josh, http://koji.fedoraproject.org/koji/taskinfo?taskID=3461663 working great in my laptop, asus a43sv/k43sv please push to official repo :)
The patches have been added to f15 and f16 and will be in the next builds.
Thanks from me, too.
works for me with F16 with the build mentioned above. thanks!