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'
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' : ="input7" ="input" name}== "IR-receiver inside an USB DVB receiver" phys}== "usb-0000: 00:0b.1- 1/ir0"
KERNEL=
SUBSYSTEM=
DRIVER==""
ATTR{
ATTR{
ATTR{uniq}==""
I created hauppauge. rules =="IR-receiver inside an USB DVB receiver", SYMLINK+ ="input/ dvb-ir"
65-persistent-
KERNEL=="input*", ATTRS{name}
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 rules.d/ 05-udev- early.rules' as rules file rules.d/ 10-sean. rules' as rules file rules.d/ 20-names. rules' as rules file rules.d/ 30-cdrom_ id.rules' as rules file rules.d/ 40-basic- permissions. rules' as rules file rules.d/ 40-permissions. rules' as rules file rules.d/ 41-mythtv- permissions. rules' as rules file rules.d/ 45-fuse. rules' as rules file rules.d/ 45-hplip. rules' as rules file rules.d/ 45-libmtp7. rules' as rules file rules.d/ 50-boinc- client. rules' as rules file rules.d/ 50-libpisock9. rules' as rules file rules.d/ 50-xserver- xorg-input- wacom.rules' as rules file rules.d/ 55-hpmud. rules' as rules file rules.d/ 60-persistent- input.rules' as rules file rules.d/ 60-persistent- storage- tape.rules' as rules file rules.d/ 60-persistent- storage. rules' as rules file rules.d/ 60-symlinks. rules' as rules file rules.d/ 61-persistent- storage- edd.rules' as rules file rules.d/ 65-dmsetup. rules' as rules file rules.d/ 65-persistent- hauppauge. rules' as rules file rules.d/ 70-persistent- cd.rules' as rules file rules.d/ 70-persistent- net.rules' as rules file rules.d/ 75-cd-aliases- generator. rules' as rules file rules.d/ 75-persistent- net-generator. rules' as rules file rules.d/ 80-programs. rules' as rules file rules.d/ 85-alsa. rules' as rules file rules.d/ 85-brltty. rules' as rules file rules.d/ 85-hdparm. rules' as rules file rules.d/ 85-hplj10xx. rules' as rules file rules.d/ 85-hwclock. rules' as rules file rules.d/ 85-ifupdown. rules' as rules file rules.d/ 85-lirc. rules' as rules file rules.d/ 85-pcmcia. rules' as rules file rules.d/ 90-modprobe. rules' as rules file rules.d/ 95-hal. rules' as rules file rules.d/ 95-udev- late.rules' as rules file rules.d/ kino.rules' as rules file rules.d/ libmtp. rules' as rules file pci0000: 00/0000: 00:0b.1/ usb2/2- 1/input/ input7/ event7' from subsystem 'input' get_name: rule applied, 'event7' becomes 'input/event7' noserial' pci0000: 00/0000: 00:0b.1/ usb2/2- 1/input/ input7/ event7' get_name: add symlink 'input/ by-path/ pci-2-1- -event- ir' pci0000: 00/0000: 00:0b.1/ usb2/2- 1/input/ input7/ event7' already in database, cleanup event7' , major=13, minor=71, mode=0660, uid=0, gid=0 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' get_devices_ by_name: found index directory '/dev/. udev/names/ input\x2fby- path\x2fpci- 2-1--event- ir' by-path/ pci-2-1- -event- ir' pci0000: 00/0000: 00:0b.1/ usb2/2- 1/input/ input7/ event7' for 'input/ by-path/ pci-2-1- -event- ir' pci0000: 00/0000: 00:0b.1/ usb2/2- 1/input/ input7/ event7' 0 >= 0 by-path/ pci-2-1- -event- ir' with target 'input/event7' has the highest priority 0, create it /org/freedeskto p/hal/udev_ event' /org/kernel/ udev/monitor'
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
parse_file: reading '/etc/udev/
import_uevent_var: import into environment: 'MAJOR=13'
import_uevent_var: import into environment: 'MINOR=71'
udevtest: looking at device '/devices/
udev_rules_
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=
run_program: 'path_id /devices/
run_program: '/lib/udev/path_id' (stdout) 'ID_PATH=pci-2-1-'
run_program: '/lib/udev/path_id' returned with status 0
udev_rules_
udev_device_event: device '/devices/
udev_node_add: creating device node '/dev/input/
udev_node_
udev_db_
update_link: found 1 devices with name 'input/
update_link: found '/devices/
update_link: compare (our own) priority of '/devices/
update_link: 'input/
udevtest: run: 'socket:
udevtest: run: 'socket: