diff options
-rw-r--r-- | etc/udev/udev.rules | 4 | ||||
-rw-r--r-- | etc/udev/udev.rules.gentoo | 6 | ||||
-rw-r--r-- | test/label_test | 4 | ||||
-rw-r--r-- | test/udev-test.pl | 36 | ||||
-rw-r--r-- | udev.8 | 15 | ||||
-rw-r--r-- | udevinfo.8 | 2 | ||||
-rw-r--r-- | udevinfo.c | 2 |
7 files changed, 38 insertions, 31 deletions
diff --git a/etc/udev/udev.rules b/etc/udev/udev.rules index 344304dd95..e1c2cbe91e 100644 --- a/etc/udev/udev.rules +++ b/etc/udev/udev.rules @@ -5,13 +5,13 @@ BUS="scsi", PROGRAM="/bin/echo -n test-%b", RESULT="test-42:0:0:1", NAME="%c" # A usb camera. -BUS="usb", SYSFS_vendor="FUJIFILM", SYSFS_model="M100", NAME="camera%n" +BUS="usb", SYSFS{vendor}="FUJIFILM", SYSFS{model}="M100", NAME="camera%n" # USB Epson printer to be called lp_epson BUS="usb", SYSFS_serial="HXOLL0012202323480", NAME="lp_epson" # USB HP printer to be called lp_hp -BUS="usb", SYSFS_serial="W09090207101241330", NAME="lp_hp" +BUS="usb", SYSFS{serial}="W09090207101241330", NAME="lp_hp" # sound card with PCI bus id 00:0b.0 to be the first sound card BUS="pci", ID="00:0b.0", NAME="dsp" diff --git a/etc/udev/udev.rules.gentoo b/etc/udev/udev.rules.gentoo index 0c53df535c..b3ca042224 100644 --- a/etc/udev/udev.rules.gentoo +++ b/etc/udev/udev.rules.gentoo @@ -23,13 +23,13 @@ BUS="scsi", PROGRAM="/bin/echo -n test-%b", RESULT="test-42:0:0:1", NAME="%c" # A usb camera. -BUS="usb", SYSFS_vendor="FUJIFILM", SYSFS_model="M100", NAME="camera%n" +BUS="usb", SYSFS{vendor}="FUJIFILM", SYSFS{model}="M100", NAME="camera%n" # USB Epson printer to be called lp_epson -BUS="usb", SYSFS_serial="HXOLL0012202323480", NAME="lp_epson" +BUS="usb", SYSFS{serial}="HXOLL0012202323480", NAME="lp_epson" # USB HP printer to be called lp_hp -BUS="usb", SYSFS_serial="W09090207101241330", NAME="lp_hp" +BUS="usb", SYSFS{serial}="W09090207101241330", NAME="lp_hp" # sound card with PCI bus id 00:0b.0 to be the first sound card BUS="pci", ID="00:0b.0", NAME="dsp" diff --git a/test/label_test b/test/label_test index 93d02c18f2..b99a4acd54 100644 --- a/test/label_test +++ b/test/label_test @@ -8,8 +8,8 @@ export SYSFS_PATH=$PWD/sys/ export UDEV_CONFIG_FILE=$PWD/$CONFIG cat > $RULES << EOF -BUS="scsi", SYSFS_vendor="IBM-ESXS", SYSFS_model="ST336605LW !#", NAME="boot_diskX%n" -BUS="scsi", SYSFS_vendor="IBM-ESXS", SYSFS_model="ST336605LW !#", NAME="boot_disk%n" +BUS="scsi", SYSFS{vendor}="IBM-ESXS", SYSFS{model}="ST336605LW !#", NAME="boot_diskX%n" +BUS="scsi", SYSFS{vendor}="IBM-ESXS", SYSFS{model}="ST336605LW !#", NAME="boot_disk%n" EOF cat > $CONFIG << EOF diff --git a/test/udev-test.pl b/test/udev-test.pl index 7459f8ff5c..e238c909fa 100644 --- a/test/udev-test.pl +++ b/test/udev-test.pl @@ -38,7 +38,7 @@ my @tests = ( devpath => "block/sda", expected => "boot_disk" , conf => <<EOF -BUS="scsi", SYSFS_vendor="IBM-ESXS", NAME="boot_disk%n" +BUS="scsi", SYSFS{vendor}="IBM-ESXS", NAME="boot_disk%n" KERNEL="ttyUSB0", NAME="visor" EOF }, @@ -48,7 +48,7 @@ EOF devpath => "block/sda/sda1", expected => "boot_disk1" , conf => <<EOF -BUS="scsi", SYSFS_vendor="IBM-ESXS", NAME="boot_disk%n" +BUS="scsi", SYSFS{vendor}="IBM-ESXS", NAME="boot_disk%n" EOF }, { @@ -57,10 +57,10 @@ EOF devpath => "block/sda/sda1", expected => "boot_disk1" , conf => <<EOF -BUS="scsi", SYSFS_vendor="?IBM-ESXS", NAME="boot_disk%n-1" -BUS="scsi", SYSFS_vendor="IBM-ESXS?", NAME="boot_disk%n-2" -BUS="scsi", SYSFS_vendor="IBM-ES??", NAME="boot_disk%n" -BUS="scsi", SYSFS_vendor="IBM-ESXSS", NAME="boot_disk%n-3" +BUS="scsi", SYSFS{vendor}="?IBM-ESXS", NAME="boot_disk%n-1" +BUS="scsi", SYSFS{vendor}="IBM-ESXS?", NAME="boot_disk%n-2" +BUS="scsi", SYSFS{vendor}="IBM-ES??", NAME="boot_disk%n" +BUS="scsi", SYSFS{vendor}="IBM-ESXSS", NAME="boot_disk%n-3" EOF }, { @@ -69,8 +69,8 @@ EOF devpath => "block/sda/sda1", expected => "boot_disk1" , conf => <<EOF -BUS="scsi", SYSFS_vendor="IBM-ESXS", SYSFS_model="ST336605LW !#", NAME="boot_diskX%n" -BUS="scsi", SYSFS_vendor="IBM-ESXS", SYSFS_model="ST336605LW !#", NAME="boot_disk%n" +BUS="scsi", SYSFS{vendor}="IBM-ESXS", SYSFS{model}="ST336605LW !#", NAME="boot_diskX%n" +BUS="scsi", SYSFS{vendor}="IBM-ESXS", SYSFS{model}="ST336605LW !#", NAME="boot_disk%n" EOF }, { @@ -79,8 +79,8 @@ EOF devpath => "block/sda/sda1", expected => "boot_disk1" , conf => <<EOF -BUS="scsi", SYSFS_vendor="IBM-ESXS", SYSFS_model="ST336605LW !#", SYSFS_scsi_level="4", SYSFS_rev="B245", SYSFS_type="2", SYSFS_queue_depth="32", NAME="boot_diskXX%n" -BUS="scsi", SYSFS_vendor="IBM-ESXS", SYSFS_model="ST336605LW !#", SYSFS_scsi_level="4", SYSFS_rev="B245", SYSFS_type="0", NAME="boot_disk%n" +BUS="scsi", SYSFS{vendor}="IBM-ESXS", SYSFS{model}="ST336605LW !#", SYSFS{scsi_level}="4", SYSFS{rev}="B245", SYSFS{type}="2", SYSFS{queue_depth}="32", NAME="boot_diskXX%n" +BUS="scsi", SYSFS{vendor}="IBM-ESXS", SYSFS{model}="ST336605LW !#", SYSFS{scsi_level}="4", SYSFS{rev}="B245", SYSFS{type}="0", NAME="boot_disk%n" EOF }, { @@ -209,7 +209,7 @@ EOF devpath => "block/sda", expected => "disk-IBM-ESXS-sda" , conf => <<EOF -BUS="scsi", SYSFS_vendor="IBM-ESXS", NAME="disk-%s{vendor}-%k" +BUS="scsi", SYSFS{vendor}="IBM-ESXS", NAME="disk-%s{vendor}-%k" KERNEL="ttyUSB0", NAME="visor" EOF }, @@ -279,7 +279,7 @@ EOF devpath => "class/tty/console", expected => "TTY" , conf => <<EOF -BUS="foo", SYSFS_dev="5:1", NAME="foo" +BUS="foo", SYSFS{dev}="5:1", NAME="foo" KERNEL="console", NAME="TTY" EOF }, @@ -289,7 +289,7 @@ EOF devpath => "class/tty/console", expected => "foo" , conf => <<EOF -SYSFS_dev="5:1", NAME="foo" +SYSFS{dev}="5:1", NAME="foo" KERNEL="console", NAME="TTY" EOF }, @@ -319,7 +319,7 @@ EOF devpath => "block/sda/sda2", expected => "1/2/a/b/symlink" , conf => <<EOF -BUS="scsi", SYSFS_vendor="IBM-ESXS", NAME="1/2/node", SYMLINK="1/2/a/b/symlink" +BUS="scsi", SYSFS{vendor}="IBM-ESXS", NAME="1/2/node", SYMLINK="1/2/a/b/symlink" EOF }, { @@ -328,7 +328,7 @@ EOF devpath => "block/sda/sda2", expected => "1/2/symlink" , conf => <<EOF -BUS="scsi", SYSFS_vendor="IBM-ESXS", NAME="1/2/a/b/node", SYMLINK="1/2/symlink" +BUS="scsi", SYSFS{vendor}="IBM-ESXS", NAME="1/2/a/b/node", SYMLINK="1/2/symlink" EOF }, { @@ -337,7 +337,7 @@ EOF devpath => "block/sda/sda2", expected => "1/2/c/d/symlink" , conf => <<EOF -BUS="scsi", SYSFS_vendor="IBM-ESXS", NAME="1/2/a/b/node", SYMLINK="1/2/c/d/symlink" +BUS="scsi", SYSFS{vendor}="IBM-ESXS", NAME="1/2/a/b/node", SYMLINK="1/2/c/d/symlink" EOF }, { @@ -355,7 +355,7 @@ EOF devpath => "block/sda", expected => "boot_disk15" , conf => <<EOF -BUS="scsi", SYSFS_vendor="IBM-ESXS", NAME{all_partitions}="boot_disk" +BUS="scsi", SYSFS{vendor}="IBM-ESXS", NAME{all_partitions}="boot_disk" EOF }, { @@ -364,7 +364,7 @@ EOF devpath => "class/tty/ttyUSB0", expected => "visor" , conf => <<EOF -SYSFS_idProduct="2008", NAME="visor" +SYSFS{idProduct}="2008", NAME="visor" EOF }, { @@ -144,7 +144,7 @@ Match the device number on the bus, like PCI bus id. .B PLACE Match the topological position on bus, like physical port of USB device .TP -.BI SYSFS_ filename +.BI SYSFS{ filename } Match sysfs device attribute like label, vendor, USB serial number, SCSI UUID or file system label. Up to 5 different sysfs files can be checked, with all of the values being required in order to match the rule. @@ -162,6 +162,13 @@ call. This key may used in any following rule after a .B PROGRAM call. .P +The +.B NAME +field given with the attribute +.BR NAME{ all_partitions } +will create all 15 partitions of a blockdevice. +This may be useful for removable media devices. +.P .RB "The " NAME " ," SYMLINK " and " PROGRAM fields support simple printf-like string substitution: .TP @@ -199,10 +206,10 @@ The '%' char itself. BUS="scsi", PROGRAM="/sbin/scsi_id", RESULT="OEM 0815", NAME="disk1" # USB printer to be called lp_color -BUS="usb", SYSFS_serial="W09090207101241330", NAME="lp_color" +BUS="usb", SYSFS{serial}="W09090207101241330", NAME="lp_color" # SCSI disk with a specific vendor and model number is to be called boot -BUS="scsi", SYSFS_vendor="IBM", SYSFS_model="ST336", NAME="boot%n" +BUS="scsi", SYSFS{vendor}="IBM", SYSFS{model}="ST336", NAME="boot%n" # sound card with PCI bus id 00:0b.0 to be called dsp BUS="pci", ID="00:0b.0", NAME="dsp" @@ -214,7 +221,7 @@ BUS="usb", PLACE="2.3", NAME="mouse1" KERNEL="ttyUSB1", NAME="pda", SYMLINK="palmtop handheld" # multiple USB webcams with symlinks to be called webcam0, webcam1, ... -BUS="usb", SYSFS_model="XV3", NAME="video%n", SYMLINK="webcam%n" +BUS="usb", SYSFS{model}="XV3", NAME="video%n", SYMLINK="webcam%n" .fi .P Permissions and ownership for the created device files may specified at diff --git a/udevinfo.8 b/udevinfo.8 index fdb0e6f62b..67d034aea6 100644 --- a/udevinfo.8 +++ b/udevinfo.8 @@ -38,7 +38,7 @@ Specify the name of the node for the device to query. .TP .B -a Print all -.BI SYSFS_ filename +.BI SYSFS{ filename } attributes along the device chain. Useful for for finding unique attributes to compose a rule. .RB Needs " -p " specified. diff --git a/udevinfo.c b/udevinfo.c index 44eb142709..e4ea698111 100644 --- a/udevinfo.c +++ b/udevinfo.c @@ -90,7 +90,7 @@ static int print_all_attributes(const char *path) len--; } if (len == 0) - printf(" SYSFS_%s=\"%s\"\n", attr->name, value); + printf(" SYSFS{%s}=\"%s\"\n", attr->name, value); } } printf("\n"); |