Touchpad not recognized on Dell Latitude E7470 Ultrabook

Bug #1590590 reported by John Dorn on 2016-06-08
144
This bug affects 24 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Unassigned
Xenial
Undecided
Unassigned
Yakkety
Undecided
Unassigned
systemd (Ubuntu)
Medium
Dimitri John Ledkov
xserver-xorg-input-synaptics (Ubuntu)
Undecided
Unassigned
Xenial
Undecided
Unassigned
Yakkety
Undecided
Unassigned

Bug Description

Expected: Touchpad settings available in Mouse & Touchpad Settings dialog

Actual result: Touchpad settings missing entirely

Details:
The touchpad on my Dell Ultrabook (Latitude E7470) functions mostly.

The settings for the touchpad are not available at all in the Mouse and Touchpad settings (see http://i.imgur.com/YRGiOrj.png).

Two-finger scrolling works as expected except it's using "Natural Scrolling" by default and there is no way to change it.

xinput list does not display a touchpad at all:

⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen id=11 [slave pointer (2)]
⎜ ↳ ImPS/2 Generic Wheel Mouse id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ Sleep Button id=9 [slave keyboard (3)]
    ↳ Integrated_Webcam_FHD id=10 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
    ↳ Dell WMI hotkeys id=14 [slave keyboard (3)]
    ↳ DELL Wireless hotkeys id=15 [slave keyboard (3)]

/proc/bus/input/devices lists the device as a "Generic Wheel Mouse"

Output of `lsb_release -rd`:
Description: Ubuntu 16.04 LTS
Release: 16.04

xserver-xorg-input-synaptics version information:
xserver-xorg-input-synaptics:
  Installed: 1.8.2-1ubuntu3
  Candidate: 1.8.2-1ubuntu3
  Version table:
 *** 1.8.2-1ubuntu3 500
        500 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status

John Dorn (john-dorn) wrote :

output of `xmodmap -pp`

There are 10 pointer buttons defined.

    Physical Button
     Button Code
        1 1
        2 2
        3 3
        4 4
        5 5
        6 6
        7 7
        8 8
        9 9
       10 10

Staffan Persson (p-staffan) wrote :

I have exactly the same problem on E5470:
xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ImPS/2 Generic Wheel Mouse id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ Sleep Button id=9 [slave keyboard (3)]
    ↳ Integrated_Webcam_HD id=10 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
    ↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
    ↳ DELL Wireless hotkeys id=14 [slave keyboard (3)]

Launchpad Janitor (janitor) wrote :

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

Changed in xserver-xorg-input-synaptics (Ubuntu):
status: New → Confirmed
Dylan James Hicks (dman1366) wrote :

This effects my Dell Latitude e7470 as well.

jjoumaa (joffreyjoumaa) wrote :

Mine too, except that the touchpad is recognized as a BYD touchpad (I'm on 16.04)

⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ImPS/2 BYD TouchPad id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ Sleep Button id=9 [slave keyboard (3)]
    ↳ Integrated_Webcam_HD id=10 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
    ↳ DELL Wireless hotkeys id=13 [slave keyboard (3)]
    ↳ Dell WMI hotkeys id=14 [slave keyboard (3)]

Staffan Persson (p-staffan) wrote :

After upgrading to kernel 4.6.3-040603-generic I also get ImPS/2 BYD TouchPad, but still no touchpad settings

xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ImPS/2 BYD TouchPad id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ Sleep Button id=9 [slave keyboard (3)]
    ↳ Integrated_Webcam_HD id=10 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
    ↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
    ↳ DELL Wireless hotkeys id=14 [slave keyboard (3)]

Staffan Persson (p-staffan) wrote :
Ian (q-labnchpad-b) wrote :

I have a Dell Latitude E7470 (same generation as the Precision 7510) which is also being detected as a "ImPS/2 BYD TouchPad" with kernel 4.6.

I installed Dell's drivers under Windows and it shows up in the device manager as Alps.

os2 (doa379) wrote :

This is claimed to be a kernel issue rather than an issue with the xserver-xorg-input-synaptics package.
As of kernel 4.7 the issue isn't quite resolved yet. The issue is also occurring on Dell model 7370. The touchpad shows up as ↳ ImPS/2 BYD TouchPad id=12 [slave pointer (2)].

https://bugzilla.kernel.org/show_bug.cgi?id=121281

The same for me in E5470:

xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ImPS/2 Generic Wheel Mouse id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ Sleep Button id=9 [slave keyboard (3)]
    ↳ Integrated_Webcam_HD id=10 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
    ↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
    ↳ DELL Wireless hotkeys id=14 [slave keyboard (3)]

Tried installing the psmouse-alps-1.3 driver, the install was successful, but nothing changed.

An additional problem is that since there are no touchpad settings in System Settings, I cannot change the "Disable touchpad while typing". I tried dconf, but there is no such option neither. The "Disable touchpad while typing" seems to be on -- the touchpad disables for ~1 sec after touching any key (including Shift for instance). I tried using syndaemon -i 1.0 -K -R -t with no effect neither.

Marcin Szałowicz (lolek) wrote :

Bump, e5470 here 4.4.0-36 kernel still no TouchPad options.
Two finger scroll works
Naturall scrolling is enabled - no way to disable it. That's the biggest problem for me.

Stephan Druskat (sdruskat) wrote :

Confirm 4.4.0-36-generic, Latitude E7470, two-finger-scrolling working, no TouchPad options. Also, the middle mouse button (which when pressed should be able to scroll via trackpoint) is not working.

Cornelius (7-cornelius) wrote :

Same on Dell Precision 7510, 4.4.0-38-generic. I'm pretty sure it was working until my touchpad was replaced by dell support this week.

Stephan Druskat (sdruskat) wrote :

I've found a supposedly internal Dell email trail on the web (http://www.spinics.net/lists/linux-input/msg44773.html), which says something about alps.c (although it doesn't seem to be an Alps touchpad after all?, cf. below) and protocols spoken by the touchpad, perhaps this is of any help?

Quoting:
> As I mentioned earlier, the device is certainly not recognized as an
> ALPS device,
>
> [ 367.097253] input: ImPS/2 BYD TouchPad as /devices/platform/i8042/serio1/input/input21
>
> If I `rmmod psmouse; modprobe psmouse dyndbg==pm` I find this,
>
> [ 714.520655] psmouse: psmouse serio1: cypress_ps2: send extension cmd 0x00, [0 0 0 0]
> [ 714.748482] psmouse: psmouse serio1: cypress_ps2: Command 0x00 response data (0x): 00 00 14
> [ 714.781858] psmouse: psmouse serio1: alps: E6 report: 00 00 64
> [ 714.804749] psmouse: psmouse serio1: alps: E7 report: 73 03 28
> [ 714.830829] psmouse: psmouse serio1: alps: EC report: 73 01 13
> [ 714.833568] psmouse: psmouse serio1: alps: Likely not an ALPS touchpad: E7=73 03 28, EC=73 01 13
> [ 714.860923] psmouse: psmouse serio1: elantech: unexpected magic knock result 0x00, 0x02, 0x64.
> [ 714.947527] psmouse: psmouse serio1: byd: BYD touchpad detected
> [ 715.869113] input: ImPS/2 BYD TouchPad as /devices/platform/i8042/serio1/input/input24
>
> This seems like quite a hint.

Petr Chmelar (chmelab) wrote :

Hi, they say there's also a patch for 2016 Dell Latitudes: http://www.spinics.net/lists/linux-input/msg44764.html.

Launchpad Janitor (janitor) wrote :

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

Petr Chmelar (chmelab) on 2016-09-27
affects: kernel-package (Ubuntu) → linux-meta (Ubuntu)
Changed in linux-meta (Ubuntu):
status: New → Confirmed
Petr Chmelar (chmelab) wrote :

There is a patch available by ALPS, see http://www.spinics.net/lists/linux-input/msg44764.html .

Launchpad Janitor (janitor) wrote :

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

Brad Figg (brad-figg) on 2016-09-27
affects: linux-meta (Ubuntu) → linux (Ubuntu)
Changed in linux (Ubuntu):
status: New → Confirmed
Changed in linux (Ubuntu):
status: New → Confirmed
Staffan Persson (p-staffan) wrote :

I tried the patch in http://www.spinics.net/lists/linux-input/msg44764.html but I still only see ImPS/2 Generic Wheel Mouse and no touchpad settings.

(applied on kernel 4.4.23, not sure which version the patch was generated against, but it compiled without problems so I assume it went ok).

Has anyone tried the patch and got it to work?

I can confirm that I see the same on Dell Lattitude 7370, Ubuntu 16.04, kernel 4.4.0-38-generic.

$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen id=10 [slave pointer (2)]
⎜ ↳ ImPS/2 Generic Wheel Mouse id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ Sleep Button id=9 [slave keyboard (3)]
    ↳ Integrated_Webcam_HD id=11 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
    ↳ Dell WMI hotkeys id=14 [slave keyboard (3)]
    ↳ DELL Wireless hotkeys id=15 [slave keyboard (3)]

From dmesg:
[ 4.806149] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i8042/serio1/input/input6

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Triaged
bagl0312 (bagl0312) wrote :

I have the same problem with a new dell latitude e7370

$xinput list

⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen id=11 [slave pointer (2)]
⎜ ↳ ImPS/2 Generic Wheel Mouse id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ Sleep Button id=9 [slave keyboard (3)]
    ↳ Integrated_Webcam_HD id=12 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
    ↳ Dell WMI hotkeys id=15 [slave keyboard (3)]
    ↳ DELL Wireless hotkeys id=16 [slave keyboard (3)]

Ubuntu 16.04

$ uname -a
Linux nbbag7 4.4.0-38-generic #57-Ubuntu SMP Tue Sep 6 15:42:33 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

dashesy (dashesy) wrote :

Same problem as above on Dell 7510, thinks it is PS/2. Normally that would not be a problem, but this specific touchpad by default uses "natural scrolling" which is very annoying.

bagl0312 (bagl0312) wrote :

Indeed, if a workaround to invert the "natural scrolling" behavior will be found we could survive until a real support is enabled

bagl0312 (bagl0312) wrote :

I found a workaround to invert the two finger scrolling behavior.
It is enough to add a file .Xmodmap in the home dir with the following content:

$ cat .Xmodmap
pointer = 1 2 3 5 4 6 7 8 9 10

(note that the forth and fifth numbers are swapped)

This invert the two finger scrolling direction, but unfortunately also the direction of scrolling of the wheel of an external mouse, if used...

Anyway, for those using only the touchpad I think it is a good, temporary compromise :)

See attached.

--Dick Miller, Partner, MMS <<email address hidden>
<mailto:<email address hidden>>>

On 10/07/2016 04:02 AM, bagl0312 wrote:
> I found a workaround to invert the two finger scrolling behavior.
> It is enough to add a file .Xmodmap in the home dir with the following content:
>
> $ cat .Xmodmap
> pointer = 2 3 5 4 6 7 8 9 10
>
> (note that the forth and fifth numbers are swapped)
>
> This invert the two finger scrolling direction, but unfortunately also
> the direction of scrolling of the wheel of an external mouse, if used...
>
> Anyway, for those using only the touchpad I think it is a good,
> temporary compromise :)
> -- You received this bug notification because you are subscribed to
> xserver-xorg-input-synaptics in Ubuntu. Matching subscriptions: A.
> Richard Miller https://bugs.launchpad.net/bugs/1590590 Title: Touchpad
> not recognized on Dell Latitude E7470 Ultrabook Status in linux
> package in Ubuntu: Triaged Status in xserver-xorg-input-synaptics
> package in Ubuntu: Confirmed Bug description: Expected: Touchpad
> settings available in Mouse & Touchpad Settings dialog Actual result:
> Touchpad settings missing entirely Details: The touchpad on my Dell
> Ultrabook (Latitude E7470) functions mostly. The settings for the
> touchpad are not available at all in the Mouse and Touchpad settings
> (see http://i.imgur.com/YRGiOrj.png). Two-finger scrolling works as
> expected except it's using "Natural Scrolling" by default and there is
> no way to change it. xinput list does not display a touchpad at all: ⎡
> Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST
> pointer id=4 [slave pointer (2)] ⎜ ↳ ELAN Touchscreen id=11 [slave
> pointer (2)] ⎜ ↳ ImPS/2 Generic Wheel Mouse id=13 [slave pointer (2)]
> ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core
> XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave
> keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Power Button
> id=8 [slave keyboard (3)] ↳ Sleep Button id=9 [slave keyboard (3)] ↳
> Integrated_Webcam_FHD id=10 [slave keyboard (3)] ↳ AT Translated Set 2
> keyboard id=12 [slave keyboard (3)] ↳ Dell WMI hotkeys id=14 [slave
> keyboard (3)] ↳ DELL Wireless hotkeys id=15 [slave keyboard (3)]
> /proc/bus/input/devices lists the device as a "Generic Wheel Mouse"
> Output of `lsb_release -rd`: Description: Ubuntu 16.04 LTS Release:
> 16.04 xserver-xorg-input-synaptics version information:
> xserver-xorg-input-synaptics: Installed: 1.8.2-1ubuntu3 Candidate:
> 1.8.2-1ubuntu3 Version table: *** 1.8.2-1ubuntu3 500 500
> http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages 100
> /var/lib/dpkg/status To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1590590/+subscriptions
>

Isaac (ikkaroz) wrote :

Same problem here with a Dell Latitude e5470.
Tried in Ubuntu 16.04 and 16.10.

Philippe (philippe-rast) wrote :

Confirming this behavior with Dell Latitude 7370,
Kernel 4.8.4-040804-generic

When typing in basically turn off my touchpad.
With $ xinput find your device id
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ImPS/2 BYD TouchPad id=12 [slave pointer (2)]
⎜ ↳ ThinkPad Bluetooth Laser Mouse id=15 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]

TouchPas a id 12

Then disable touchpad with:
xinput set-prop 12 "Device Enabled" 0

When done typing, reenable it with
xinput set-prop 12 "Device Enabled" 1

Clumsy but better than dealing with jumping cursors...

Philippe, I am not really sure what you want to do with those commands...

Philippe (philippe-rast) wrote :

ah, sorry, got hooked up with post #10 where Michal writes that "I cannot change the "Disable touchpad while typing".
To me, that's the most annoying part about the touchpad that is not recognized correctly - and as long as there's no kernel fix available thats the best but rather crude work-around that I was able to find.

But, you're right indeed - the xinput stuff doesn't fix the issue at all!

bagl0312 (bagl0312) wrote :

Regarding my post #24, I think a better workaround, instead of changing .Xmodmap,
 is to add the following line to the file:

~/.xinputrc

xinput set-button-map "ImPS/2 Generic Wheel Mouse" 1 2 3 5 4 6 7

in this way only the two-finger scrolling direction of the unrecognized touchpad will be inverted, while the wheel scrolling direction of an external mouse will not be modified.

In addition, due to some bug in unity/gnome not all the applications interpret correctly .xinputrc/.Xmodmap commands. So for example chrome/firefox will be ok, but nautilus windows will still use the "natural" scrolling, regardless of .xinputrc/.Xmodmap content.
I did not find a solution to solve these inconsistencies.

The only real solution will be of course a proper support of our touchpad at kernel level

Mentis (mentis-by) wrote :

Touchpad on my latitude e5470 was correctly recognized after updating kernel to "4.9rc5"

⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech Performance MX id=11 [slave pointer (2)]
⎜ ↳ AlpsPS/2 ALPS DualPoint Stick id=13 [slave pointer (2)]
⎜ ↳ AlpsPS/2 ALPS DualPoint TouchPad id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ Sleep Button id=9 [slave keyboard (3)]
    ↳ Integrated_Webcam_HD id=10 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
    ↳ DELL Wireless hotkeys id=15 [slave keyboard (3)]
    ↳ Dell WMI hotkeys id=16 [slave keyboard (3)]

Staffan Persson (p-staffan) wrote :

Thank you for posting this Mentis, I now also have a working touchpad on e5470:
$ uname -r
4.9.0-040900rc5-generic
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ AlpsPS/2 ALPS DualPoint TouchPad id=12 [slave pointer (2)]
⎜ ↳ AlpsPS/2 ALPS DualPoint Stick id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ Sleep Button id=9 [slave keyboard (3)]
    ↳ Integrated_Webcam_HD id=10 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
    ↳ Dell WMI hotkeys id=14 [slave keyboard (3)]
    ↳ DELL Wireless hotkeys id=15 [slave keyboard (3)]

My wifi stopped working but it was solved by download https://github.com/OpenELEC/iwlwifi-firmware/blob/master/firmware/iwlwifi-8000C-22.ucode and copying it into /lib/firmware/

bagl0312 (bagl0312) wrote :

Does somebody know if this fix in the kernel 4.9.0.rc5, once released, will be back-ported to the previous kernel versions used by LTS linux distributions?
For example ubuntu 16.04 LTS uses kernel 4.4.x

Petr Chmelar (chmelab) wrote :

No @bagl0312, this is not fixed in
Linux p37470 4.4.0-47-generic #68-Ubuntu SMP Wed Oct 26 19:39:52 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

I spoke to some Dell representatives and they told me that anyone with Premium Support can report the this issue and they are supposed to fix it, because the Premium Support includes both hardware and software issues.

Adam (pmonas) wrote :

@chmelab It's not currently fixed in 4.4.x; the question is whether it's going to be fixed in the 4.4.x kernel at any point in the future, and if so, when. (from my point of view I'd rather not move away from LTS unless absolutely necessary)

bagl0312 (bagl0312) wrote :

@chmelab @pmonas indeed I was wondering if this kind of fix are expected to be backported to relevant older kernels.
In this case it should be backported at least to the 4.4.x series.

I have experience of other bug fixes backported to previous kernel versions, so this should be the case also for this fix. I just would like to be sure that the right developers are informed that this is a very annoying issue which deserves a fix as soon as possible for the LTS distributions

Petr Chmelar (chmelab) wrote :

I agree with you... the absence of the driver makes unusable not only the trackpoint but also the keyboard, because the touchpad is still on when typing. It should be definitely backported. Thanks!

I can also confirm that it is solved in 4.9rc6.

On a Latitude 7370:

:~$ uname -r
4.9.0-040900rc6-generic

:~$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen id=10 [slave pointer (2)]
⎜ ↳ AlpsPS/2 ALPS DualPoint TouchPad id=13 [slave pointer (2)]
⎜ ↳ AlpsPS/2 ALPS DualPoint Stick id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ Sleep Button id=9 [slave keyboard (3)]
    ↳ Integrated_Webcam_HD id=11 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
    ↳ Dell WMI hotkeys id=15 [slave keyboard (3)]
    ↳ DELL Wireless hotkeys id=16 [slave keyboard (3)]

bagl0312 (bagl0312) wrote :

I also confirm that with the mainline kernel 4.9.0-rc6 on ubuntu 16.04 the trackpad is recognized correctly on dell latitude e7370

Adam (pmonas) wrote :

Does anyone know who one raises a request with to get backported to 4.4.x ?

Phidias (phidias-chiang) wrote :

I've backport the driver to Xenial and gonna send the patch set shortly, hopefully it will be available in next kernel release.

bagl0312 (bagl0312) wrote :

Hi Phidias,
this is a great news,
thanks a lot!

Stephan Druskat (sdruskat) wrote :

Excellent! Much appreciated, thanks Phidias!

Iron Davey (idb151) wrote :

Wonderful Phidias! Its good to know this pain will go away soon.

Thumbs up for Phidias! :)

Adam (pmonas) wrote :

👍👍 Thanks so much! Looking forward to seeing the patch in action :) 👍👍

@Phidias, that's great. Thanks. Could you post here when you know that the patch has made it into the kernel?

Phidias (phidias-chiang) wrote :

https://wiki.ubuntu.com/KernelTeam/Newsletter/
My backport has been acked, and according to the news letter, it will be applied to Xenial and Yaketty master-next branch no later than Dec 16, and will be available in -proposed repo on Dec 25 (Merry Christmas!)

Stephan Druskat (sdruskat) wrote :

Merry Christmas indeed! Thanks, Phidias! Thanks Ubuntu kernel team!

bagl0312 (bagl0312) wrote :

Hi,
I am using since a few weeks the kernel 4.9 with my dell e7370 abd the touchpad is recognized.

I have however an annoying problem which happens quite often.

With the "tap to click" option enabled, when I tap the touchpad sometime the behavior is quite unreliable.

For example:

1) Tapping on a tab of the chrome browser close the tab (instead of selecting it)
2) Tapping on a text entering field works as a "paste", instead of simply activating the field

Is someone else observing this problem?

Adam (pmonas) wrote :

@bagl0312: both of those are what you'd expect from a "middle-click". This seems somehow like a different bug (or perhaps you're inadvertently tapping with two or three fingers and your system is set up to interpret that as a middle-click)

bagl0312 (bagl0312) wrote :

@pmonas yes, I think the singe tap is sometime interpreted as a middle-click. I can guarantee that I click with a single finger, though ...
Is someone else using the 4.9 kernel on the e7370 observing this ?

bagl0312 (bagl0312) wrote :

@pmonas triggered by your comment, I made some further investigation and it seems that the middle-click is alway triggered when I click with a single finger in the upper-right part of the trackpad
Please check if you find the same

Staffan Persson (p-staffan) wrote :

yes, I can reproduce it like this:
- open a text doc
- select some text in it
- tap in the top right corner of the touchpad
then the selected text gets pasted for every tap

Adam (pmonas) wrote :

@p-staffan Are you also using the 4.9.x kernel (i.e. the one with the patch so that the touchpad is recognized)?

Staffan Persson (p-staffan) wrote :

I'm using rc5:
uname -a
Linux se5470 4.9.0-040900rc5-generic #201611131431 SMP Sun Nov 13 19:33:15 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

bagl0312 (bagl0312) wrote :

I am using the newly released 4.9, but the same "feature"was present in the previous rcX versions:

uname -a
Linux nbbag7 4.9.0-040900-generic #201612111631 SMP Sun Dec 11 21:33:00 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

BTW,I am noticing now that tapping with a single finger on the lower-right part of the trackpad is equivalent of a right-click.

So it seems that there are some default gestures on the upper/lower-right part that are not understood by the current driver and are enabled by default.
I don't know if this can be considered a bug

bagl0312 (bagl0312) wrote :

ok,
after further googling it turned out these up-right and bottom-right top shortcuts for middle and right button are default in Ubuntu (and not specific of our trackpad).
So the new driver is working as expected.

For those finding very annoying the accidental middle button click when tapping the up-right part of the trackpad there is a workaround to disable it using the synclient command:

synclient RTCornerButton=0 ! disable up-right middle click
synclient RBCornerButton=0 ! disable bottom-right right click

You can also put the above commands in the "startup applications preferences" control panel to make them persistent after a reboot

Kyle Vedder (kylevedder) wrote :

I just received the patch and my touchpad now works as expected.

This is for my Dell Latitude E5470, which, before this update, had the generic mouse drivers which did not recognize it as a touchpad.

bagl0312 (bagl0312) wrote :

Confirmed that the patch works also on dell latitude E7370 with kernel version
4.4.0-57-generic #78-Ubuntu SMP

Sebastian Blask (blask) wrote :

Touchpad and trackstick are recognized now on E7470, but the trackstick is pretty unusable by default. It's way too sensitive...

Adam (pmonas) wrote :

Works here. Used
xinput set-prop "AlpsPS/2 ALPS DualPoint TouchPad" 269 1
to turn tap-to-click on.

Thanks so much to all the people who sorted this out!

Stephan Druskat (sdruskat) wrote :

@blask: Had the same problem. Use the following to decrease speed:

xinput set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Accel Constant Deceleration" 2

The higher the value (I find 2 good), the slower the speed.

Add the line to $USER_HOME/.xsessionrc to keep the setting across restarts.

Sebastian Blask (blask) wrote :

@sdruskat

I had tried that, but I still find the pointer very inaccurate - unless I set it to 10 which makes moving the pointer around too slow. "Device Accel Adaptive Deceleration" doesn't seem to have an effect. Someone suggested combining xinput deceleration with xset acceleration + pixel threshold for this kind of issues, but I don't see any change using xset. Configuring acceleration and pixel threshold in the GUI doesn't seem to work either.

Petr Chmelar (chmelab) wrote :

The driver is a very nice Christmas gift, thank you, guys.

These settings make the Dell stick somehow Thinkpad feel:
# https://www.x.org/wiki/Development/Documentation/PointerAcceleration/
xinput --set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Accel Profile" 2
xinput --set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Accel Velocity Scaling" 3
xinput --set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Accel Constant Deceleration" 7
xinput --set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Accel Adaptive Deceleration" 7

You can play with these values and if we agree on some values, they should be set by default, because the default setting makes the stick really unusable.

Also, I didn't find how to slow down the mid-button scrolling speed :(

Stephan Druskat (sdruskat) wrote :

@chmelab: Try xinput set-prop "AlpsPS/2 ALPS DualPoint Stick" "Evdev Wheel Emulation Inertia" 40

@blask: Don't have that problem, settled on value 4.

Here's my .xsessionrc, works fine for me, mid-button scrolling is mid-paced, pointer is quick but not overtly so...

#!/bin/bash

# Set up mid-button scrolling
xinput set-prop "ImPS/2 Generic Wheel Mouse" "Evdev Wheel Emulation" 1
xinput set-prop "ImPS/2 Generic Wheel Mouse" "Evdev Wheel Emulation Button" 2
xinput set-prop "ImPS/2 Generic Wheel Mouse" "Evdev Wheel Emulation Timeout" 20

# Decrease TrackPoint speed
xinput set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Accel Constant Deceleration" 4
xinput set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Accel Adaptive Deceleration" 40
xinput set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Accel Velocity Scaling" 1
xinput set-prop "AlpsPS/2 ALPS DualPoint Stick" "Evdev Wheel Emulation Inertia" 40

My kernel got upgraded from standard repositories. I use Dell Latitude E5470. Now the touchpad and trackpoint are recognised:

mskrzypczak@dell-latitude:~$ xinput -list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ AlpsPS/2 ALPS DualPoint Stick id=13 [slave pointer (2)]
⎜ ↳ AlpsPS/2 ALPS DualPoint TouchPad id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ Sleep Button id=9 [slave keyboard (3)]
    ↳ Integrated_Webcam_HD id=10 [slave keyboard (3)]
    ↳ DELL Wireless hotkeys id=14 [slave keyboard (3)]
    ↳ Dell WMI hotkeys id=15 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]

Also, I can see the touchpad options in the System Settings tab.

However, I notice the following behaviours:
1) I cannot turn off the horizontal double-finger scrolling.
2) The horizontal double-finger scrolling is unproportionally fast.
3) It happens that without any activity (and no external mouse connected) my mouse pointer moves around the screen (!) (it happens even when I disable touchpad in system settings, so I believe it must come from the trackpoint).
4) I notice spontaneous clicks while moving the cursor using touchpad.

Do you think it is possible to add options to the Mouse & Touchpad tab to control 1), 2) and 3)?

What about 3) and 4)

Petr Chmelar (chmelab) wrote :

Hi, I find this combination with @sdruskat to be most usable and quite comfortable:

xinput set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Accel Profile" 2
xinput set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Accel Constant Deceleration" 4
xinput set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Accel Adaptive Deceleration" 40
xinput set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Accel Velocity Scaling" 1
xinput set-prop "AlpsPS/2 ALPS DualPoint Stick" "Evdev Wheel Emulation Inertia" 80

Also, I don't need the ImPS/2 Generic Wheel Mouse anymore :)

Thank you, it seems that your configuration helped with the trackpoint. Do you have any suggestions regarding 1, 2 and 4?

Is it possible to add those settings to the GUI setting tab?

Török Edwin (edwintorok) wrote :

Apparently 4.8.0-34-generic detects my Latitude E7470 touchpad/stick as ALPS instead of BYD (4.8.0-32-generic detects as BYD). I don't know which would be the correct one, but by default ALPS is way too sensitive and I have to apply those xprops changes before it is usable again (basically I can't click anything because no matter how much I want to hold my finger still, it just goes around in circles and the pointer is not on top of an icon long enough to click it).

There is also something weird about how the touchpad behaves (or maybe I noticed it now cause I use it more instead of the trackpoint?), is it supposed to scroll vertically when I move a single finger vertically on the right half of it? Basically I have to always move my finger horizontally first, otherwise it accidentally scrolls.

I think it would be useful to make the BYD/ALPS configurable. The BYD driver works a lot better by default, and I think I actually prefer it over the ALPS one :)

Tomislav (hefest) wrote :

Affects E5570 as well. I'm running a fully updated 14.04 machine (kernel 3.19.0-30-generic) and will try to make do with the nice workaround from bagl032 (comment #30), but would very much appreciate a proper patch of the LTS kernel because 1) the workaround doesn't work perfectly and 2) I'd hate to have to upgrade the entire (LTS release) OS to get a driver bugfix.

bagl0312 (bagl0312) wrote :

I think the patch will be never backported to the kernel 3.19 and ubuntu 14.04.
Probably you should consider update to 16.04, it should be reasonably smooth

Florian Fainelli (f-fainelli) wrote :

Seeing exactly the same behavior as described in comment #71, happy to test any change

I really disappointed by this changes in kernel 4.4.0-64. Before I had working touchpad(tap as click, two finger scrolling) with stick which was worked out off box. Thing is it is only possible to change using Unity Tweak Tool. But now it is completle useless. I disable touchpad permanantly for time beeing. Because palm rejection is completely disaster, it recognize mypalms as two fingre touches. Before everything worked with evdev. Currently evdev driver cannot handle touchpad it just recognize taps and touchpad button clicks on my Latitude e7470. :( I hope somebody can publish working configuration or some patch that help me revert back to old "ImPS/2 BYD TouchPad" or make evdev working again.

Comment #71. I hope there will be way back :(

Download full text (5.3 KiB)

A number of relevant bug fixes have been committed to the kernel since this driver was backported. These fixes should probably be backported as well:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=864db9295b06837d11a260e5dacf99a3fdf6bce2
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7229c58c096ca08576cbcbf6669bfbdcae0b5d22
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=23fce365c6a26e40d459ca97289dd18543fb6845
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=47e3a5edc6538d66e470aaed3b7c57255cb37ca1
https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git/commit/?h=for-linus&id=e7348396c6d51b57c95c6646c390cd078e038e19
https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git/commit/?h=for-linus&id=47e6fb4212d09f325c0847d05985dd3d71553095

I put the following in my xorg.conf to permanently fix the sensitivity issues and disable edge scrolling:
Section "InputClass"
  Identifier "PointStick"
  MatchIsPointer "true"
  MatchProduct "DualPoint Stick"
  MatchDevicePath "/dev/input/event*"

  # To display current settings:
  # xinput list-props 'AlpsPS/2 ALPS DualPoint Stick'
  # xinput get-feedbacks 'AlpsPS/2 ALPS DualPoint Stick'

  # Scroll wheel emulation is configured by default in
  # /usr/share/X11/xorg.conf.d/11-evdev-trackpoint.conf
  # Default scroll is way too sensitive
  Option "EmulateWheelInertia" "80" # Default 10
  # Middle Button Emulation isn't needed since there is a physical button
  Option "Emulate3Buttons" "false" # Default true

  # Use the recommended "polynomial" acceleration profile
  Option "AccelerationProfile" "2" # Default 0 ("classic")
  # Default settings are way too sensitive
  Option "ConstantDeceleration" "9" # Default 1.0
  #Option "AdaptiveDeceleration" "1.0" # Default 1.0
  # The Threshold/Numerator/Denominator set here are usually overridden by the Desktop Manager,
  # so you may also need to adjust these in the Desktop Manager's control panel, or add
  # `xinput set-ptr-feedback 'AlpsPS/2 ALPS DualPoint Stick' 0 7 2` to a startup script run by your
  # Desktop manager.
  Option "AccelerationThreshold" "0" # Default 4 for use with "classic" profile
  Option "AccelerationNumerator" "7" # Default 2
  Option "AccelerationDenominator" "2" # Default 1
  #Option "VelocityScaling" "10.0" # Default 10.0
EndSection

Section "InputClass"
  Identifier "TouchPad"
  MatchIsTouchpad "true"
  MatchDevicePath "/dev/input/event*"

  # To display current settings:
  # xinput list-props 'AlpsPS/2 ALPS DualPoint TouchPad'
  # xinput get-feedbacks 'AlpsPS/2 ALPS DualPoint TouchPad'
  # synclient

  # Use multi-touch button emulation
  Option "TapButton2" "2" # Default 3 (right click)
  Option "TapButton3" "3" # Default 0
  # Button emulation isn't needed since there are physical buttons
  # and multi-touch button emulation is easier to use than...

Read more...

BTW, some Dell Precision 7510 systems (possibly only Xeon systems?) have a hardware issue where the trackstick or the touchpad or both will periodically get "stuck" (stop responding briefly) when on A/C power, when switchable graphics is enabled, when there is significant 2D or 3D video activity being rendered on the Intel video card, and when the Alps device is being run by an Alps driver (either this Linux driver or the standard Windows driver) instead of being run in PS/2 compatibility mode.

However, Dell is not taking my complaints about this seriously, in part because they "have not received any other complaints about this issue".

If anyone else is encountering this issue, please contact me directly.

Kai-Heng Feng (kaihengfeng) wrote :

For those who are affected by the sensitivity issue, this systemd commit fixes the issue:

commit 579a2ab3d65a2908afef5578af26793e80898d55
Author: Ben Gamari <email address hidden>
Date: Sat Oct 15 12:11:03 2016 -0400

    hwdb: Add sensitivity for Dell Latitude E7470 pointingstick

Kai-Heng Feng (kaihengfeng) wrote :

@Paul

When the touchpad stuttered, did you see anything like 'overhead' or 'throttled' in dmesg?

No. If I monitor interrupts, the Alps device actually stops sending interrupts when the touchpad or trackstick stutters.

Kai-Heng Feng (kaihengfeng) wrote :

Does your system have a touchscreen?
Does it have the same stuttering issue under heavy graphics load?

Oliver Yates (captnmnmz) wrote :

Hello,
I have the same bug on my E7470 (Xubuntu 16 LTS). Kai-Heng Feng, how can I import the latest configuration you talk about?

Btw, even though the pointingstick is clearly the main issue, it seems like the touchpad has a really abnormal behavior, I hope an update will be released soon...

Kai-Heng Feng (kaihengfeng) wrote :

Download [1] and put it to /etc/udev/hwdb.d/.

Then execute the following commands:
$ sudo systemd-hwdb update
$ sudo udevadm trigger

[1] https://raw.githubusercontent.com/systemd/systemd/master/hwdb/70-pointingstick.hwdb

Changed in systemd (Ubuntu):
status: New → Confirmed
importance: Undecided → Medium
assignee: nobody → Dimitri John Ledkov (xnox)
milestone: none → ubuntu-17.04
Dimitri John Ledkov (xnox) wrote :

As far as I can tell the patch for hwdb sensitivity for Dell Latitude E7470 is shipped in zesty now.

Is anything else required to have this resolved in zesty? Or hwdb update is all that is needed here? If that is the case, then we can remove all the other packages marked as affected and simply SRU the hwdb update.

Changed in systemd (Ubuntu):
status: Confirmed → Fix Released
Bas Zoetekouw (baszoetekouw) wrote :

I can confirm that everything works as expected on Zesty.

Dimitri John Ledkov (xnox) wrote :

Should a fix for this be backported to 16.10 and 16.04?
Are there people who have the relevant hardware available, and are willing to test the fix on both 16.10 and 16.04?
I do not have the hardware available, thus without available testers I would not want to upload this fix.

no longer affects: systemd (Ubuntu Xenial)
no longer affects: systemd (Ubuntu Yakkety)

This bug was nominated against a series that is no longer supported, ie yakkety. The bug task representing the yakkety nomination is being closed as Won't Fix.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu Yakkety):
status: New → Won't Fix
Kim (kimw) wrote :

Hi,
I need your help, I am a newbie and wonder how can I download the patch for my machine under Linux Mint 18.1
System: Kernel: 4.4.0-53, Desktop: KDE Plasma 5.8.7, UBUNTU_CODENAME=xenial

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.