The switch to enable/disable logging of udev information
The default value is
.IR yes .
-.TP
-.B default_mode
-The default mode for all nodes where no explicit value is given by a rule.
-The default value is
-.IR 0660 .
-.TP
-.B default_owner
-The default owner for all nodes where no explicit value is given by a rule.
-The default value is
-.IR root .
-.TP
-.B default_group
-The default group for all nodes where no explicitly value is given by a rule.
-The default value is
-.IR root .
-.br
.P
.RI "A sample " udev.conf " file might look like this:
.sp
# udev_log - set to "yes" if you want logging, else "no"
udev_log="yes"
-
-# default_mode - set the default mode for all nodes that have no
-# permissions specified
-default_mode="0660"
-
-# default_owner - set the default owner for all nodes that have no
-# permissions specified
-default_owner="root"
-
-# default_group - set the default group for all nodes that have no
-# permissions specified
-default_group="root"
.fi
.P
The rules for device naming are read from the files located in the
.br
If no matching rule is found, the default kernel device name is used.
.P
-Every rule consists of a list of comma separated fields:
-.sp
-.IR "key " ,[ "key " ,...] " name " [, " symlink" ]
+Every rule consists of a list of comma separated key value fields:
.sp
-where fields are:
+.IR "key " ,[ "key " ,...]
+.P
+The following key names can be used to match against device properties:
.TP
.B BUS
Match the bus type of the device.
.B ID
Match the device number on the bus, like PCI bus id.
.TP
-.B PLACE
-Match the topological position on bus, like physical port of USB device
-.TP
.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
Call external program. This key is valid if the program returns successful.
The environment variables of
.B udev
-are also available for the program.
+are also available to the program.
.br
The string returned by the program may be additionally matched with the
.B RESULT
-key.
+key in the same or any later rule.
.TP
.B RESULT
Match the returned string of the last
.B PROGRAM
-call. This key may be used in any following rule after a
+call. This key can be used in the same or in any later rule after a
.B PROGRAM
call.
+.P
+The following keys can get values assigned:
.TP
.B NAME
The name of the node to be created, or the name, the network interface
should be renamed to.
-.br
-If given with the attribute
-.BR NAME{ all_partitions }
-.B udev
-will create device nodes for all 15 partitions of a blockdevice.
-This may be useful for removable media devices.
-.br
-If given with the attribute
-.BR NAME{ ignore_remove }
-.B udev
-will ignore any later remove event for this device.
-This may be useful as a workaround for broken device drivers.
-.sp
-Multiple attributes may be separated by comma.
.TP
.B SYMLINK
The name of a symlink targeting the node. Multiple symlinks may be
distribution provided rules file.
.TP
.B OWNER, GROUP, MODE
-The permissions for this device. Every specified value overwrites the default
-value specified in the config file.
+The permissions for the device node. Every specified value overwrites the
+compiled-in default value.
+.TP
+.B OPTIONS
+.B last_rule
+will be the last rule applied. No later rules will have any effect.
+.sp
+.B OPTIONS
+.B ignore_device
+will ignore this device. No node will be created.
+.sp
+.B ignore_remove
+will ignore any later remove event for this device.
+This may be useful as a workaround for broken device drivers.
+.sp
+.B all_partitions
+will create device nodes for all available partitions of a blockdevice.
+This may be useful for removable media devices which do not detect a media
+change.
+.sp
+Multiple attributes may be separated by comma.
.P
-.RB "The " NAME " ," SYMLINK " and " PROGRAM
+.RB "The " NAME ", " SYMLINK ", " PROGRAM ", " OWNER " and " GROUP
fields support simple printf-like string substitutions:
.TP
.B %n
.B %k
The "kernel name" for the device.
.TP
+.B %p
+The devpath for the device.
+.TP
.B %M
The kernel major number for the device.
.TP
all remaining parts of the result string are substituted:
.BI %c{ N+ }
.TP
+.B %N
+The name of a created temporary device node to provide access to the
+device from a external program.
+.TP
+.B %P
+The node name of the parent device.
+.TP
.BI %s{ filename }
The content of a sysfs attribute.
.TP
.sp
.nf
# if /sbin/scsi_id returns "OEM 0815", the device will be called disk1
-BUS="scsi", PROGRAM="/sbin/scsi_id", RESULT="OEM 0815", NAME="disk1"
+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 will 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"
+BUS=="pci", ID=="00:0b.0", NAME="dsp"
# USB mouse at third port of the second hub to be called mouse1
-BUS="usb", PLACE="2.3", NAME="mouse1"
+BUS=="usb", ID=="2.3", NAME="mouse1"
# ttyUSB1 should always be called pda with two additional symlinks
-KERNEL="ttyUSB1", NAME="pda", SYMLINK="palmtop handheld"
+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"
# grouping of optical drives from multiple kernel subsystems
-KERNEL="sr*", NAME="%k", SYMLINK="cdrom%e"
-KERNEL="scd*", NAME="%k", SYMLINK="cdrom%e"
-KERNEL="pcd*", NAME="%k", SYMLINK="cdrom%e"
-KERNEL="hd[a-z]", PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="cdrom",
+KERNEL=="sr*", NAME="%k", SYMLINK="cdrom%e"
+KERNEL=="scd*", NAME="%k", SYMLINK="cdrom%e"
+KERNEL=="pcd*", NAME="%k", SYMLINK="cdrom%e"
+KERNEL=="hd[a-z]", PROGRAM=="/bin/cat /proc/ide/%k/media", RESULT=="cdrom",
NAME="%k", SYMLINK="cdrom%e"
.fi
.P