+# do not edit this file, it will be overwritten on update
+
# /etc/udev/rules/50-udev.rules: device naming rules for udev
#
# Gentoo specific rules
#
-# There are a number of modifiers that are allowed to be used in some of the
-# fields. See the udev man page for a full description of them.
-#
-# Try not to modify this file, if you wish to change things, create a new rule
-# file that can be run before this one.
-#
# Net devices can have arbitrary names, even
# ones set by the user. Not try to match normal
# cdrom symlinks and other good cdrom naming
KERNEL=="sr[0-9]*|hd[a-z]|pcd[0-9]*", ACTION=="add", IMPORT{program}="cdrom_id --export $tempnode"
ENV{ID_CDROM}=="?*", GROUP="cdrom"
+SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n"
# assign cdrom-permission also to associated generic device (for cd-burning ...)
KERNEL=="sg[0-9]*", ACTION=="add", ATTRS{type}=="4|5", GROUP="cdrom"
KERNEL=="tap*", NAME="netlink/%k"
# network devices
-KERNEL=="tun", NAME="net/%k", MODE="0600"
+KERNEL=="tun", NAME="net/%k", MODE="0660", OPTIONS+="ignore_remove"
+KERNEL=="ppp", MODE="0600", OPTIONS+="ignore_remove"
# ramdisk devices
KERNEL=="ram[0-9]*", NAME="rd/%n", SYMLINK+="%k"
KERNEL=="issm*", NAME="infiniband/%k"
-# usbfs-like device nodes
-SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="usb", MODE="0664"
+SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", \
+ NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", GROUP="usb", MODE="0664"
-
-# Setting timeout for tape-devices to 900 seconds
+# Timeouts for scsi devices
+# Setting timeout for tape-devices (type 1) to 900 seconds
+# and 60 seconds for device types 0, 7 and 14
# if you need timeouts for other devices add a similar rule
# with correct type-value, or open a bug on bugs.gentoo.org.
-ACTION=="add", SUBSYSTEM=="scsi" , ATTRS{type}=="1", \
- RUN+="/bin/sh -c 'echo 900 > /sys$$DEVPATH/timeout'"
-
-
-# Module autoloading
-ACTION!="add", GOTO="hotplug_no_add_event"
-
-# check if the device has already been claimed by a driver
-ENV{DRIVER}=="?*", SUBSYSTEM!="input", GOTO="hotplug_load_end"
-
-# this driver is broken and should not be loaded automatically
-SUBSYSTEM=="platform", ENV{MODALIAS}=="i82365", GOTO="hotplug_load_end"
-
-# Autoload modules that lack aliases but have them defined inutoload modules
-ENV{MODALIAS}=="?*", RUN+="modprobe.sh $env{MODALIAS}"
-
-# /etc/modprobe.conf.
-SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", RUN+="/bin/sh -c 'while read id; do /lib/udev/modprobe.sh pnp:d$$id; done < /sys$devpath/id'"
-# needed aliases are defined in /etc/modprobe.d/pnp-aliases
-
-
-SUBSYSTEM=="i2o", RUN+="modprobe.sh i2o_block"
-SUBSYSTEM=="mmc", RUN+="modprobe.sh mmc_block"
-
-# Parts taken from redhat-rules
-# sd: 0 TYPE_DISK, 7 TYPE_MOD, 14 TYPE_RBC
-# sr: 4 TYPE_WORM, 5 TYPE_ROM
-# st/osst: 1 TYPE_TAPE
-
-# Load driver for scsi-device
-SUBSYSTEM!="scsi_device", GOTO="hotplug_scsi_end"
-ATTRS{type}=="?*", RUN+="modprobe.sh sg"
-ATTRS{type}=="0|7|14", RUN+="modprobe.sh sd_mod"
-ATTRS{type}=="4|5", RUN+="modprobe.sh sr_mod"
-ATTRS{type}=="8", RUN+="modprobe.sh ch"
-
-ATTRS{type}=="1", ENV{ID_SCSI_TAPE_DRIVER}="st"
-ATTRS{type}=="1", ATTRS{vendor}=="On[sS]tream", \
- ATTRS{model}!="ADR*", ENV{ID_SCSI_TAPE_DRIVER}="osst"
-ENV{ID_SCSI_TAPE_DRIVER}=="?*", RUN+="modprobe.sh $env{ID_SCSI_TAPE_DRIVER}"
-LABEL="hotplug_scsi_end"
-
-
-SUBSYSTEM=="ide", ATTR{media}=="tape", RUN+="modprobe.sh ide-scsi"
-
-LABEL="hotplug_load_end"
+SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="0|7|14", ATTR{timeout}="60"
+SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="1", ATTR{timeout}="900"
# Load firmware
-SUBSYSTEM=="firmware", RUN+="firmware.sh"
-
-LABEL="hotplug_no_add_event"
+SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh"
LABEL="gentoo_device_rules_end"