From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Radke Date: Thu, 08 Oct 2009 17:12:01 +0000 Subject: group is not set properly for usb printer for older kernels Message-Id: <20091008191201.19276c15@workstation64.home> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: quoted-printable To: linux-hotplug@vger.kernel.org Hi, I'm maintaining the ArchLinux kernel 2.6.27.xx series + cups packages. We added the git fix for libusb "lp" group required by new cups 1.4.x to our udev 146 pkg, this fix is working with kernels 2.6.30=20 and 2.6.31 but fails with our 2.6.27.xx kernels. The kernel config=20 is modified only in a few parts. With kernel 2.6.27.xx the rule is well applied on cold boot=20 but whenever I switch power off and on the printer devices stays in root group. Every udev call done by hand like udevadm trigger or test "fixes" the group permission. usb 4-2: new full speed USB device using ohci_hcd and address 2 usb 4-2: configuration #1 chosen from 1 choice [root@server64 andyrtr]# ls -lhR /dev/bus/usb/004/002=20 crw-rw-r-- 1 root root 189, 385 8. Okt 19:01 /dev/bus/usb/004/002 [root@server64 andyrtr]# udevadm trigger [root@server64 andyrtr]# ls -lhR /dev/bus/usb/004/002=20 crw-rw---- 1 root lp 189, 385 8. Okt 19:01 /dev/bus/usb/004/002 Any idea what cause can this odd behaviour and how to fix it? -Andy run_command: calling: test udevadm_test: version 146 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 '/lib/udev/rules.d/40-alsa.rules' as rules file parse_file: reading '/lib/udev/rules.d/40-infiniband.rules' as rules file parse_file: reading '/lib/udev/rules.d/40-isdn.rules' as rules file parse_file: reading '/lib/udev/rules.d/40-pilot-links.rules' as rules file parse_file: reading '/lib/udev/rules.d/40-zaptel.rules' as rules file parse_file: reading '/lib/udev/rules.d/50-firmware.rules' as rules file parse_file: reading '/lib/udev/rules.d/50-udev-default.rules' as rules file parse_file: reading '/lib/udev/rules.d/53-sane.rules' as rules file parse_file: reading '/lib/udev/rules.d/60-cdrom_id.rules' as rules file parse_file: reading '/lib/udev/rules.d/60-persistent-alsa.rules' as rules f= ile 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 rule= s file parse_file: reading '/lib/udev/rules.d/60-persistent-v4l.rules' as rules fi= le parse_file: reading '/lib/udev/rules.d/61-mobile-action.rules' as rules file parse_file: reading '/lib/udev/rules.d/61-option-modem-modeswitch.rules' as= rules file parse_file: reading '/lib/udev/rules.d/61-persistent-storage-edd.rules' as = rules file parse_file: reading '/lib/udev/rules.d/64-device-mapper.rules' as rules file parse_file: reading '/lib/udev/rules.d/64-md-raid.rules' as rules file parse_file: reading '/lib/udev/rules.d/70-acl.rules' as rules file parse_file: reading '/lib/udev/rules.d/70-hid2hci.rules' as rules file parse_file: reading '/lib/udev/rules.d/75-net-description.rules' as rules f= ile parse_file: reading '/lib/udev/rules.d/75-tty-description.rules' as rules f= ile parse_file: reading '/lib/udev/rules.d/78-sound-card.rules' as rules file parse_file: reading '/lib/udev/rules.d/79-fstab_import.rules' as rules file parse_file: reading '/lib/udev/rules.d/80-drivers.rules' as rules file parse_file: reading '/lib/udev/rules.d/81-arch.rules' as rules file parse_file: reading '/lib/udev/rules.d/95-keymap.rules' as rules file parse_file: reading '/lib/udev/rules.d/95-udev-late.rules' as rules file udev_rules_new: rules use 60576 bytes tokens (5048 * 12 bytes), 15168 bytes= buffer udev_rules_new: temporary index used 24160 bytes (1208 * 20 bytes) udev_device_new_from_syspath: device 0xb4c140 has devpath '/devices/pci0000= :00/0000:00:04.0/usb4/4-2' udev_device_new_from_syspath: device 0xb56000 has devpath '/devices/pci0000= :00/0000:00:04.0/usb4/4-2' udev_device_read_db: device 0xb56000 filled with db file data udev_rules_apply_to_event: LINK 'char/189:386' /lib/udev/rules.d/50-udev-de= fault.rules:4 udev_rules_apply_to_event: MODE 0664 /lib/udev/rules.d/50-udev-default.rule= s:54 udev_rules_apply_to_event: NAME 'bus/usb/004/003' /lib/udev/rules.d/50-udev= -default.rules:54 udev_rules_apply_to_event: IMPORT 'usb_id --export /devices/pci0000:00/0000= :00:04.0/usb4/4-2' /lib/udev/rules.d/50-udev-default.rules:65 util_run_program: 'usb_id --export /devices/pci0000:00/0000:00:04.0/usb4/4-= 2' started util_run_program: '/lib/udev/usb_id' (stdout) 'ID_VENDOR=3DLexmark_Internat= ional__Inc.' util_run_program: '/lib/udev/usb_id' (stdout) 'ID_VENDOR_ENC=3DLexmark\x20I= nternational\x2c\x20Inc.' util_run_program: '/lib/udev/usb_id' (stdout) 'ID_VENDOR_ID=043d' util_run_program: '/lib/udev/usb_id' (stdout) 'ID_MODEL=3DLexmark_Optra_E31= 2' util_run_program: '/lib/udev/usb_id' (stdout) 'ID_MODEL_ENC=3DLexmark\x20Op= tra\x20E312' util_run_program: '/lib/udev/usb_id' (stdout) 'ID_MODEL_ID=000c' util_run_program: '/lib/udev/usb_id' (stdout) 'ID_REVISION=0100' util_run_program: '/lib/udev/usb_id' (stdout) 'ID_SERIAL=3DLexmark_Internat= ional__Inc._Lexmark_Optra_E312_8050926' util_run_program: '/lib/udev/usb_id' (stdout) 'ID_SERIAL_SHORT=8050926' util_run_program: '/lib/udev/usb_id' (stdout) 'ID_BUS=3Dusb' util_run_program: '/lib/udev/usb_id' (stdout) 'ID_USB_INTERFACES=3D:070102:' util_run_program: 'usb_id --export /devices/pci0000:00/0000:00:04.0/usb4/4-= 2' returned with exitcode 0 udev_rules_apply_to_event: GROUP 7 /lib/udev/rules.d/50-udev-default.rules:= 66 udev_rules_apply_to_event: MODE 0660 /lib/udev/rules.d/50-udev-default.rule= s:66 udev_device_new_from_syspath: device 0xb58a00 has devpath '/devices/pci0000= :00/0000:00:04.0/usb4' udev_device_new_from_syspath: device 0xb58ce0 has devpath '/devices/pci0000= :00/0000:00:04.0' udev_device_new_from_syspath: device 0xb58f90 has devpath '/devices/pci0000= :00' udev_device_update_db: created db file for '/devices/pci0000:00/0000:00:04.= 0/usb4/4-2' in '/dev/.udev/db/\x2fdevices\x2fpci0000:00\x2f0000:00:04.0\x2f= usb4\x2f4-2' udev_node_add: creating device node '/dev/bus/usb/004/003', devnum=189:386,= mode=0660, uid=3D0, gid=3D7 udev_node_mknod: preserve file '/dev/bus/usb/004/003', because it has corre= ct dev_t udev_node_mknod: chmod(/dev/bus/usb/004/003, 020660) udev_node_mknod: chown(/dev/bus/usb/004/003, 0, 7) update_link: found 2 devices with name '/dev/char/189:386' udev_device_new_from_syspath: device 0xb59430 has devpath '/devices/pci0000= :00/0000:00:04.0/usb4/4-2/usb_device/usbdev4.3' udev_device_read_db: device 0xb59430 filled with db symlink data '/dev/usbd= ev4.3' update_link: '/dev/char/189:386' with target '/dev/bus/usb/004/003' has the= highest priority 0, create it node_symlink: atomically replace '/dev/char/189:386' udevadm_test: UDEV_LOG=3D6 udevadm_test: DEVPATH=3D/devices/pci0000:00/0000:00:04.0/usb4/4-2 udevadm_test: MAJOR=189 udevadm_test: MINOR86 udevadm_test: DEVTYPE=3Dusb_device udevadm_test: DRIVER=3Dusb udevadm_test: DEVICE=3D/proc/bus/usb/004/003 udevadm_test: PRODUCTCd/c/100 udevadm_test: TYPE=3D0/0/0 udevadm_test: BUSNUM=004 udevadm_test: DEVNUM=003 udevadm_test: ACTION=ADd udevadm_test: SUBSYSTEM=3Dusb udevadm_test: DEVLINKS=3D/dev/char/189:386 udevadm_test: ID_VENDOR=3DLexmark_International__Inc. udevadm_test: ID_VENDOR_ENC=3DLexmark\x20International\x2c\x20Inc. udevadm_test: ID_VENDOR_ID=043d udevadm_test: ID_MODEL=3DLexmark_Optra_E312 udevadm_test: ID_MODEL_ENC=3DLexmark\x20Optra\x20E312 udevadm_test: ID_MODEL_ID=000c udevadm_test: ID_REVISION=0100 udevadm_test: ID_SERIAL=3DLexmark_International__Inc._Lexmark_Optra_E312_80= 50926 udevadm_test: ID_SERIAL_SHORT=8050926 udevadm_test: ID_BUS=3Dusb udevadm_test: ID_USB_INTERFACES=3D:070102: udevadm_test: DEVNAME=3D/dev/bus/usb/004/003 [root@server64 andyrtr]# uname -a Linux server64 2.6.27.36-lts #1 SMP Tue Oct 6 17:43:43 UTC 2009 x86_64 AMD Athlon(tm) X2 Dual Core Processor BE-2300 AuthenticAMD GNU/Linux