Comment 1 for bug 178065

Revision history for this message
tsh (tsh) wrote :

Confirming a similar problem.

udevinfo -a -p /sys/class/input/input7

Udevinfo starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:0b.1/usb2/2-1/input/input7':
    KERNEL=="input7"
    SUBSYSTEM=="input"
    DRIVER==""
    ATTR{name}=="IR-receiver inside an USB DVB receiver"
    ATTR{phys}=="usb-0000:00:0b.1-1/ir0"
    ATTR{uniq}==""

I created
 65-persistent-hauppauge.rules
KERNEL=="input*", ATTRS{name}=="IR-receiver inside an USB DVB receiver", SYMLINK+="input/dvb-ir"

but there is no effect, and the rule is not triggered when testing with udevtest.
udevtest /class/input/event7
This program is for debugging only, it does not run any program,
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

parse_file: reading '/etc/udev/rules.d/05-options.rules' as rules file
parse_file: reading '/etc/udev/rules.d/05-udev-early.rules' as rules file
parse_file: reading '/etc/udev/rules.d/10-sean.rules' as rules file
parse_file: reading '/etc/udev/rules.d/20-names.rules' as rules file
parse_file: reading '/etc/udev/rules.d/30-cdrom_id.rules' as rules file
parse_file: reading '/etc/udev/rules.d/40-basic-permissions.rules' as rules file
parse_file: reading '/etc/udev/rules.d/40-permissions.rules' as rules file
parse_file: reading '/etc/udev/rules.d/41-mythtv-permissions.rules' as rules file
parse_file: reading '/etc/udev/rules.d/45-fuse.rules' as rules file
parse_file: reading '/etc/udev/rules.d/45-hplip.rules' as rules file
parse_file: reading '/etc/udev/rules.d/45-libmtp7.rules' as rules file
parse_file: reading '/etc/udev/rules.d/50-boinc-client.rules' as rules file
parse_file: reading '/etc/udev/rules.d/50-libpisock9.rules' as rules file
parse_file: reading '/etc/udev/rules.d/50-xserver-xorg-input-wacom.rules' as rules file
parse_file: reading '/etc/udev/rules.d/55-hpmud.rules' as rules file
parse_file: reading '/etc/udev/rules.d/60-persistent-input.rules' as rules file
parse_file: reading '/etc/udev/rules.d/60-persistent-storage-tape.rules' as rules file
parse_file: reading '/etc/udev/rules.d/60-persistent-storage.rules' as rules file
parse_file: reading '/etc/udev/rules.d/60-symlinks.rules' as rules file
parse_file: reading '/etc/udev/rules.d/61-persistent-storage-edd.rules' as rules file
parse_file: reading '/etc/udev/rules.d/65-dmsetup.rules' as rules file
parse_file: reading '/etc/udev/rules.d/65-persistent-hauppauge.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-cd.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-net.rules' as rules file
parse_file: reading '/etc/udev/rules.d/75-cd-aliases-generator.rules' as rules file
parse_file: reading '/etc/udev/rules.d/75-persistent-net-generator.rules' as rules file
parse_file: reading '/etc/udev/rules.d/80-programs.rules' as rules file
parse_file: reading '/etc/udev/rules.d/85-alsa.rules' as rules file
parse_file: reading '/etc/udev/rules.d/85-brltty.rules' as rules file
parse_file: reading '/etc/udev/rules.d/85-hdparm.rules' as rules file
parse_file: reading '/etc/udev/rules.d/85-hplj10xx.rules' as rules file
parse_file: reading '/etc/udev/rules.d/85-hwclock.rules' as rules file
parse_file: reading '/etc/udev/rules.d/85-ifupdown.rules' as rules file
parse_file: reading '/etc/udev/rules.d/85-lirc.rules' as rules file
parse_file: reading '/etc/udev/rules.d/85-pcmcia.rules' as rules file
parse_file: reading '/etc/udev/rules.d/90-modprobe.rules' as rules file
parse_file: reading '/etc/udev/rules.d/95-hal.rules' as rules file
parse_file: reading '/etc/udev/rules.d/95-udev-late.rules' as rules file
parse_file: reading '/etc/udev/rules.d/kino.rules' as rules file
parse_file: reading '/etc/udev/rules.d/libmtp.rules' as rules file
import_uevent_var: import into environment: 'MAJOR=13'
import_uevent_var: import into environment: 'MINOR=71'
udevtest: looking at device '/devices/pci0000:00/0000:00:0b.1/usb2/2-1/input/input7/event7' from subsystem 'input'
udev_rules_get_name: rule applied, 'event7' becomes 'input/event7'
run_program: 'usb_id --export'
run_program: '/lib/udev/usb_id' returned with status 1
match_rule: set ENV 'ID_CLASS=ir'
match_rule: set ENV 'ID_SERIAL=noserial'
run_program: 'path_id /devices/pci0000:00/0000:00:0b.1/usb2/2-1/input/input7/event7'
run_program: '/lib/udev/path_id' (stdout) 'ID_PATH=pci-2-1-'
run_program: '/lib/udev/path_id' returned with status 0
udev_rules_get_name: add symlink 'input/by-path/pci-2-1--event-ir'
udev_device_event: device '/devices/pci0000:00/0000:00:0b.1/usb2/2-1/input/input7/event7' already in database, cleanup
udev_node_add: creating device node '/dev/input/event7', major=13, minor=71, mode=0660, uid=0, gid=0
udev_node_update_symlinks: update symlink 'input/by-path/pci-2-1--event-ir' of '/devices/pci0000:00/0000:00:0b.1/usb2/2-1/input/input7/event7'
udev_db_get_devices_by_name: found index directory '/dev/.udev/names/input\x2fby-path\x2fpci-2-1--event-ir'
update_link: found 1 devices with name 'input/by-path/pci-2-1--event-ir'
update_link: found '/devices/pci0000:00/0000:00:0b.1/usb2/2-1/input/input7/event7' for 'input/by-path/pci-2-1--event-ir'
update_link: compare (our own) priority of '/devices/pci0000:00/0000:00:0b.1/usb2/2-1/input/input7/event7' 0 >= 0
update_link: 'input/by-path/pci-2-1--event-ir' with target 'input/event7' has the highest priority 0, create it
udevtest: run: 'socket:/org/freedesktop/hal/udev_event'
udevtest: run: 'socket:/org/kernel/udev/monitor'