Latest systemd updates break touchpad disable hotkey on Dell laptops

Bug #1218433 reported by Kent Baxley
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
systemd (Ubuntu)
Fix Released
High
Martin Pitt

Bug Description

The latest update to systemd in 13.10 seems to have broken the touchpad disable / enable hotkey on Dell laptops. This so far includes the Latitude series (E6430, 6430u, E6530, etc), Precision M (M6700, M4700) and some of the newer Inspiron laptops.

The Latitude and Precision models use the Fn+F5 keystrokes to turn the touchpad on and off, while Inspiron uses Fn+F3.

I verified before updating that the hotkeys worked properly.

All other hotkeys on these laptops are unaffected. They still work fine.

Steps to reproduce:

1) Before updating systemd, verify the Fn+F5 or Fn+F3 keystrokes successfully disable and enable the touchpads.
2) Update to latest systemd
3) Try the hotkeys again.

Actual results:
hotkey stopped working

Expected results:
hotkey should continue to work

In the older udev release we added some rules to 95-keyboard-force-release.rules for Dell machines because many of them had issues with releasing key events. Not sure if we need to do something else for these laptops with the new package.

ProblemType: Bug
DistroRelease: Ubuntu 13.10
Package: udev 204-0ubuntu10
ProcVersionSignature: Ubuntu 3.11.0-4.9-generic 3.11.0-rc7
Uname: Linux 3.11.0-4-generic x86_64
NonfreeKernelModules: wl
ApportVersion: 2.12.1-0ubuntu2
Architecture: amd64
CurrentDmesg:
 [ 21.282128] atkbd serio0: Unknown key pressed (translated set 2, code 0x9e on isa0060/serio0).
 [ 21.282134] atkbd serio0: Use 'setkeycodes e01e <keycode>' to make it known.
Date: Thu Aug 29 09:41:06 2013
ExecutablePath: /lib/systemd/systemd-udevd
InstallationDate: Installed on 2013-08-27 (1 days ago)
InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Alpha amd64 (20130827)
MachineType: Dell Inc. Latitude 6430U
MarkForUpload: True
ProcEnviron:
 PATH=(custom, no user)
 TERM=linux
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.11.0-4-generic root=UUID=07122750-0637-45d2-be2b-2d4f5e49e3d9 ro quiet splash vt.handoff=7
SourcePackage: systemd
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 11/15/2012
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A02
dmi.board.name: 0MN74V
dmi.board.vendor: Dell Inc.
dmi.board.version: X01
dmi.chassis.type: 9
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvrA02:bd11/15/2012:svnDellInc.:pnLatitude6430U:pvr01:rvnDellInc.:rn0MN74V:rvrX01:cvnDellInc.:ct9:cvr:
dmi.product.name: Latitude 6430U
dmi.product.version: 01
dmi.sys.vendor: Dell Inc.

Revision history for this message
Kent Baxley (kentb) wrote :
Revision history for this message
Martin Pitt (pitti) wrote :

Oops, indeed: There are a fair number of broken keycodes, and Dell is affected by these: http://paste.ubuntu.com/6040682/

Thanks for the report!

Changed in systemd (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
importance: Undecided → High
status: New → In Progress
Revision history for this message
Martin Pitt (pitti) wrote :

Can you please put the attached file into /lib/udev/hwdb.d/, then run

  sudo dpkg-reconfigure udev

and then reboot and check if this fixes it? Thanks!

Revision history for this message
Martin Pitt (pitti) wrote :

For the record, I went through all similar cases in the hwdb file and I believe I caught all of these cases now (only two).

Revision history for this message
Kent Baxley (kentb) wrote :

I just tried it on my Latitude 6430u and it so far has not had any effect. All other hotkeys still work but touchpad hotkey doesn't respond.

Revision history for this message
Martin Pitt (pitti) wrote :

Kent, this needs some more debugging then. With the updated hwdb in place, can you please run

  udevadm info --export-db > /tmp/udev.txt

and attach /tmp/udev.txt here?

Revision history for this message
Martin Pitt (pitti) wrote :

And the output of the following might help, too:

  for e in /sys/class/input/event*; do udevadm test-builtin keyboard $e; done

Revision history for this message
Kent Baxley (kentb) wrote :

Here's the output from export-db

Revision history for this message
Kent Baxley (kentb) wrote :
Revision history for this message
Kent Baxley (kentb) wrote :

Here's the output from the shell command

Revision history for this message
Martin Pitt (pitti) wrote :

Ah, I see what's wrong. The DMI modalias doesn't have any spaces in the vendor/product name. Updated hwdb file attached, please wash, rinse, repeat?

Revision history for this message
Kent Baxley (kentb) wrote :

Ok. Making some progress, here.

With the new hwdb update it looks as if the hotkey does respond, but, not like one would expect :-) The touchpad hotkey now behaves like it did in the past before we put the keyboard-force-release rules in place. i.e., things appear to get 'stuck' whenever we press the hotkey.

Here's what I observed my Latitude:

1) Press touchpad hotkeys (Fn+F5 in this case).
2) It appears to have no effect
3) Try to type something into the terminal with the keyboard. Nothing happens.
4) Reboot.
5) Upon logging back in, we regain use of the keyboard but the touchpad is disabled.
6) Press the touchpad hotkeys again. The touchpad doesn't come back and we lose control of the keyboard again.
7) Reboot again and the touchpad and keyboard start working.

With the new packages, can we just put the old rules back in for this or will something new have to be cooked up?

Thanks for your help!

Revision history for this message
Martin Pitt (pitti) wrote :

With the new hwdb in place, can you please do

  udevadm info --export-db > /tmp/udev.txt

again and attach /tmp/udev.txt and also give me the output of

  for e in /sys/class/input/event*; do udevadm test-builtin keyboard $e; done

again?

> With the new packages, can we just put the old rules back in for this

Not quite, I'm afraid. Let's just fix this properly.

Revision history for this message
Kent Baxley (kentb) wrote :

Here's the new udevadm output

Revision history for this message
Kent Baxley (kentb) wrote :

And the re-run of the test-builtin keyboard script

Revision history for this message
Martin Pitt (pitti) wrote :

Third time's the charm!

Revision history for this message
Kent Baxley (kentb) wrote :

Indeed it is! The touchpad hotkey is now working again on my Latitude. Attaching output from the "udevadm test-builtin keyboard" script.

I'll also test this on an Inspiron laptop later today to make sure it's fixed, too.

Revision history for this message
Kent Baxley (kentb) wrote :

The fixes also work for the Inspiron laptop. Touchpad hotkey functionality is restored and not hotkeys appear to have regressed.

Revision history for this message
Martin Pitt (pitti) wrote :

Started discussing the remaining problem upstream: http://lists.freedesktop.org/archives/systemd-devel/2013-September/012977.html

Previously attached hwdb.d was just a workaround for this problem.

Revision history for this message
Martin Pitt (pitti) wrote :

I discussed the problem with upstream, and attached hwdb.d keymap is now an actual fix instead of a workaround (for Samsung models, too). I tested it with udevadm hwdb --test, but if you want to test it on actual hardware again to make triple sure, I'd appreciate. Thanks!

Revision history for this message
Martin Pitt (pitti) wrote :

Fixed in my local packaging tree. Will upload after beta-1 freeze.

Changed in systemd (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Kent Baxley (kentb) wrote :

Hi Martin,

Your latest hwdb.d keymap doesn't seem to introduce any new problems on my test laptops. Everything still appears to work OK.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package systemd - 204-0ubuntu11

---------------
systemd (204-0ubuntu11) saucy; urgency=low

  * Refresh debian/extra/60-keyboard.hwdb from upstream. Fixes keymap
    regressions on Dell and Samsung models. (LP: #1218433)
 -- Martin Pitt <email address hidden> Fri, 06 Sep 2013 15:24:02 +0200

Changed in systemd (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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