Hi, Am Montag, den 20.04.2009, 12:19 +0200 schrieb Marco d'Itri: > On Apr 20, Micha Lenk <mi...@lenk.info> wrote: > > > In opposite to this Joachim experienced something different: The rules > > in /lib/udev/rules.d/91-permissions.rules get applied after the rules > > in /etc/udev/rules.d/z60_libchipcard-tools.rules. So the rules from > > z60_libchipcard-tools.rules get overwritten by those from > > 91-permessions.rules even though "91-..." comes before "z60_..." in > > lexical order. > Please reproduce this using udevadm test.
Here is the output, with does not show what’s happening $ udevadm test /sys/bus/usb/devices/2-2 run_command: calling: test udevadm_test: version 141 parse_file: reading '/etc/udev/rules.d/025_libgphoto2.rules' as rules file parse_file: reading '/lib/udev/rules.d/50-udev.rules' as rules file parse_file: reading '/lib/udev/rules.d/60-persistent-input.rules' as rules file parse_file: reading '/lib/udev/rules.d/60-persistent-serial.rules' as rules file parse_file: reading '/lib/udev/rules.d/60-persistent-storage-tape.rules' as rules file parse_file: reading '/lib/udev/rules.d/60-persistent-storage.rules' as rules file parse_file: reading '/lib/udev/rules.d/60-persistent-v4l.rules' as rules file parse_file: reading '/dev/.udev/rules.d/61-dev-root-link.rules' as rules file parse_file: reading '/etc/udev/rules.d/65_dmsetup.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 '/lib/udev/rules.d/75-cd-aliases-generator.rules' as rules file parse_file: reading '/lib/udev/rules.d/75-persistent-net-generator.rules' as rules file parse_file: reading '/lib/udev/rules.d/80-drivers.rules' as rules file parse_file: reading '/etc/udev/rules.d/85-pcmcia.rules' as rules file parse_file: reading '/lib/udev/rules.d/90-hal.rules' as rules file parse_file: reading '/lib/udev/rules.d/91-permissions.rules' as rules file util_lookup_user: specified user 'tss' unknown util_lookup_group: specified group 'tss' unknown util_lookup_group: specified group 'kvm' unknown util_lookup_group: specified group 'rdma' unknown parse_file: reading '/lib/udev/rules.d/95-late.rules' as rules file parse_file: reading '/etc/udev/rules.d/libmtp8.rules' as rules file parse_file: reading '/etc/udev/rules.d/plextor.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_alsa-utils.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_hdparm.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_hplip.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_ifplugd.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_libchipcard-tools.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_libpisock9.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_libsane-extras.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_libsane.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_virtualbox-ose.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_xserver-xorg-input-wacom.rules' as rules file udev_rules_new: rules use 149688 bytes tokens (12474 * 12 bytes), 16512 bytes buffer udev_rules_new: temporary index used 36360 bytes (1818 * 20 bytes) udev_device_new_from_syspath: device 0x1efb430 has devpath '/devices/pci0000:00/0000:00:1a.0/usb2/2-2' udev_device_new_from_syspath: device 0x1efadb0 has devpath '/devices/pci0000:00/0000:00:1a.0/usb2/2-2' udev_device_read_db: device 0x1efadb0 filled with db symlink data '/dev/bus/usb/002/002' udev_device_new_from_syspath: device 0x1ef4a90 has devpath '/devices/pci0000:00/0000:00:1a.0/usb2' udev_device_new_from_syspath: device 0x1ef4d40 has devpath '/devices/pci0000:00/0000:00:1a.0' udev_device_new_from_syspath: device 0x1ef4ff0 has devpath '/devices/pci0000:00' udev_rules_apply_to_event: PROGRAM 'check-ptp-camera 06/01/01' /etc/udev/rules.d/025_libgphoto2.rules:939 util_run_program: 'check-ptp-camera 06/01/01' util_run_program: '/lib/udev/check-ptp-camera' returned with status 1 udev_rules_apply_to_event: LINK 'char/189:129' /lib/udev/rules.d/50-udev.rules:2 udev_rules_apply_to_event: NAME 'bus/usb/002/002' /lib/udev/rules.d/50-udev.rules:35 udev_rules_apply_to_event: RUN 'socket:@/org/freedesktop/hal/udev_event' /lib/udev/rules.d/90-hal.rules:2 udev_rules_apply_to_event: MODE 0664 /lib/udev/rules.d/91-permissions.rules:40 udev_rules_apply_to_event: GROUP 117 /etc/udev/rules.d/z60_libchipcard-tools.rules:8 udev_rules_apply_to_event: RUN '/usr/lib/chipcard/trigger_chipcardreader_scan.sh' /etc/udev/rules.d/z60_libchipcard-tools.rules:8 udev_device_update_db: create db link (bus/usb/002/002 char/189:129) udev_node_add: creating device node '/dev/bus/usb/002/002', devnum=189:129, mode=0664, uid=0, gid=117 udev_node_mknod: preserve file '/dev/bus/usb/002/002', because it has correct dev_t update_link: found 2 devices with name '/dev/char/189:129' udev_device_new_from_syspath: device 0x1ef6b70 has devpath '/devices/pci0000:00/0000:00:1a.0/usb2/2-2/usb_device/usbdev2.2' udev_device_read_db: device 0x1ef6b70 filled with db symlink data '/dev/bus/usb/002/002' update_link: '/dev/char/189:129' with target '/dev/bus/usb/002/002' has the highest priority 0, create it node_symlink: preserve already existing symlink '/dev/char/189:129' to '../bus/usb/002/002' udevadm_test: run: 'socket:@/org/freedesktop/hal/udev_event' udevadm_test: run: '/usr/lib/chipcard/trigger_chipcardreader_scan.sh' 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. I assume that another device is related to this usb path and overrides this. Maybe /sys/bus/usb/devices/2-2/usb_device/usbdev2.2/? Here I get: run_command: calling: test udevadm_test: version 141 parse_file: reading '/etc/udev/rules.d/025_libgphoto2.rules' as rules file parse_file: reading '/lib/udev/rules.d/50-udev.rules' as rules file parse_file: reading '/lib/udev/rules.d/60-persistent-input.rules' as rules file parse_file: reading '/lib/udev/rules.d/60-persistent-serial.rules' as rules file parse_file: reading '/lib/udev/rules.d/60-persistent-storage-tape.rules' as rules file parse_file: reading '/lib/udev/rules.d/60-persistent-storage.rules' as rules file parse_file: reading '/lib/udev/rules.d/60-persistent-v4l.rules' as rules file parse_file: reading '/dev/.udev/rules.d/61-dev-root-link.rules' as rules file parse_file: reading '/etc/udev/rules.d/65_dmsetup.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 '/lib/udev/rules.d/75-cd-aliases-generator.rules' as rules file parse_file: reading '/lib/udev/rules.d/75-persistent-net-generator.rules' as rules file parse_file: reading '/lib/udev/rules.d/80-drivers.rules' as rules file parse_file: reading '/etc/udev/rules.d/85-pcmcia.rules' as rules file parse_file: reading '/lib/udev/rules.d/90-hal.rules' as rules file parse_file: reading '/lib/udev/rules.d/91-permissions.rules' as rules file util_lookup_user: specified user 'tss' unknown util_lookup_group: specified group 'tss' unknown util_lookup_group: specified group 'kvm' unknown util_lookup_group: specified group 'rdma' unknown parse_file: reading '/lib/udev/rules.d/95-late.rules' as rules file parse_file: reading '/etc/udev/rules.d/libmtp8.rules' as rules file parse_file: reading '/etc/udev/rules.d/plextor.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_alsa-utils.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_hdparm.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_hplip.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_ifplugd.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_libchipcard-tools.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_libpisock9.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_libsane-extras.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_libsane.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_virtualbox-ose.rules' as rules file parse_file: reading '/etc/udev/rules.d/z60_xserver-xorg-input-wacom.rules' as rules file udev_rules_new: rules use 149688 bytes tokens (12474 * 12 bytes), 16512 bytes buffer udev_rules_new: temporary index used 36360 bytes (1818 * 20 bytes) udev_device_new_from_syspath: device 0x1822430 has devpath '/bus/usb/devices/2-2/usb_device/usbdev2.2' udev_device_new_from_syspath: device 0x1822680 has devpath '/bus/usb/devices/2-2/usb_device/usbdev2.2' udev_device_read_db: device 0x1822680 filled with db symlink data '/dev/bus/usb/002/002' udev_device_new_from_syspath: device 0x1822130 has devpath '/bus/usb/devices/2-2/usb_device' udev_device_new_from_syspath: device 0x181b930 has devpath '/devices/pci0000:00/0000:00:1a.0/usb2/2-2' udev_device_new_from_syspath: device 0x181bc20 has devpath '/devices/pci0000:00/0000:00:1a.0/usb2' udev_device_new_from_syspath: device 0x181bf00 has devpath '/devices/pci0000:00/0000:00:1a.0' udev_device_new_from_syspath: device 0x181c1b0 has devpath '/devices/pci0000:00' udev_rules_apply_to_event: PROGRAM 'check-ptp-camera 06/01/01' /etc/udev/rules.d/025_libgphoto2.rules:939 util_run_program: 'check-ptp-camera 06/01/01' util_run_program: '/lib/udev/check-ptp-camera' returned with status 1 udev_rules_apply_to_event: LINK 'char/189:129' /lib/udev/rules.d/50-udev.rules:2 udev_rules_apply_to_event: PROGRAM '/bin/sh -c 'K=usbdev2.2; K=${K#usbdev}; printf bus/usb/%03i/%03i ${K%%.*} ${K#*.}'' /lib/udev/rules.d/50-udev.rules:39 util_run_program: '/bin/sh -c 'K=usbdev2.2; K=${K#usbdev}; printf bus/usb/%03i/%03i ${K%%.*} ${K#*.}'' util_run_program: '/bin/sh' (stdout) 'bus/usb/002/002' util_run_program: '/bin/sh' returned with status 0 udev_rules_apply_to_event: NAME 'bus/usb/002/002' /lib/udev/rules.d/50-udev.rules:39 udev_rules_apply_to_event: RUN 'socket:@/org/freedesktop/hal/udev_event' /lib/udev/rules.d/90-hal.rules:2 udev_rules_apply_to_event: MODE 0664 /lib/udev/rules.d/91-permissions.rules:38 udev_device_update_db: create db link (bus/usb/002/002 char/189:129) udev_node_add: creating device node '/dev/bus/usb/002/002', devnum=189:129, mode=0664, uid=0, gid=0 udev_node_mknod: preserve file '/dev/bus/usb/002/002', because it has correct dev_t update_link: found 3 devices with name '/dev/char/189:129' udev_device_new_from_syspath: device 0x181dd90 has devpath '/devices/pci0000:00/0000:00:1a.0/usb2/2-2/usb_device/usbdev2.2' udev_device_read_db: device 0x181dd90 filled with db symlink data '/dev/bus/usb/002/002' udev_device_new_from_syspath: device 0x181dd90 has devpath '/devices/pci0000:00/0000:00:1a.0/usb2/2-2' udev_device_read_db: device 0x181dd90 filled with db symlink data '/dev/bus/usb/002/002' update_link: '/dev/char/189:129' with target '/dev/bus/usb/002/002' has the highest priority 0, create it node_symlink: preserve already existing symlink '/dev/char/189:129' to '../bus/usb/002/002' udevadm_test: run: 'socket:@/org/freedesktop/hal/udev_event' 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. Which indeed would change the group of the device back to 0, and which correlates with the udev log I provided earlier. What is the relation between /sys/bus/usb/devices/2-2/usb_device/usbdev2.2/ and /sys/bus/usb/devices/2-2? Thanks, Joachim -- Joachim "nomeata" Breitner Debian Developer nome...@debian.org | ICQ# 74513189 | GPG-Keyid: 4743206C JID: nome...@joachim-breitner.de | http://people.debian.org/~nomeata
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil