Package: udev
Version: 0.091-1
Severity: important

I have a Logitech Elite keyboard, which has both keyboard and mouse components. 
Unfortunately, evdev's by-id matching automatically tries to represent both by 
the same evdev node:

Keyboard:
> agaeris:/home/atrus# udevtest /class/input/input1/event1
> main: looking at device '/class/input/input1/event1' from subsystem 'input'
> udev_rules_get_name: rule applied, 'event1' becomes 'input/event1'
> run_program: 'usb_id -x'
> run_program: '/lib/udev/usb_id' (stdout) 'ID_VENDOR=Logitech'
> run_program: '/lib/udev/usb_id' (stdout) 'ID_MODEL=Logitech_USB_Keyboard'
> run_program: '/lib/udev/usb_id' (stdout) 'ID_REVISION=1500'
> run_program: '/lib/udev/usb_id' (stdout) 
> 'ID_SERIAL=Logitech_Logitech_USB_Keyboard'
> run_program: '/lib/udev/usb_id' (stdout) 'ID_TYPE=hid'
> run_program: '/lib/udev/usb_id' (stdout) 'ID_BUS=usb'
> run_program: '/lib/udev/usb_id' returned with status 0
> udev_rules_get_name: add symlink 
> 'input/by-id/usb-Logitech_Logitech_USB_Keyboard-event-mouse'
> run_program: 'path_id /class/input/input1/event1'
> run_program: '/lib/udev/path_id' (stdout) 
> 'ID_PATH=pci-0000:00:07.2-usb-0:1:1.0'
> run_program: '/lib/udev/path_id' returned with status 0
> udev_rules_get_name: add symlink 
> 'input/by-path/pci-0000:00:07.2-usb-0:1:1.0-event-mouse'
> udev_device_event: device '/class/input/input1/event1' already known, remove 
> possible symlinks
> udev_node_add: creating device node '/dev/input/event1', major = '13', minor 
> = '65', mode = '0660', uid = '0', gid = '0'
> udev_node_add: creating symlink 
> '/dev/input/by-id/usb-Logitech_Logitech_USB_Keyboard-event-mouse' to 
> '../event1'
> udev_node_add: creating symlink 
> '/dev/input/by-path/pci-0000:00:07.2-usb-0:1:1.0-event-mouse' to '../event1'
> main: run: 'socket:/org/freedesktop/hal/udev_event'
> main: run: 'socket:/org/kernel/udev/monitor'
> main: run: 'udev_run_hotplugd input'
> main: run: 'udev_run_devd input'

Mouse:
> main: looking at device '/class/input/input2/event2' from subsystem 'input'
> udev_rules_get_name: rule applied, 'event2' becomes 'input/event2'
> run_program: 'usb_id -x'
> run_program: '/lib/udev/usb_id' (stdout) 'ID_VENDOR=Logitech'
> run_program: '/lib/udev/usb_id' (stdout) 'ID_MODEL=Logitech_USB_Keyboard'
> run_program: '/lib/udev/usb_id' (stdout) 'ID_REVISION=1500'
> run_program: '/lib/udev/usb_id' (stdout) 
> 'ID_SERIAL=Logitech_Logitech_USB_Keyboard'
> run_program: '/lib/udev/usb_id' (stdout) 'ID_TYPE=hid'
> run_program: '/lib/udev/usb_id' (stdout) 'ID_BUS=usb'
> run_program: '/lib/udev/usb_id' returned with status 0
> udev_rules_get_name: add symlink 
> 'input/by-id/usb-Logitech_Logitech_USB_Keyboard-event-mouse'
> run_program: 'path_id /class/input/input2/event2'
> run_program: '/lib/udev/path_id' (stdout) 
> 'ID_PATH=pci-0000:00:07.2-usb-0:1:1.1'
> run_program: '/lib/udev/path_id' returned with status 0
> udev_rules_get_name: add symlink 
> 'input/by-path/pci-0000:00:07.2-usb-0:1:1.1-event-mouse'
> udev_device_event: device '/class/input/input2/event2' already known, remove 
> possible symlinks
> udev_node_add: creating device node '/dev/input/event2', major = '13', minor 
> = '66', mode = '0660', uid = '0', gid = '0'
> udev_node_add: creating symlink 
> '/dev/input/by-id/usb-Logitech_Logitech_USB_Keyboard-event-mouse' to 
> '../event2'
> udev_node_add: creating symlink 
> '/dev/input/by-path/pci-0000:00:07.2-usb-0:1:1.1-event-mouse' to '../event2'
> main: run: 'socket:/org/freedesktop/hal/udev_event'
> main: run: 'socket:/org/kernel/udev/monitor'
> main: run: 'udev_run_hotplugd input'
> main: run: 'udev_run_devd input'

I've saved the udevinfo output for these devices at 
http://achenar.rifetech.com/~atrus/logielite.txt

FWIW, I've been unable to come up with *any* udev rule that successfully 
differentiates between the two of them, because of udev's apparant inability to 
match on more than one sysinfo section. (short of a script that checks all 
levels). If anyone can suggest a way do to so, I'd also greatly appreciate 
that, especially if the solution is related to the solution of this bug.

-- Package-specific info:
-- /etc/udev/rules.d/:
/etc/udev/rules.d/:
total 16
-rw-r--r-- 1 root root 680 2006-04-28 12:13 00_hpcam.rules
-rw-r--r-- 1 root root 191 2006-04-24 23:26 00_mine.rules
lrwxrwxrwx 1 root root  20 2005-06-15 18:35 020_permissions.rules -> 
../permissions.rules
lrwxrwxrwx 1 root root  19 2005-10-12 00:50 025_libgphoto2.rules -> 
../libgphoto2.rules
lrwxrwxrwx 1 root root  16 2006-04-22 22:47 025_libsane.rules -> 
../libsane.rules
lrwxrwxrwx 1 root root  20 2005-11-12 10:19 025_libticables.rules -> 
../libticables.rules
lrwxrwxrwx 1 root root  15 2006-03-18 11:00 025_lomoco.rules -> ../lomoco.rules
lrwxrwxrwx 1 root root  16 2006-03-27 17:01 030_ifplugd.rules -> 
../ifplugd.rules
lrwxrwxrwx 1 root root  12 2006-03-08 17:24 050_hal-plugdev.rules -> 
../hal.rules
-rw-r--r-- 1 root root  82 2006-03-05 15:14 90-hal.rules
lrwxrwxrwx 1 root root  19 2005-06-15 18:35 cd-aliases.rules -> 
../cd-aliases.rules
lrwxrwxrwx 1 root root  14 2005-06-15 18:35 udev.rules -> ../devfs.rules
lrwxrwxrwx 1 root root  25 2006-03-27 17:00 z20_persistent-input.rules -> 
../persistent-input.rules
lrwxrwxrwx 1 root root  19 2005-08-18 11:04 z20_persistent.rules -> 
../persistent.rules
-rw-r--r-- 1 root root 334 2006-04-24 23:08 z25_persistent-net.rules
lrwxrwxrwx 1 root root  33 2006-04-19 19:20 z45_persistent-net-generator.rules 
-> ../persistent-net-generator.rules
lrwxrwxrwx 1 root root  12 2005-07-02 21:38 z50_run.rules -> ../run.rules
lrwxrwxrwx 1 root root  16 2005-10-09 12:11 z55_hotplug.rules -> 
../hotplug.rules
lrwxrwxrwx 1 root root  19 2005-08-04 11:32 z60_alsa-utils.rules -> 
../alsa-utils.rules
lrwxrwxrwx 1 root root  15 2005-09-23 13:03 z60_hdparm.rules -> ../hdparm.rules
lrwxrwxrwx 1 root root  17 2005-07-02 21:38 z70_hotplugd.rules -> 
../hotplugd.rules

-- /sys/:
/sys/block/fd0/dev
/sys/block/hda/dev
/sys/block/hda/hda1/dev
/sys/block/hda/hda2/dev
/sys/block/hda/hda3/dev
/sys/block/hda/hda4/dev
/sys/block/hda/hda5/dev
/sys/block/hda/hda6/dev
/sys/block/hda/hda7/dev
/sys/block/hda/hda8/dev
/sys/block/hdc/dev
/sys/block/hdd/dev
/sys/class/drm/card0/dev
/sys/class/graphics/fb0/dev
/sys/class/input/input0/event0/dev
/sys/class/input/input1/event1/dev
/sys/class/input/input2/event2/dev
/sys/class/input/input2/mouse0/dev
/sys/class/input/input3/event3/dev
/sys/class/input/input3/mouse1/dev
/sys/class/input/input4/event4/dev
/sys/class/input/input4/mouse2/dev
/sys/class/input/mice/dev
/sys/class/misc/agpgart/dev
/sys/class/misc/device-mapper/dev
/sys/class/misc/fuse/dev
/sys/class/misc/hpet/dev
/sys/class/misc/psaux/dev
/sys/class/misc/rtc/dev
/sys/class/sound/admmidi/dev
/sys/class/sound/adsp/dev
/sys/class/sound/amidi/dev
/sys/class/sound/audio/dev
/sys/class/sound/controlC0/dev
/sys/class/sound/dmmidi/dev
/sys/class/sound/dsp/dev
/sys/class/sound/hwC0D0/dev
/sys/class/sound/hwC0D2/dev
/sys/class/sound/midiC0D0/dev
/sys/class/sound/midiC0D1/dev
/sys/class/sound/midiC0D2/dev
/sys/class/sound/midi/dev
/sys/class/sound/mixer/dev
/sys/class/sound/pcmC0D0c/dev
/sys/class/sound/pcmC0D0p/dev
/sys/class/sound/pcmC0D1c/dev
/sys/class/sound/pcmC0D2c/dev
/sys/class/sound/pcmC0D2p/dev
/sys/class/sound/pcmC0D3p/dev
/sys/class/sound/seq/dev
/sys/class/sound/sequencer2/dev
/sys/class/sound/sequencer/dev
/sys/class/sound/timer/dev
/sys/class/usb_device/usbdev1.1/dev
/sys/class/usb_device/usbdev1.2/dev
/sys/class/usb_device/usbdev1.3/dev
/sys/class/usb_device/usbdev2.1/dev
/sys/class/usb_device/usbdev3.1/dev
/sys/class/usb_device/usbdev3.2/dev
/sys/class/usb_device/usbdev3.3/dev
/sys/class/usb_device/usbdev4.1/dev
/sys/class/usb_device/usbdev5.1/dev
/sys/class/usb/lp0/dev
/sys/class/video4linux/vbi0/dev
/sys/class/video4linux/video0/dev

-- Kernel configuration:


-- System Information:
Debian Release: testing/unstable
  APT prefers experimental
  APT policy: (1000, 'experimental'), (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.16
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Versions of packages udev depends on:
ii  initscripts                  2.86.ds1-14 Scripts for initializing and shutt
hi  libc6                        2.3.6-7     GNU C Library: Shared libraries
ii  libselinux1                  1.30-1      SELinux shared libraries
ii  libvolume-id0                0.091-1     libvolume_id shared library
ii  lsb-base                     3.1-5       Linux Standard Base 3.1 init scrip
ii  makedev                      3.3.8.2-0   Creates device files in /dev
ii  sed                          4.1.4-7     The GNU sed stream editor

udev recommends no packages.

-- debconf information excluded


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to