Messages in this thread | | | Subject | udev LABEL not working: sysfs_path_is_file: stat() failed | From | Scott James Remnant <> | Date | Mon, 22 Dec 2003 01:00:29 +0000 |
| |
[I am not subscribed to linux-kernel, please Cc: me on replies.]
I'm having a problem getting udev to honour my LABEL lines in /etc/udev/udev.rules. At the top of this I've got:
LABEL, BUS="usb", SYSFS_vendor="Fujifilm", SYSFS_model="FinePix 1400Zoom", NAME="camera"
Which as far as I understand it should create a /dev/camera when I plug in my USB camera... Except all I ever get is /dev/sdb and /dev/sdb1, no matter what combinations of SYSFS_* I try.
The most relevant lines I could find look like this:
Dec 22 00:47:17 descent udev[4383]: do_label: look for device attribute 'model' Dec 22 00:47:17 descent udev[4383]: sysfs_path_is_file: stat() failed
However if I manually look at /sys/block/sdb/device it's all there:
descent scott% cd /sys/block/sdb/device descent device% ls block@ detach_state model power/ rescan scsi_level vendor delete device_blocked online queue_depth rev type descent device% cat vendor Fujifilm descent device% cat model FinePix 1400Zoom
I'm using udev-009 and hotplug-0.0.20031013-2 on a Debian machine running Linux 2.6.0. I've attached a copy of my udev.conf, udev.rules and the log output from both the kernel when attaching the device and udev when compiled with DEBUG on.
Scott -- Have you ever, ever felt like this? Had strange things happen? Are you going round the twist?
# udev.conf # The main config file for udev # # This file can be used to override some of udev's default values # for where it looks for files, and where it places device nodes.
# udev_root - where in the filesystem to place the device nodes udev_root="/udev/"
# udev_db - The name and location of the udev database. udev_db="/udev/.udev.tdb"
# udev_rules - The name and location of the udev rules file udev_rules="/etc/udev/udev.rules"
# udev_permissions - The name and location of the udev permission file udev_permissions="/etc/udev/udev.permissions"
# default_mode - set the default mode for all nodes that have no # explicit match in the permissions file default_mode="0600"
# There are a number of modifiers that are allowed to be used in # a number of the different fields. They provide the following subsitutions: # %n - the "kernel number" of the device. # for example, 'sda3' has a "kernel number" of '3' # %M - the kernel major number for the device # %m - the kernel minor number for the device # %b - the bus id for the device # %c - the return value for the CALLOUT program (note, this doesn't work within # the PROGRAM field for the obvious reason.) # %D - use the devfs style disk name for this device. # For partitions, this will result in 'part%n' # If this is not a partition, it will result in 'disk' #
# My camera LABEL, BUS="usb", SYSFS_vendor="Fujifilm", SYSFS_model="FinePix 1400Zoom", NAME="camera"
# ide block devices NUMBER, BUS="ide", ID="0.0", NAME="ide/host0/bus0/target0/lun0/%D", SYMLINK="hda%n" NUMBER, BUS="ide", ID="0.1", NAME="ide/host0/bus0/target1/lun0/%D", SYMLINK="hdb%n" NUMBER, BUS="ide", ID="1.0", NAME="ide/host0/bus1/target0/lun0/%D", SYMLINK="hdc%n" NUMBER, BUS="ide", ID="1.1", NAME="ide/host0/bus1/target1/lun0/%D", SYMLINK="hdd%n"
# md block devices REPLACE, KERNEL="md[0-9]*", NAME="md/%n", SYMLINK="md%n"
# tty devices REPLACE, KERNEL="tty[0-9]*", NAME="vc/%n" REPLACE, KERNEL="ttyS[0-9]*", NAME="tts/%n" REPLACE, KERNEL="ttyUSB[0-9]*", NAME="tts/USB%n"
# vc devices REPLACE, KERNEL="vcs", NAME="vcc/0" REPLACE, KERNEL="vcs[0-9]*", NAME="vcc/%n" REPLACE, KERNEL="vcsa", NAME="vcc/a0" REPLACE, KERNEL="vcsa[0-9]*", NAME="vcc/a%n"
# v4l devices REPLACE, KERNEL="video[0-9]*", NAME="v4l/video%n" REPLACE, KERNEL="radio[0-9]*", NAME="v4l/radio%n" REPLACE, KERNEL="vbi[0-9]*", NAME="v4l/vbi%n" REPLACE, KERNEL="vtx[0-9]*", NAME="v4l/vtx%n"
Dec 22 00:47:17 descent kernel: hub 1-2:1.0: new USB device on port 3, assigned address 17 Dec 22 00:47:17 descent usb.agent[4341]: ... no modules for USB product 4cb/100/1000 Dec 22 00:47:17 descent kernel: scsi12 : SCSI emulation for USB Mass Storage devices Dec 22 00:47:17 descent kernel: Vendor: Fujifilm Model: FinePix 1400Zoom Rev: 1000 Dec 22 00:47:17 descent kernel: Type: Direct-Access ANSI SCSI revision: 02 Dec 22 00:47:17 descent scsi.agent[4368]: how to add device type= at /devices/pci0000:00/0000:00:02.2/usb1/1-2/1-2.3/1-2.3:1.0/host12/12:0:0:0 ?? Dec 22 00:47:17 descent kernel: SCSI device sdb: 128000 512-byte hdwr sectors (66 MB) Dec 22 00:47:17 descent kernel: sdb: Write Protect is off Dec 22 00:47:17 descent kernel: sdb: sdb1 Dec 22 00:47:17 descent kernel: Attached scsi removable disk sdb at scsi12, channel 0, id 0, lun 0 Dec 22 00:47:17 descent kernel: Attached scsi generic sg1 at scsi12, channel 0, id 0, lun 0, type 0 Dec 22 00:47:17 descent udev[4358]: main: version 009 Dec 22 00:47:17 descent udev[4358]: main: looking at '/devices/pci0000:00/0000:00:02.2/usb1/1-2/1-2.3/1-2.3:1.0' Dec 22 00:47:17 descent udev[4358]: main: not a block or class device Dec 22 00:47:17 descent udev[4366]: main: version 009 Dec 22 00:47:17 descent udev[4366]: main: looking at '/class/scsi_host/host12' Dec 22 00:47:17 descent udev[4366]: get_dirs: sysfs_path='/sys' Dec 22 00:47:17 descent udev[4366]: parse_config_file: reading '/etc/udev/udev.conf' as config file Dec 22 00:47:17 descent udev[4366]: namedev_init_rules: reading '/etc/udev/udev.rules' as rules file Dec 22 00:47:17 descent udev[4366]: namedev_init_permissions: reading '/etc/udev/udev.permissions' as permissions file Dec 22 00:47:17 descent udev[4366]: sleep_for_dev: looking for '/sys/class/scsi_host/host12/dev' Dec 22 00:47:17 descent udev[4377]: main: version 009 Dec 22 00:47:17 descent udev[4377]: main: looking at '/devices/pci0000:00/0000:00:02.2/usb1/1-2/1-2.3/1-2.3:1.0/host12/12:0:0:0' Dec 22 00:47:17 descent udev[4377]: main: not a block or class device Dec 22 00:47:17 descent kernel: sdb: Mode Sense: 00 32 02 00 Dec 22 00:47:17 descent udev[4383]: main: version 009 Dec 22 00:47:17 descent udev[4383]: main: looking at '/block/sdb' Dec 22 00:47:17 descent udev[4383]: get_dirs: sysfs_path='/sys' Dec 22 00:47:17 descent udev[4383]: parse_config_file: reading '/etc/udev/udev.conf' as config file Dec 22 00:47:17 descent udev[4383]: namedev_init_rules: reading '/etc/udev/udev.rules' as rules file Dec 22 00:47:17 descent udev[4383]: namedev_init_permissions: reading '/etc/udev/udev.permissions' as permissions file Dec 22 00:47:17 descent udev[4383]: sleep_for_dev: looking for '/sys/block/sdb/dev' Dec 22 00:47:17 descent udev[4383]: get_class_dev: looking at '/sys/block/sdb' Dec 22 00:47:17 descent udev[4383]: get_class_dev: class_dev->name='sdb' Dec 22 00:47:17 descent udev[4383]: get_major_minor: dev='8:16 ' Dec 22 00:47:17 descent udev[4383]: get_major_minor: found major=8, minor=16 Dec 22 00:47:17 descent udev[4383]: namedev_name_device: looking at block device Dec 22 00:47:17 descent udev[4383]: namedev_name_device: class_dev->name = 'sdb' Dec 22 00:47:17 descent udev[4383]: build_kernel_number: kernel_number='' Dec 22 00:47:17 descent udev[4383]: do_label: look for device attribute 'model' Dec 22 00:47:17 descent udev[4383]: sysfs_path_is_file: stat() failed Dec 22 00:47:17 descent udev[4383]: do_replace: compare name 'md[0-9]*' with 'sdb' Dec 22 00:47:17 descent udev[4383]: do_replace: compare name 'tty[0-9]*' with 'sdb' Dec 22 00:47:17 descent udev[4383]: do_replace: compare name 'ttyS[0-9]*' with 'sdb' Dec 22 00:47:17 descent udev[4383]: do_replace: compare name 'ttyUSB[0-9]*' with 'sdb' Dec 22 00:47:17 descent udev[4383]: do_replace: compare name 'vcs' with 'sdb' Dec 22 00:47:17 descent udev[4383]: do_replace: compare name 'vcs[0-9]*' with 'sdb' Dec 22 00:47:17 descent udev[4383]: do_replace: compare name 'vcsa' with 'sdb' Dec 22 00:47:17 descent udev[4383]: do_replace: compare name 'vcsa[0-9]*' with 'sdb' Dec 22 00:47:17 descent udev[4383]: do_replace: compare name 'video[0-9]*' with 'sdb' Dec 22 00:47:17 descent udev[4383]: do_replace: compare name 'radio[0-9]*' with 'sdb' Dec 22 00:47:17 descent udev[4383]: do_replace: compare name 'vbi[0-9]*' with 'sdb' Dec 22 00:47:17 descent udev[4383]: do_replace: compare name 'vtx[0-9]*' with 'sdb' Dec 22 00:47:17 descent udev[4383]: namedev_name_device: name, 'sdb' is going to have owner='root', group='disk', mode = 0660 Dec 22 00:47:17 descent udev[4383]: udev_add_device: name='sdb' Dec 22 00:47:17 descent udev[4383]: create_node: mknod(/udev/sdb, 060660, 8, 16)Dec 22 00:47:17 descent udev[4383]: create_node: chmod(/udev/sdb, 060660) Dec 22 00:47:17 descent udev[4383]: create_node: chown(/udev/sdb, 0, 6) Dec 22 00:47:17 descent udev[4389]: main: version 009 Dec 22 00:47:17 descent udev[4389]: main: looking at '/block/sdb/sdb1' Dec 22 00:47:17 descent udev[4389]: get_dirs: sysfs_path='/sys' Dec 22 00:47:17 descent udev[4389]: parse_config_file: reading '/etc/udev/udev.conf' as config file Dec 22 00:47:17 descent udev[4389]: namedev_init_rules: reading '/etc/udev/udev.rules' as rules file Dec 22 00:47:17 descent udev[4389]: namedev_init_permissions: reading '/etc/udev/udev.permissions' as permissions file Dec 22 00:47:17 descent udev[4389]: sleep_for_dev: looking for '/sys/block/sdb/sdb1/dev' Dec 22 00:47:17 descent udev[4389]: get_class_dev: looking at '/sys/block/sdb/sdb1' Dec 22 00:47:17 descent udev[4389]: get_class_dev: class_dev->name='sdb1' Dec 22 00:47:17 descent udev[4389]: get_major_minor: dev='8:17 ' Dec 22 00:47:17 descent udev[4389]: get_major_minor: found major=8, minor=17 Dec 22 00:47:17 descent udev[4389]: namedev_name_device: looking at block deviceDec 22 00:47:17 descent udev[4389]: namedev_name_device: really is a partition Dec 22 00:47:17 descent udev[4389]: namedev_name_device: class_dev_parent->name='sdb' Dec 22 00:47:17 descent udev[4389]: sysfs_path_is_link: stat() failed Dec 22 00:47:17 descent last message repeated 6 times Dec 22 00:47:17 descent udev[4389]: namedev_name_device: sysfs_device->path='/sys/devices/pci0000:00/0000:00:02.2/usb1/1-2/1-2.3/1-2.3:1.0/host12/12:0:0:0' Dec 22 00:47:17 descent udev[4389]: namedev_name_device: sysfs_device->bus_id='12:0:0:0' Dec 22 00:47:17 descent udev[4389]: namedev_name_device: sysfs_device->bus='unknown' Dec 22 00:47:17 descent udev[4389]: build_kernel_number: kernel_number='1' Dec 22 00:47:17 descent udev[4389]: do_label: dev->bus='usb' sysfs_device->bus='unknown' Dec 22 00:47:17 descent udev[4389]: do_number: dev->bus='ide' sysfs_device->bus='unknown' Dec 22 00:47:17 descent last message repeated 3 times Dec 22 00:47:17 descent udev[4389]: do_replace: compare name 'md[0-9]*' with 'sdb1' Dec 22 00:47:17 descent udev[4389]: do_replace: compare name 'tty[0-9]*' with 'sdb1' Dec 22 00:47:17 descent udev[4389]: do_replace: compare name 'ttyS[0-9]*' with 'sdb1' Dec 22 00:47:17 descent udev[4389]: do_replace: compare name 'ttyUSB[0-9]*' with 'sdb1' Dec 22 00:47:17 descent udev[4389]: do_replace: compare name 'vcs' with 'sdb1' Dec 22 00:47:17 descent udev[4389]: do_replace: compare name 'vcs[0-9]*' with 'sdb1' Dec 22 00:47:17 descent udev[4389]: do_replace: compare name 'vcsa' with 'sdb1' Dec 22 00:47:17 descent udev[4389]: do_replace: compare name 'vcsa[0-9]*' with 'sdb1' Dec 22 00:47:17 descent udev[4389]: do_replace: compare name 'video[0-9]*' with 'sdb1' Dec 22 00:47:17 descent udev[4389]: do_replace: compare name 'radio[0-9]*' with 'sdb1' Dec 22 00:47:17 descent udev[4389]: do_replace: compare name 'vbi[0-9]*' with 'sdb1' Dec 22 00:47:17 descent udev[4389]: do_replace: compare name 'vtx[0-9]*' with 'sdb1' Dec 22 00:47:17 descent udev[4389]: namedev_name_device: name, 'sdb1' is going to have owner='root', group='disk', mode = 0660 Dec 22 00:47:17 descent udev[4389]: udev_add_device: name='sdb1' Dec 22 00:47:17 descent udev[4389]: create_node: mknod(/udev/sdb1, 060660, 8, 17) Dec 22 00:47:17 descent udev[4389]: create_node: chmod(/udev/sdb1, 060660) Dec 22 00:47:17 descent udev[4389]: create_node: chown(/udev/sdb1, 0, 6) Dec 22 00:47:17 descent udev[4395]: main: version 009 Dec 22 00:47:17 descent udev[4395]: main: looking at '/class/scsi_device/12:0:0:0' Dec 22 00:47:17 descent udev[4395]: get_dirs: sysfs_path='/sys' Dec 22 00:47:17 descent udev[4395]: parse_config_file: reading '/etc/udev/udev.conf' as config file Dec 22 00:47:17 descent udev[4395]: namedev_init_rules: reading '/etc/udev/udev.rules' as rules file Dec 22 00:47:17 descent udev[4395]: namedev_init_permissions: reading '/etc/udev/udev.permissions' as permissions file Dec 22 00:47:17 descent udev[4395]: sleep_for_dev: looking for '/sys/class/scsi_device/12:0:0:0/dev' Dec 22 00:47:17 descent kernel: WARNING: USB Mass Storage data integrity not assured Dec 22 00:47:17 descent kernel: USB Mass Storage device found at 17 Dec 22 00:47:18 descent udev[4366]: sleep_for_dev: looking for '/sys/class/scsi_host/host12/dev' Dec 22 00:47:18 descent udev[4395]: sleep_for_dev: looking for '/sys/class/scsi_device/12:0:0:0/dev' Dec 22 00:47:19 descent udev[4397]: main: version 009 Dec 22 00:47:19 descent udev[4397]: main: looking at '/devices/pci0000:00/0000:00:02.2/usb1/1-2/1-2.3' Dec 22 00:47:19 descent udev[4397]: main: not a block or class device Dec 22 00:47:19 descent udev[4366]: sleep_for_dev: looking for '/sys/class/scsi_host/host12/dev' Dec 22 00:47:19 descent udev[4395]: sleep_for_dev: looking for '/sys/class/scsi_device/12:0:0:0/dev' Dec 22 00:47:20 descent udev[4366]: sleep_for_dev: looking for '/sys/class/scsi_host/host12/dev' Dec 22 00:47:20 descent udev[4395]: sleep_for_dev: looking for '/sys/class/scsi_device/12:0:0:0/dev' Dec 22 00:47:21 descent udev[4366]: sleep_for_dev: looking for '/sys/class/scsi_host/host12/dev' Dec 22 00:47:21 descent udev[4395]: sleep_for_dev: looking for '/sys/class/scsi_device/12:0:0:0/dev' Dec 22 00:47:22 descent udev[4366]: sleep_for_dev: looking for '/sys/class/scsi_host/host12/dev' Dec 22 00:47:22 descent udev[4395]: sleep_for_dev: looking for '/sys/class/scsi_device/12:0:0:0/dev' Dec 22 00:47:23 descent udev[4366]: sleep_for_dev: looking for '/sys/class/scsi_host/host12/dev' Dec 22 00:47:23 descent udev[4395]: sleep_for_dev: looking for '/sys/class/scsi_device/12:0:0:0/dev' Dec 22 00:47:24 descent udev[4366]: sleep_for_dev: looking for '/sys/class/scsi_host/host12/dev' Dec 22 00:47:24 descent udev[4395]: sleep_for_dev: looking for '/sys/class/scsi_device/12:0:0:0/dev' Dec 22 00:47:25 descent udev[4366]: sleep_for_dev: looking for '/sys/class/scsi_host/host12/dev' Dec 22 00:47:25 descent udev[4395]: sleep_for_dev: looking for '/sys/class/scsi_device/12:0:0:0/dev' Dec 22 00:47:26 descent udev[4366]: sleep_for_dev: looking for '/sys/class/scsi_host/host12/dev' Dec 22 00:47:26 descent udev[4395]: sleep_for_dev: looking for '/sys/class/scsi_device/12:0:0:0/dev'
[unhandled content-type:application/pgp-signature] | |