[11.10] Elantech trackpoint does not work Lenovo

Bug #967399 reported by Manoj Iyer on 2012-03-28
174
This bug affects 34 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
High
Manoj Iyer
Precise
Undecided
khadijah mitchell

Bug Description

Title: trackpoint does not function

Summary: trackpoint does not function

Steps:
1. log into desktop
2. use trackpoint and trackpoint buttons

Expected results: laptop responds to trackpoint and trackpoint buttons being pressed

Actual results: nothing happens
Manufacturer: LENOVO

WORKAROUND: sudo modprobe proto=exps enables the trackpoint and touchpad, but user will lose multi-touch functionality.

Manoj Iyer (manjo) wrote :

Using sudo modprobe proto=exps enables the trackpoint and touchpad, but user will lose multi-touch functionality.

Changed in linux (Ubuntu):
assignee: nobody → Manoj Iyer (manjo)
status: New → In Progress
importance: Undecided → High
sideshowbob (tommae) wrote :

Bug still persists in Ubuntu 12.04.
Sometimes (seems random to me) trackpoint is detected and activated after boot, but as written above, the touchpad is loosing mutli-touch functionality. For me multi-touch of the touchpad is more weightfull, then using the trackpoint.
Is there a converse workaround to sudo modprobe proto=exps, to disable trackpoint but gaining mutl-touch functionality?

Tristan Leo (vileda) wrote :

i can fully confirm the comments above on 12.10 (development)

linrunner (linrunner) wrote :
linrunner (linrunner) wrote :
Faule Socke (socke) wrote :

I am currently working on a kernel module patch to add trackpoint support to the elantech driver. I actually found out how the trackpoint protocol works and implemented it successfully. The current situation is as follows:

- elantech driver puts touchpad into absolute mode
- trackpoint still returns relative coordinates
-> problem: the Xorg synaptics module does only react on the absolute events (it does not react on everything that comes from input_report_rel) and therefore ignores everything from the trackpoint

I'm just a kernel module programming newbie and I'm not sure what is the best way to fix this. One solution would be using the evdev xorg module and forcing it to process relative and absolute axes from the input driver (with IgnoreRelativeAxes and IgnoreAbsoluteAxes options). But evdev seems to react very nervously on the touchpad (no filters etc). Or I could try to change the driver, so that it creates two devices, one for the touchpad and one for the trackpoint, but the design of the psmouse module and the elantech driver looks like this is not a good solution...

Any ideas/suggestions?

Jeff Marcom (jeffmarcom) wrote :

Fails on lenovo l530

Faule Socke (socke) wrote :

Hi,

here is a patch that adds support for reporting the relative (trackpoint) coordinates to the Elantech driver. Unfortunately, the Xorg synaptics module simply ignores relative coordinates and evdev would ignore absolute coordinates (as described above in #6) so there is really no way, to have both device work with this patch (yet). But maybe some more experienced developer will find my work on the Trackpoint Protocol helpful and decides to write a good patch (I think the right way to do it is to let the kernel module report relative and absolute coordinates over two separate devices, which in fact is very hard to achieve because the psmouse module is not structured for reporting to multiple devices).

I have also included a Xorg configuration which enables Middle-Mouse-Button scrolling and disables absolute coordinates (and therefore enables the Trackpoint).

Faule Socke (socke) wrote :

And the Xorg config file

tags: added: patch
Jeff Marcom (jeffmarcom) on 2013-10-03
tags: added: 201205-10579 blocks-hwcert
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in linux (Ubuntu Precise):
status: New → Confirmed
Faule Socke (socke) wrote :

Someone on the linux-input mailing list[1] wrote a patch to fix this issue. I've attached a slightly modified version (changed the device name to "TPPS/2 IBM TrackPoint" so that existing Xorg configurations found in the internet will work).

The patch creates a second device right inside the elantech.c which seems a little hacky but works totally fine.

Regards

References:
[1] http://www.spinics.net/lists/linux-input/msg26869.html

supertux (goeschlflo) wrote :

The "elantechfull.patch" posted by Faule Socke works like a charm
on my Thinkpad L530 using X-Ubuntu 13.10 with kernel version 3.11
trackpoint with all 3 buttons and
touchpad with all 2 buttons + multitouch functionality
both work and can be switched and configured independently.

...thx, but i don know how to install this patch! (linux mint 15).

thanks for help! Christian

supertux (goeschlflo) wrote :

For those interested how to patch their kernel
or how this Patch has developed from the original mailing List one:

http://thinkpad-forum.de/threads/162529-L530-L430-Trackpoint-unter-Linux?p=1686259&viewfull=1#post1686259

bluemle (bluemle) on 2013-12-17
no longer affects: linux (Fedora)
description: updated

I can confirm this issue on a toshiba sattelite s75-a7221

I am on kubuntu 13.10.

Has anyone else followed this up with upstream to try and get this included in mainline?

supertux (goeschlflo) wrote :

Will the "elantechfull.patch" be integrated in the next Ubuntu kernel?
Since patched my L530 system runns perfectly with full multitouch and trackpoint support ;)
The patch works perfectly without any side-effect, so i think it could be integrated without any furhter changes :D

Supertux I spoke to someone in ubuntu-kernel they want it upstreamed to mainline.

Andy Whitcroft (apw) wrote :

To be clear, the patch attached here was submitted upstream but has not yet been accepted. We would much rather not carry code which may not make it in that form in the official kernels as it makes maintenance much much harder. It would help if someone could follow up on the email thread and ask what happened to the patch as it seems to be missing from the maintainer trees.

Just followed up on the linux-input mailing list at kernel.org

Finally got an update on the upstream mailing list and the response is below. It also contains a link to the upstream thread when this was initially submitted.

You mean that one?
  http://www.spinics.net/lists/linux-input/msg26869.html

It never got applied, would be nice to hear whether that bug still
exist and have it resubmitted.

Thanks
David

Andy Whitcroft (apw) wrote :

I have applied the patch to a test kernel for 13.10 to allow people to confirm that this patch fixes issues for their h/w. These kernels are here:

    http://people.canonical.com/~apw/lp967399-saucy/

Note that upstream has not accepted this patch and very likely will not without change, and until they do we are not likely to apply it officially.

supertux (goeschlflo) wrote :

@Jonathan Aquilla:
The linked Patch http://www.spinics.net/lists/linux-input/msg26869.html
was the original one which i could not use out of the box for patching my kernel.

The https://bugs.launchpad.net/ubuntu/+source/linux/+bug/967399/+attachment/3914316/+files/elantechfull.patch
posted here by Faule Socke is initially the same, but was slightly modified to work out of the box
and to use the right xorg configs without further changes.

the Bug still exists in actual kernels, but it can completely be solved with the elantechfull.patch

supertux (goeschlflo) wrote :

@Andy Whitcroft:
your test kernel
Linux version 3.11.0-16-generic (apw@gomeisa) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu9) ) #27lp967399v201401171555 SMP Fri Jan 17 16:08:18 UTC 2014
works completely fine at my Lenovo L530

blackris (blackris) wrote :

@Andy Whitcroft:
Tested your kernel

Linux version 3.11.0-16-generic (apw@gomeisa) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu9) ) #27lp967399v201401171555 SMP

Works perfect on my L430.

supertux (goeschlflo) wrote :

How are the chances that the Patch will make it into 14.04 LTS or one of the following releases/kernels?
I have heard much positive feedback and nothing negative about it.
my L530(with Trackpoint/Multitouch/BluetoothMouse/USBMouse) runs since 2013-11-21 with it
and no problems have accured since then

supertux (goeschlflo) wrote :

also affects Ubuntu 14.04
without patch or workaround there's no trackpoint function at all

Mark Brown (mstevenbrown) wrote :

Also affects Thinkpad L430 on Trusty. No trackpoint at all.

supertux (goeschlflo) wrote :

Thested the elantechfull.patch with the newer Kernel version 3.13.9
as with the older version it works perfectly.

Changed in linux (Ubuntu Precise):
status: Confirmed → Fix Released
assignee: nobody → khadijah mitchell (krm431043)
supertux (goeschlflo) wrote :

Seems not to be fixed in Ubuntu generic kernel 3.13.0.27.33
elantechfull.patch also works fine with kernel version 3.13.9 here.

Matthias Blaicher (blaicher) wrote :

Hi Khadijah Mitchell,

Why did you close the issue for Precise? From what I read in this thread, the Ubuntu kernel devs are not willing to integrate the patch and wait for upstream - while there is nobody actually pushing the patch upstream.

As I currently see it, there is actually only a slim chance of having this problem fix by default in the close future. Maybe somebody could create a dkms module identical to this Arch Linux patch: https://aur.archlinux.org/packages/elantech-tp-dkms/

supertux (goeschlflo) wrote :

This bug also exists in Ubuntu 14.10

elantechfull.patch works like a charm ,
but meanwhile compiling of a own Kernel only because of this is a bit annoying :(

Thomas Huth (th-huth) wrote :

I think this bug has now been fixed upstream:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=a2418fc4a13b5da8d007a038c0a6a50a54edfabd

Could somebody please backport that patch to the Ubuntu 14.04 kernel? It's really annoying to re-compile my own mouse kernel module each time I've got to update my kernel package...

Simos Xenitellis  (simosx) wrote :

It's great that it has been fixed upstream.

To backport to 14.04, see instructions at https://help.ubuntu.com/community/UbuntuBackports

Roman Lenskij (romanlenskij) wrote :

I've already posted my solution for this in Bug #1070207 which seems to be a duplicate of this bug.

No need to recompile the kernel, just use DKMS :)

Can confirm that this bug still exists on Lenovo L430/L530 with Ubuntu 14.10

https://drive.google.com/file/d/0ByR4ekc5XtmPTWxQUkdZWkt2YXM/view?usp=sharing

The link points to a dkms tar.gz with a backported elantech driver from the current 3.18 kernel (that has the the fix for the issue included).

I call it "backported" as it was _slightly_ changed.
__set_bit(INPUT_PROP_POINTING_STICK, tp_dev->propbit); had to be commented out in elantech.c as kernel 3.16 doesn't support the INPUT_PROP_POINTING_STICK bit.

Apart from elantech.c and elantech.h everything else was coppied from the latest 3.16 ubuntu kernel sources.

This has been tested with ubuntu 14.10, *should* be compatible with ubuntu 14.04 (not tested)

TL;DR:
Download https://drive.google.com/file/d/0ByR4ekc5XtmPTWxQUkdZWkt2YXM/view?usp=sharing
sudo apt-get install dkms
sudo dkms ldtarball psmouse-elantech-3-18.tar.gz
sudo dkms install -m psmouse -v elantech-3-18
sudo rmmod psmouse
sudo modprobe psmouse

Wihola IT (wihola) wrote :

I have the similar problem in ThinkPad Twis: after turn off computer and boot - trackpad and touchpad doesn't work. If restart - it works again.

I found this helpful: http://askubuntu.com/questions/763763/touchpad-under-16-04-not-working
Need edit grub and trackpad and touch pad now works after shutdown and boot.

Kai-Heng Feng (kaihengfeng) wrote :

@Wihola IT,

Can you file a separate bug for the ThinkPad Twis? We can add the required workaround into Linux kernel directly.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.