60-persistent-input.rules does not support USB devices with multiple interfaces

Bug #626449 reported by Richard Hansen
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
udev (Ubuntu)
Fix Released
Undecided
Martin Pitt

Bug Description

Binary package hint: udev

I have a Microsoft Wired Keyboard 600. This USB device has two keyboard interfaces: bInterfaceNumber=0 is for the standard 104 keys, and bInterfaceNumber=1 is for the multimedia keys (vol up, vol down, mute, play/pause, and calculator).

The rules in 60-persistent-input.rules creates a /dev/input/by-id/*-event-kbd symlink for interface 0, but then creates a symlink with the exact same name for interface 1, thus overwriting the symlink for interface 0. This means that there is no persistent symlink for the event device corresponding to the 104 key interface.

Including the interface number in the symlink name resolves this problem. I've attached a patch that creates symlinks containing the interface number. The old symlinks are left alone to preserve backward compatibility.

Found in: udev-151-12.1 (Ubuntu 10.04 lucid)

Tags: patch
Revision history for this message
Richard Hansen (rhansen) wrote :
Richard Hansen (rhansen)
description: updated
Martin Pitt (pitti)
Changed in udev (Ubuntu):
status: New → In Progress
assignee: nobody → Martin Pitt (pitti)
Revision history for this message
Richard Hansen (rhansen) wrote :

any progress update?

thanks!

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

Thanks for this! I committed this upstream now.

Changed in udev (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package udev - 166-0ubuntu1

---------------
udev (166-0ubuntu1) natty; urgency=low

  * New upstream release:
    - 8 keymap fixes, including LP: #702426
    - Fix keymap tool to display scan codes in unexpected event order.
      (LP: #702407)
    - Bug fixes.
  * Merge from trunk:
    - Create by-id links with interface numbers for USB input devices with
      multiple interfaces. Thanks a7x! (LP: #626449)
    - Drop old v4l1 code, to build with current 2.6.38 kernels.
  * debian/rules prep: Drop gtk-doc.make seddery, it's not necessary any more
    with the full source tree copying that happens now.
 -- Martin Pitt <email address hidden> Tue, 15 Feb 2011 18:22:47 +0100

Changed in udev (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.