summaryrefslogtreecommitdiff
path: root/etc/udev
diff options
context:
space:
mode:
authorKay Sievers <kay.sievers@suse.de>2006-03-29 12:19:21 +0200
committerKay Sievers <kay.sievers@suse.de>2006-03-29 12:19:21 +0200
commit7f1ba7b03f388c1d3d03b0f66a1c0ced7707ac11 (patch)
tree2814e422d0d56dc34d9048d0088b53d629e8863c /etc/udev
parent16801abde1888e24af9652e99522eab8ee8cb057 (diff)
update Debian rules
Diffstat (limited to 'etc/udev')
-rw-r--r--etc/udev/debian/cd-aliases.rules15
-rw-r--r--etc/udev/debian/compat.rules6
-rw-r--r--etc/udev/debian/devfs.rules14
-rw-r--r--etc/udev/debian/hotplug.rules25
-rw-r--r--etc/udev/debian/hotplugd.rules5
-rw-r--r--etc/udev/debian/permissions.rules132
-rw-r--r--etc/udev/debian/persistent-input.rules29
-rw-r--r--etc/udev/debian/persistent.rules48
-rw-r--r--etc/udev/debian/udev.rules8
9 files changed, 162 insertions, 120 deletions
diff --git a/etc/udev/debian/cd-aliases.rules b/etc/udev/debian/cd-aliases.rules
deleted file mode 100644
index 22f710032b..0000000000
--- a/etc/udev/debian/cd-aliases.rules
+++ /dev/null
@@ -1,15 +0,0 @@
-# These rules create the /dev/{cdrom,dvd,...} symlinks.
-#
-# If you would like to statically configure the aliases instead, you can
-# use rules like:
-# BUS=="ide", ID=="1.0", SYMLINK+="cdrom"
-
-# The variables for IDE devices are imported in permissions.rules.
-BUS=="scsi", KERNEL=="sr[0-9]*", ACTION=="add", \
- IMPORT{program}="/sbin/cdrom_id --export $tempnode"
-
-ENV{ID_CDROM}=="?*", SYMLINK+="cdrom%e"
-ENV{ID_CDROM_CD_RW}=="?*", SYMLINK+="cdrw%e"
-ENV{ID_CDROM_DVD}=="?*", SYMLINK+="dvd%e"
-ENV{ID_CDROM_DVD_R}=="?*", SYMLINK+="dvdrw%e"
-
diff --git a/etc/udev/debian/compat.rules b/etc/udev/debian/compat.rules
index 09bb07441b..209e3ce7e4 100644
--- a/etc/udev/debian/compat.rules
+++ b/etc/udev/debian/compat.rules
@@ -27,9 +27,9 @@ KERNEL=="rtc", SYMLINK+="%k"
#KERNEL=="i2c-[0-9]*", SYMLINK+="%k"
#KERNEL=="lp[0-9]*", SYMLINK+="%k"
-KERNEL=="audio*" SYMLINK+="%k"
-KERNEL=="dsp*" SYMLINK+="%k"
-KERNEL=="mixer*" SYMLINK+="%k"
+KERNEL=="audio*", SYMLINK+="%k"
+KERNEL=="dsp*", SYMLINK+="%k"
+KERNEL=="mixer*", SYMLINK+="%k"
#KERNEL=="fb[0-9]*", SYMLINK+="%k"
#KERNEL=="fd[0-9]*", SYMLINK+="%k"
diff --git a/etc/udev/debian/devfs.rules b/etc/udev/debian/devfs.rules
index c4a44e3e7f..14a67bbdc2 100644
--- a/etc/udev/debian/devfs.rules
+++ b/etc/udev/debian/devfs.rules
@@ -18,15 +18,15 @@ BUS=="ide", KERNEL=="hd[a-z]", SYSFS{removable}=="1", \
ENV{ID_MODEL}=="IOMEGA_ZIP*", NAME="%k", OPTIONS+="all_partitions"
# IDE devices
-BUS=="ide", KERNEL=="hd[a-z]*", PROGRAM="/lib/udev/ide-devfs.sh %k %b %n", \
+BUS=="ide", KERNEL=="hd[a-z]*", PROGRAM="ide-devfs.sh %k %b %n", \
NAME="%c{1}", SYMLINK+="%k %c{2}"
# SCSI devices
-BUS=="scsi", PROGRAM="/lib/udev/scsi-devfs.sh %k %b %n", \
+BUS=="scsi", PROGRAM="scsi-devfs.sh %k %b %n", \
NAME="%c{1}", SYMLINK+="%k %c{2}"
# RAID controllers
-KERNEL=="cciss!*|ida!*|rd!*", PROGRAM="/lib/udev/raid-devfs.sh %k", \
+KERNEL=="cciss!*|ida!*|rd!*", PROGRAM="raid-devfs.sh %k", \
NAME="%c{1}", SYMLINK+="%k"
# other block devices
@@ -41,11 +41,12 @@ BUS=="usb", KERNEL=="dabusb*", NAME="usb/%k"
BUS=="usb", KERNEL=="hiddev*", NAME="usb/%k"
BUS=="usb", KERNEL=="legousbtower*", NAME="usb/%k"
BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k"
-BUS=="usb", KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", \
+BUS=="usb", KERNEL=="ttyUSB*", \
+ SYSFS{product}=="Palm Handheld*|Handspring Visor", \
SYMLINK+="pilot"
# usbfs-like devices
-SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; B=$${K%%%%.*}; D=$${K#*.}; echo bus/usb/$$B/$$D'", \
+SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", \
NAME="%c"
# serial devices
@@ -67,7 +68,7 @@ KERNEL=="video[0-9]*", NAME="v4l/%k"
KERNEL=="radio[0-9]*", NAME="v4l/%k"
KERNEL=="vbi[0-9]*", NAME="v4l/%k"
KERNEL=="vtx[0-9]*", NAME="v4l/%k"
-KERNEL=="dvb*", PROGRAM="/bin/sh -c 'KNAME=%k; KNAME=$${KNAME#dvb}; A=$${KNAME%%%%.*}; D=$${KNAME#*.}; echo dvb/adapter$$A/$$D'", \
+KERNEL=="dvb*", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}", \
NAME="%c"
KERNEL=="fb[0-9]*", NAME="fb/%n"
KERNEL=="card[0-9]*", NAME="dri/%k"
@@ -141,6 +142,7 @@ KERNEL=="zap[0-9]*", NAME="zap/%n"
SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k"
SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k"
SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k"
+SUBSYSTEM=="aoe", KERNEL=="revalidate", NAME="etherd/%k"
# device mapper creates its own device nodes, so ignore these
KERNEL=="dm-[0-9]*", NAME=""
diff --git a/etc/udev/debian/hotplug.rules b/etc/udev/debian/hotplug.rules
index f4c99ec8eb..d592c5e9dc 100644
--- a/etc/udev/debian/hotplug.rules
+++ b/etc/udev/debian/hotplug.rules
@@ -1,24 +1,25 @@
ACTION!="add", GOTO="hotplug_not_add_event"
# check if the device has already been claimed by a driver
-ENV{PHYSDEVDRIVER}=="?*", GOTO="hotplug_driver_loaded"
+ENV{PHYSDEVDRIVER}=="?*", SUBSYSTEM!="input", GOTO="hotplug_driver_loaded"
# workarounds for kernels which lack $MODALIAS support
-SUBSYSTEM=="ieee1394", ENV{MODALIAS}!="?*", \
- IMPORT{program}="/lib/udev/modalias_ieee1394"
-SUBSYSTEM=="serio", ENV{MODALIAS}!="?*", \
- IMPORT{program}="/lib/udev/modalias_serio"
+SUBSYSTEM=="ieee1394", ENV{MODALIAS}!="?*", IMPORT{program}="modalias_ieee1394"
+SUBSYSTEM=="serio", ENV{MODALIAS}!="?*", IMPORT{program}="modalias_serio"
# load the drivers
ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"
-SUBSYSTEM=="ide", ENV{MODALIAS}!="?*", RUN+="/lib/udev/ide.agent"
-#SUBSYSTEM=="input", ENV{MODALIAS}!="?*", RUN+="/lib/udev/input.agent"
-SUBSYSTEM=="vio", ENV{MODALIAS}!="?*", RUN+="/lib/udev/vio.agent"
+SUBSYSTEM=="ide", ENV{MODALIAS}!="?*", RUN+="ide.agent"
+SUBSYSTEM=="vio", ENV{MODALIAS}!="?*", RUN+="vio.agent"
SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", RUN+="/bin/sh -c 'while read id; do /sbin/modprobe pnp:d$$id; done < /sys$devpath/id'"
SUBSYSTEM=="pcmcia_socket", RUN+="/sbin/modprobe pcmcia"
+# rules for subsystems which lack proper hotplug support
+#SUBSYSTEM=="i2o", RUN+="/sbin/modprobe i2o-block"
+#SUBSYSTEM=="mmc", RUN+="/sbin/modprobe mmc-block"
+
SUBSYSTEM=="scsi_device", SYSFS{type}=="0|7|14", RUN+="/sbin/modprobe sd_mod"
SUBSYSTEM=="scsi_device", SYSFS{type}=="1", RUN+="/sbin/modprobe osst", \
SYSFS{vendor}=="Onstream", SYSFS{model}!="ADR*"
@@ -26,7 +27,7 @@ SUBSYSTEM=="scsi_device", SYSFS{type}=="1", RUN+="/sbin/modprobe st", \
SYSFS{vendor}=="Onstream", SYSFS{model}=="ADR*"
SUBSYSTEM=="scsi_device", SYSFS{type}=="1", RUN+="/sbin/modprobe st", \
SYSFS{vendor}!="Onstream"
-SUBSYSTEM=="scsi_device", SYSFS{type}=="[345]", RUN+="/sbin/modprobe sr_mod"
+SUBSYSTEM=="scsi_device", SYSFS{type}=="[45]", RUN+="/sbin/modprobe sr_mod"
SUBSYSTEM=="scsi_device", SYSFS{type}=="[235689]", RUN+="/sbin/modprobe sg"
# From here on follows the hotplug agents which do not load modules
@@ -34,14 +35,14 @@ LABEL="hotplug_driver_loaded"
# FIXME: does a sane default exist?
#SUBSYSTEM=="scsi_device", SYSFS{idVendor}=="...", \
-# RUN+="/lib/udev/scsi-re-add"
+# RUN+="scsi-re-add"
-SUBSYSTEM=="firmware", RUN+="/lib/udev/firmware.agent"
+SUBSYSTEM=="firmware", RUN+="firmware.agent"
LABEL="hotplug_not_add_event"
SUBSYSTEM=="net", RUN+="/bin/sh -c '/lib/udev/net.agent &'"
# Log every event to /dev/hotplug.log (for debugging).
-#RUN+="/lib/udev/logger.agent"
+#RUN+="logger.agent"
diff --git a/etc/udev/debian/hotplugd.rules b/etc/udev/debian/hotplugd.rules
index d79ce85e52..cd30fa49ba 100644
--- a/etc/udev/debian/hotplugd.rules
+++ b/etc/udev/debian/hotplugd.rules
@@ -3,7 +3,6 @@ SUBSYSTEM=="drivers", OPTIONS="last_rule"
SUBSYSTEM=="module", OPTIONS="last_rule"
# compatibility support for the obsolete hotplug.d and dev.d directories
-# do not run the hotplug.d scripts when started from udevstart
-ENV{UDEVD_EVENT}=="1", RUN+="/lib/udev/udev_run_hotplugd"
-RUN+="/lib/udev/udev_run_devd"
+RUN+="udev_run_hotplugd $env{SUBSYSTEM}"
+RUN+="udev_run_devd $env{SUBSYSTEM}"
diff --git a/etc/udev/debian/permissions.rules b/etc/udev/debian/permissions.rules
index bc97566b57..b010353a22 100644
--- a/etc/udev/debian/permissions.rules
+++ b/etc/udev/debian/permissions.rules
@@ -1,95 +1,107 @@
-# workaround needed to make udevd wait for the "bus" link
-ACTION=="add", DEVPATH=="/devices/*", ENV{PHYSDEVBUS}=="?*", \
- WAIT_FOR_SYSFS="bus"
+ACTION!="add", GOTO="permissions_end"
+
+# workarounds needed to synchronize with sysfs
+DEVPATH=="/devices/*", ENV{PHYSDEVBUS}=="?*", WAIT_FOR_SYSFS="bus"
+SUBSYSTEM=="scsi", WAIT_FOR_SYSFS="ioerr_cnt"
+# only needed for kernels < 2.6.16
+SUBSYSTEM=="net", WAIT_FOR_SYSFS="address"
# default permissions for block devices
SUBSYSTEM=="block", GROUP="disk"
SUBSYSTEM=="block", SYSFS{removable}=="1", GROUP="floppy"
# IDE devices
-BUS=="ide", KERNEL=="hd[a-z]|pcd[0-9]*", ACTION=="add", \
- IMPORT{program}="/sbin/cdrom_id --export $tempnode"
+BUS=="ide", KERNEL=="hd[a-z]|pcd[0-9]*", DRIVER=="ide-cdrom|pcd", \
+ IMPORT{program}="cdrom_id --export $tempnode"
ENV{ID_CDROM}=="?*", GROUP="cdrom"
BUS=="ide", KERNEL=="ht[0-9]*", GROUP="tape"
BUS=="ide", KERNEL=="nht[0-9]*", GROUP="tape"
# SCSI devices
-BUS=="scsi", SYSFS{type}=="1", GROUP="tape"
-BUS=="scsi", SYSFS{type}=="5", GROUP="cdrom"
-BUS=="scsi", SYSFS{type}=="6", GROUP="scanner"
+BUS=="scsi", SYSFS{type}=="1", GROUP="tape"
+BUS=="scsi", SYSFS{type}=="3", SYSFS{vendor}=="HP", GROUP="scanner"
+BUS=="scsi", SYSFS{type}=="5", GROUP="cdrom"
+BUS=="scsi", SYSFS{type}=="6", GROUP="scanner"
# USB devices
BUS=="usb", KERNEL=="legousbtower*", MODE="0666"
-BUS=="usb", KERNEL=="lp[0-9]*", GROUP="lp"
+BUS=="usb", KERNEL=="lp[0-9]*", GROUP="lp"
# usbfs-like devices
-SUBSYSTEM=="usb_device", MODE="0664"
+SUBSYSTEM=="usb_device", MODE="0664"
+
+# iRiver music players
+SUBSYSTEM=="usb_device", GROUP="plugdev", \
+ SYSFS{idVendor}=="4102", SYSFS{idProduct}=="10[01][135789]"
# serial devices
-SUBSYSTEM=="tty", GROUP="dialout"
-SUBSYSTEM=="capi", GROUP="dialout"
-SUBSYSTEM=="slamr", GROUP="dialout"
+SUBSYSTEM=="tty", GROUP="dialout"
+SUBSYSTEM=="capi", GROUP="dialout"
+SUBSYSTEM=="slamr", GROUP="dialout"
+SUBSYSTEM=="zaptel", GROUP="dialout"
# vc devices (all members of the tty subsystem)
-KERNEL=="ptmx", MODE="0666", GROUP="root"
-KERNEL=="console", MODE="0600", GROUP="root"
-KERNEL=="tty", MODE="0666", GROUP="root"
-KERNEL=="tty[0-9]*", GROUP="root"
-KERNEL=="pty*", MODE="0666", GROUP="tty"
+KERNEL=="ptmx", MODE="0666", GROUP="root"
+KERNEL=="console", MODE="0600", GROUP="root"
+KERNEL=="tty", MODE="0666", GROUP="root"
+KERNEL=="tty[0-9]*", GROUP="root"
+KERNEL=="pty*", MODE="0666", GROUP="tty"
# video devices
-SUBSYSTEM=="video4linux", GROUP="video"
-SUBSYSTEM=="drm", GROUP="video"
-SUBSYSTEM=="dvb", GROUP="video"
-SUBSYSTEM=="em8300", GROUP="video"
-SUBSYSTEM=="graphics", GROUP="video"
-SUBSYSTEM=="nvidia", GROUP="video"
+SUBSYSTEM=="video4linux", GROUP="video"
+SUBSYSTEM=="drm", GROUP="video"
+SUBSYSTEM=="dvb", GROUP="video"
+SUBSYSTEM=="em8300", GROUP="video"
+SUBSYSTEM=="graphics", GROUP="video"
+SUBSYSTEM=="nvidia", GROUP="video"
# misc devices
-KERNEL=="random", MODE="0666"
-KERNEL=="urandom", MODE="0666"
-KERNEL=="mem", MODE="0640", GROUP="kmem"
-KERNEL=="kmem", MODE="0640", GROUP="kmem"
-KERNEL=="port", MODE="0640", GROUP="kmem"
-KERNEL=="full", MODE="0666"
-KERNEL=="null", MODE="0666"
-KERNEL=="zero", MODE="0666"
-KERNEL=="inotify", MODE="0666"
-KERNEL=="sgi_fetchop", MODE="0666"
-KERNEL=="sonypi", MODE="0666"
-KERNEL=="agpgart", GROUP="video"
-KERNEL=="nvram", GROUP="nvram"
-KERNEL=="rtc", GROUP="audio"
-KERNEL=="tpm*", MODE="0600", OWNER="tss", GROUP="tss"
-KERNEL=="fuse", GROUP="fuse"
-
-KERNEL=="cdemu[0-9]*", GROUP="cdrom"
-KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
-KERNEL=="pktcdvd", MODE="0644"
-
-KERNEL=="uverbs*", GROUP="rdma"
-KERNEL=="ucm*", GROUP="rdma"
+KERNEL=="random", MODE="0666"
+KERNEL=="urandom", MODE="0666"
+KERNEL=="mem", MODE="0640", GROUP="kmem"
+KERNEL=="kmem", MODE="0640", GROUP="kmem"
+KERNEL=="port", MODE="0640", GROUP="kmem"
+KERNEL=="full", MODE="0666"
+KERNEL=="null", MODE="0666"
+KERNEL=="zero", MODE="0666"
+KERNEL=="inotify", MODE="0666"
+KERNEL=="sgi_fetchop", MODE="0666"
+KERNEL=="sonypi", MODE="0666"
+KERNEL=="agpgart", GROUP="video"
+KERNEL=="nvram", GROUP="nvram"
+KERNEL=="rtc", GROUP="audio"
+KERNEL=="tpm*", MODE="0600", OWNER="tss", GROUP="tss"
+KERNEL=="fuse", GROUP="fuse"
+
+KERNEL=="cdemu[0-9]*", GROUP="cdrom"
+KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
+KERNEL=="pktcdvd", MODE="0644"
+
+KERNEL=="uverbs*", GROUP="rdma"
+KERNEL=="ucm*", GROUP="rdma"
# printers and parallel devices
-SUBSYSTEM=="printer", GROUP="lp"
-SUBSYSTEM=="ppdev", GROUP="lp"
-KERNEL=="pt[0-9]*", GROUP="tape"
-KERNEL=="pht[0-9]*", GROUP="tape"
+SUBSYSTEM=="printer", GROUP="lp"
+SUBSYSTEM=="ppdev", GROUP="lp"
+KERNEL=="pt[0-9]*", GROUP="tape"
+KERNEL=="pht[0-9]*", GROUP="tape"
# sound devices
-SUBSYSTEM=="sound", GROUP="audio"
+SUBSYSTEM=="sound", GROUP="audio"
# ieee1394 devices
-KERNEL=="raw1394", GROUP="disk"
-KERNEL=="dv1394*", GROUP="video"
-KERNEL=="video1394*", GROUP="video"
+KERNEL=="raw1394", GROUP="disk"
+KERNEL=="dv1394*", GROUP="video"
+KERNEL=="video1394*", GROUP="video"
# input devices
-KERNEL=="event[0-9]*", PROGRAM="/lib/udev/inputdev.sh %k", \
- RESULT=="inputdev", MODE="0664", GROUP="video"
-KERNEL=="js[0-9]*", MODE="0664"
+KERNEL=="event[0-9]*", SYSFS{name}=="*dvb*|*DVB*|* IR *" \
+ MODE="0664", GROUP="video"
+KERNEL=="js[0-9]*", MODE="0664"
# AOE character devices
-SUBSYSTEM=="aoe", MODE="0220", GROUP="disk"
-SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"
+SUBSYSTEM=="aoe", MODE="0220", GROUP="disk"
+SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"
+
+LABEL="permissions_end"
diff --git a/etc/udev/debian/persistent-input.rules b/etc/udev/debian/persistent-input.rules
new file mode 100644
index 0000000000..95021b1646
--- /dev/null
+++ b/etc/udev/debian/persistent-input.rules
@@ -0,0 +1,29 @@
+SUBSYSTEM!="input", GOTO="persistent_input_end"
+ACTION!="add", GOTO="persistent_input_end"
+# ignore the mid-level drivers
+KERNEL=="input[0-9]*", GOTO="persistent_input_end"
+
+# usb devices
+BUS=="usb", IMPORT{program}="usb_id -x"
+BUS=="usb", SYSFS{bInterfaceClass}="03", SYSFS{bInterfaceProtocol}="01", \
+ ENV{ID_CLASS}="kbd"
+BUS=="usb", SYSFS{bInterfaceClass}="03", SYSFS{bInterfaceProtocol}="02", \
+ ENV{ID_CLASS}="mouse"
+
+# by-id links, generic and for the event devices
+KERNEL=="mouse*", \
+ ENV{ID_BUS}=="?*", ENV{ID_SERIAL}=="?*", ENV{ID_CLASS}=="?*", \
+ SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_CLASS}"
+KERNEL=="event*", \
+ ENV{ID_BUS}=="?*", ENV{ID_SERIAL}=="?*", ENV{ID_CLASS}=="?*", \
+ SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-event-$env{ID_CLASS}"
+
+# by-path links
+IMPORT{program}="path_id %p"
+KERNEL=="mouse*", ENV{ID_PATH}=="?*", \
+ SYMLINK+="input/by-path/$env{ID_PATH}-$env{ID_CLASS}"
+KERNEL=="event*", ENV{ID_PATH}=="?*", \
+ SYMLINK+="input/by-path/$env{ID_PATH}-event-$env{ID_CLASS}"
+
+LABEL="persistent_input_end"
+
diff --git a/etc/udev/debian/persistent.rules b/etc/udev/debian/persistent.rules
index 4b591b02fa..7fc86246f3 100644
--- a/etc/udev/debian/persistent.rules
+++ b/etc/udev/debian/persistent.rules
@@ -8,30 +8,33 @@ ACTION!="add", GOTO="no_volume_id"
KERNEL=="ram*|loop*|fd*|nbd*", GOTO="no_volume_id"
# skip removable ide devices, because open(2) on them causes an events loop
-BUS=="ide", SYSFS{removable}=="1", DRIVER!="ide-cdrom", GOTO="no_volume_id"
+KERNEL=="hd*[!0-9]", SYSFS{removable}=="1", DRIVER=="ide-cs|ide-floppy", \
+ GOTO="no_volume_id"
+KERNEL=="hd*[0-9]", SYSFS{../removable}=="1", \
+ GOTO="no_volume_id"
# look for different kinds of unique identificators
KERNEL=="hd*[!0-9]", \
- IMPORT{program}="/sbin/ata_id --export $tempnode"
+ IMPORT{program}="ata_id --export $tempnode"
-KERNEL=="sd*[!0-9]|sr*", SYSFS{ieee1394_id}=="?*", \
+KERNEL=="sd*[!0-9]|sr*|st*", SYSFS{ieee1394_id}=="?*", \
ENV{ID_BUS}="ieee1394", ENV{ID_SERIAL}="$sysfs{ieee1394_id}"
-KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}=="", \
- IMPORT{program}="/sbin/usb_id -x"
-KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}=="", \
- IMPORT{program}="/sbin/scsi_id -g -x -s $devpath -d $tempnode"
-KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}=="", \
- IMPORT{program}="/sbin/scsi_id -g -x -a -s $devpath -d $tempnode"
+KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}=="", \
+ IMPORT{program}="usb_id -x"
+KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}=="", \
+ IMPORT{program}="scsi_id -g -x -s $devpath -d $tempnode"
+KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}=="", \
+ IMPORT{program}="scsi_id -g -x -a -s $devpath -d $tempnode"
KERNEL=="dasd*[!0-9]", \
- IMPORT{program}="/sbin/dasd_id --export $tempnode"
+ IMPORT{program}="dasd_id --export $tempnode"
-KERNEL=="*[!0-9]", SYSFS{removable}!="1", \
- IMPORT{program}="/sbin/edd_id --export $tempnode"
+KERNEL=="*[!0-9]", \
+ IMPORT{program}="edd_id --export $tempnode"
# find the physical path of the device
-KERNEL=="*[!0-9]|sr*", ENV{ID_TYPE}=="?*", \
- IMPORT{program}="/sbin/path_id $devpath"
+KERNEL=="*[!0-9]|sr*|st*", ENV{ID_TYPE}=="?*", \
+ IMPORT{program}="path_id $devpath"
# import the variables of partitions from the parent disks
KERNEL=="*[0-9]", IMPORT{parent}="ID_*"
@@ -44,6 +47,8 @@ KERNEL=="sd*[!0-9]|dasd[!0-9]*|sr*", ENV{ID_SERIAL}=="?*", \
SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
KERNEL=="sd*[0-9]|dasd*[0-9]", ENV{ID_SERIAL}=="?*", \
SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
+KERNEL=="st*", ENV{ID_SERIAL}=="?*", \
+ SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
KERNEL=="*[!0-9]", ENV{ID_EDD}=="?*", \
SYMLINK+="disk/by-id/edd-$env{ID_EDD}"
KERNEL=="*[0-9]", ENV{ID_EDD}=="?*", \
@@ -51,15 +56,22 @@ KERNEL=="*[0-9]", ENV{ID_EDD}=="?*", \
KERNEL=="*[!0-9]|sr*", ENV{ID_PATH}=="?*", \
SYMLINK+="disk/by-path/$env{ID_PATH}"
-KERNEL=="sr*", GOTO="no_volume_id"
+KERNEL=="st*", ENV{ID_PATH}=="?*", \
+ SYMLINK+="tape/by-path/$env{ID_PATH}"
+KERNEL=="sr*|st*", GOTO="no_volume_id"
KERNEL=="*[0-9]", ENV{ID_PATH}=="?*", \
SYMLINK+="disk/by-path/$env{ID_PATH}-part%n"
# UUID and volume label
KERNEL=="*[!0-9]", SYSFS{removable}=="1", GOTO="no_volume_id"
-IMPORT{program}="/sbin/vol_id --export $tempnode"
-ENV{ID_FS_UUID}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID}"
-ENV{ID_FS_LABEL_SAFE}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_SAFE}"
+IMPORT{program}="vol_id --export $tempnode"
+ENV{ID_FS_UUID}=="?*", ENV{ID_FS_USAGE}=="filesystem|other", \
+ SYMLINK+="disk/by-uuid/$env{ID_FS_UUID}"
+ENV{ID_FS_LABEL_SAFE}=="?*", ENV{ID_FS_USAGE}=="filesystem|other", \
+ SYMLINK+="disk/by-label/$env{ID_FS_LABEL_SAFE}"
+
+#KERNEL=="dm-[0-9]*", PROGRAM="/sbin/dmsetup info -c --noopencount --noheadings -o name -j %M -m %m", \
+# SYMLINK+="disk/by-name/%c"
# end of processing
LABEL="no_volume_id"
diff --git a/etc/udev/debian/udev.rules b/etc/udev/debian/udev.rules
index b5dfd00572..023337445c 100644
--- a/etc/udev/debian/udev.rules
+++ b/etc/udev/debian/udev.rules
@@ -27,11 +27,12 @@ BUS=="usb", KERNEL=="dabusb*", NAME="usb/%k"
BUS=="usb", KERNEL=="hiddev*", NAME="usb/%k"
BUS=="usb", KERNEL=="legousbtower*", NAME="usb/%k"
BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k"
-BUS=="usb", KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", \
+BUS=="usb", KERNEL=="ttyUSB*", \
+ SYSFS{product}=="Palm Handheld*|Handspring Visor", \
SYMLINK+="pilot"
# usbfs-like devices
-SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; B=$${K%%%%.*}; D=$${K#*.}; echo bus/usb/$$B/$$D'", \
+SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", \
NAME="%c"
# serial devices
@@ -39,7 +40,7 @@ KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20"
KERNEL=="capi[0-9]*", NAME="capi/%n"
# video devices
-KERNEL=="dvb*", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; A=$${K%%%%.*}; D=$${K#*.}; echo dvb/adapter$$A/$$D'", \
+KERNEL=="dvb*", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}", \
NAME="%c"
KERNEL=="card[0-9]*", NAME="dri/%k"
@@ -91,6 +92,7 @@ KERNEL=="zap[0-9]*", NAME="zap/%n"
SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k"
SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k"
SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k"
+SUBSYSTEM=="aoe", KERNEL=="revalidate", NAME="etherd/%k"
# device mapper creates its own device nodes, so ignore these
KERNEL=="dm-[0-9]*", NAME=""