1 |
# /etc/udev/rules/50-udev.rules: device naming rules for udev |
# /etc/udev/rules/50-udev.rules: device naming rules for udev |
2 |
# $Header: /root/magellan-cvs/src/udev/udev.rules.magellan,v 1.1 2007-03-21 16:48:37 niro Exp $ |
# $Header: /root/magellan-cvs/src/udev/udev.rules.magellan,v 1.2 2007-05-17 19:24:29 niro Exp $ |
3 |
# |
# |
4 |
# There are a number of modifiers that are allowed to be used in some |
# There are a number of modifiers that are allowed to be used in some |
5 |
# of the different fields. They provide the following subsitutions: |
# of the different fields. They provide the following subsitutions: |
42 |
SUBSYSTEM=="block", GROUP="disk" |
SUBSYSTEM=="block", GROUP="disk" |
43 |
|
|
44 |
# cdrom symlinks and other good cdrom naming |
# cdrom symlinks and other good cdrom naming |
45 |
BUS=="ide", KERNEL=="hd[a-z]", ACTION=="add", IMPORT="cdrom_id --export $tempnode" |
KERNEL=="sr[0-9]*|hd[a-z]|pcd[0-9]*", ACTION=="add", IMPORT{program}="cdrom_id --export $tempnode" |
46 |
BUS=="scsi", KERNEL=="sr[0-9]*", ACTION=="add", IMPORT="cdrom_id --export $tempnode" |
ENV{ID_CDROM}=="?*", GROUP="cdrom" |
|
BUS=="scsi", KERNEL=="scd[a-z]", ACTION=="add", IMPORT="cdrom_id --export $tempnode" |
|
|
BUS=="scsi", KERNEL=="sg[0-9]*", ACTION=="add", DRIVERS=="sr", GROUP="cdrom" |
|
|
ENV{ID_CDROM}=="?*", PROGRAM="seq_node.sh %r %k cdrom", SYMLINK+="%c", GROUP="cdrom" |
|
|
ENV{ID_CDROM_CD_RW}=="?*", PROGRAM="seq_node.sh %r %k cdrw", SYMLINK+="%c" |
|
|
ENV{ID_CDROM_DVD}=="?*", PROGRAM="seq_node.sh %r %k dvd", SYMLINK+="%c" |
|
|
ENV{ID_CDROM_DVD_R}=="?*", PROGRAM="seq_node.sh %r %k dvdrw", SYMLINK+="%c" |
|
47 |
|
|
48 |
|
# assign cdrom-permission also to associated generic device (for cd-burning ...) |
49 |
|
KERNEL=="sg[0-9]*", ACTION=="add", ATTRS{type}=="4|5", GROUP="cdrom" |
50 |
|
|
51 |
# disk devices |
# disk devices |
52 |
KERNEL=="sd*", NAME="%k", GROUP="disk" |
KERNEL=="sd*", NAME="%k", GROUP="disk" |
83 |
KERNEL=="msr[0-9]*", NAME="cpu/%n/msr" |
KERNEL=="msr[0-9]*", NAME="cpu/%n/msr" |
84 |
KERNEL=="microcode", NAME="cpu/microcode" |
KERNEL=="microcode", NAME="cpu/microcode" |
85 |
|
|
|
# dm devices (ignore them) |
|
|
KERNEL=="dm-[0-9]*", OPTIONS="ignore_device" |
|
|
# create a symlink named after the device map name |
|
|
# note devmap_name comes with extras/multipath |
|
|
#KERNEL=="dm-[0-9]*", PROGRAM="/sbin/devmap_name %M %m", NAME="%k", SYMLINK+="%c" |
|
|
KERNEL=="device-mapper", NAME="mapper/control" |
|
|
|
|
86 |
# fb devices |
# fb devices |
87 |
KERNEL=="fb[0-9]*", NAME="fb/%n", SYMLINK+="%k", GROUP="video" |
KERNEL=="fb[0-9]*", NAME="fb/%n", SYMLINK+="%k", GROUP="video" |
88 |
|
|
89 |
# floppy devices |
# floppy devices |
90 |
KERNEL=="fd[0-9]*", NAME="floppy/%n", SYMLINK+="%k", GROUP="floppy" |
KERNEL=="fd[0-9]*", NAME="floppy/%k", SYMLINK+="%k", GROUP="floppy" |
91 |
|
KERNEL=="fd[0-9]*", ACTION=="add", ATTRS{cmos}=="*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0660 -G floppy $root/floppy/%k" |
92 |
|
KERNEL=="fd[0-9]*", ACTION=="remove", RUN+="/bin/sh -c 'rm -f $root/floppy/%k?*'" |
93 |
|
|
94 |
# i2c devices |
# i2c devices |
95 |
KERNEL=="i2c-[0-9]*", NAME="i2c/%n", SYMLINK+="%k" |
KERNEL=="i2c-[0-9]*", NAME="i2c/%n", SYMLINK+="%k" |
98 |
KERNEL=="mice", NAME="input/%k", MODE="0644" |
KERNEL=="mice", NAME="input/%k", MODE="0644" |
99 |
KERNEL=="mouse*", NAME="input/%k", MODE="0644" |
KERNEL=="mouse*", NAME="input/%k", MODE="0644" |
100 |
KERNEL=="event*", NAME="input/%k", MODE="0600" |
KERNEL=="event*", NAME="input/%k", MODE="0600" |
101 |
KERNEL=="js*", NAME="input/%k", MODE="664" |
KERNEL=="js*", NAME="input/%k", MODE="0664" |
102 |
KERNEL=="ts*", NAME="input/%k", MODE="0600" |
KERNEL=="ts*", NAME="input/%k", MODE="0600" |
103 |
|
|
104 |
# loop devices |
# loop devices |
145 |
KERNEL=="video1394*", NAME="video1394/%n", GROUP="video" |
KERNEL=="video1394*", NAME="video1394/%n", GROUP="video" |
146 |
|
|
147 |
# raw devices |
# raw devices |
148 |
KERNEL=="raw[0-9]*", NAME="raw/%k", GROUP="disk" |
SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", NAME="raw/%k", GROUP="disk" |
149 |
KERNEL=="ram*", NAME="%k", GROUP="disk" |
KERNEL=="ram*", NAME="%k", GROUP="disk" |
150 |
|
|
151 |
# sound devices |
# sound devices |
175 |
KERNEL=="auer*", NAME="usb/%k" |
KERNEL=="auer*", NAME="usb/%k" |
176 |
KERNEL=="legousbtower*", NAME="usb/%k", GROUP="usb" |
KERNEL=="legousbtower*", NAME="usb/%k", GROUP="usb" |
177 |
KERNEL=="dabusb*", NAME="usb/%k" |
KERNEL=="dabusb*", NAME="usb/%k" |
178 |
BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k", GROUP="lp" |
KERNEL=="lp[0-9]*", SUBSYSTEM=="usb", NAME="usb/%k", GROUP="lp" |
179 |
|
|
180 |
# v4l devices |
# v4l devices |
181 |
KERNEL=="video[0-9]*", NAME="v4l/video%n", SYMLINK+="video%n", GROUP="video" |
KERNEL=="video[0-9]*", NAME="v4l/video%n", SYMLINK+="video%n", GROUP="video" |
245 |
|
|
246 |
|
|
247 |
# usbfs-like device nodes |
# usbfs-like device nodes |
248 |
SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0644" |
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" |
249 |
|
|
250 |
|
|
251 |
# Setting timeout for tape-devices to 900 seconds |
# Setting timeout for tape-devices to 900 seconds |
253 |
# with correct type-value, or open a bug on bugs.gentoo.org. |
# with correct type-value, or open a bug on bugs.gentoo.org. |
254 |
ACTION=="add", SUBSYSTEM=="scsi" , ATTRS{type}=="1", RUN+="/bin/sh -c 'echo 900 > /sys$$DEVPATH/timeout'" |
ACTION=="add", SUBSYSTEM=="scsi" , ATTRS{type}=="1", RUN+="/bin/sh -c 'echo 900 > /sys$$DEVPATH/timeout'" |
255 |
|
|
|
# assign cdrom-permission also to associated generic device (for cd-burning ...) |
|
|
KERNEL=="sg[0-9]*", ACTION=="add", ATTRS{type}=="4|5", GROUP="cdrom" |
|
|
|
|
256 |
|
|
257 |
# Module autoloading |
# Module autoloading |
258 |
|
ACTION!="add", GOTO="hotplug_no_add_event" |
259 |
|
|
260 |
|
# check if the device has already been claimed by a driver |
261 |
|
ENV{DRIVER}=="?*", SUBSYSTEM!="input", GOTO="hotplug_load_end" |
262 |
|
|
263 |
# this driver is broken and should not be loaded automatically |
# this driver is broken and should not be loaded automatically |
264 |
SUBSYSTEM=="platform", ENV{MODALIAS}=="i82365", GOTO="module_load_end" |
SUBSYSTEM=="platform", ENV{MODALIAS}=="i82365", GOTO="hotplug_load_end" |
265 |
|
|
266 |
# Autoload modules that lack aliases but have them defined inutoload modules |
# Autoload modules that lack aliases but have them defined inutoload modules |
267 |
ENV{MODALIAS}=="?*", ACTION=="add", RUN+="modprobe.sh $env{MODALIAS}" |
ENV{MODALIAS}=="?*", RUN+="modprobe.sh $env{MODALIAS}" |
268 |
|
|
269 |
# /etc/modprobe.conf. |
# /etc/modprobe.conf. |
270 |
SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", RUN+="/bin/sh -c 'while read id; do modprobe.sh pnp:d$$id; done < /sys$devpath/id'" |
SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", RUN+="/bin/sh -c 'while read id; do /lib/udev/modprobe.sh pnp:d$$id; done < /sys$devpath/id'" |
271 |
# If you have problems with some pnp modules being loaded, please enter the |
# needed aliases are defined in /etc/modprobe.d/pnp-aliases |
|
# following aliases into the modprobe configuration files. These are needed by |
|
|
# udev to autoload some modules |
|
|
# alias pnp:dPNP0510 irtty-sir |
|
|
# alias pnp:dPNP0511 irtty-sir |
|
|
# alias pnp:dPNP0700 floppy |
|
|
# alias pnp:dPNP0800 pcspkr |
|
|
# alias pnp:dPNP0b00 rtc |
|
|
# alias pnp:dPNP0303 atkbd |
|
|
# alias pnp:dPNP0f13 psmouse |
|
|
# alias pnp:dPNPb02f analog |
|
272 |
|
|
273 |
|
|
274 |
SUBSYSTEM=="i2o", ACTION=="add", RUN+="modprobe.sh i2o_block" |
SUBSYSTEM=="i2o", RUN+="modprobe.sh i2o_block" |
275 |
SUBSYSTEM=="mmc", ACTION=="add", RUN+="modprobe.sh mmc_block" |
SUBSYSTEM=="mmc", RUN+="modprobe.sh mmc_block" |
276 |
|
|
277 |
# Parts taken from redhat-rules |
# Parts taken from redhat-rules |
278 |
# sd: 0 TYPE_DISK, 7 TYPE_MOD, 14 TYPE_RBC |
# sd: 0 TYPE_DISK, 7 TYPE_MOD, 14 TYPE_RBC |
280 |
# st/osst: 1 TYPE_TAPE |
# st/osst: 1 TYPE_TAPE |
281 |
|
|
282 |
# Load driver for scsi-device |
# Load driver for scsi-device |
283 |
ACTION=="add", SUBSYSTEM=="scsi_device", RUN+="modprobe.sh sg" |
SUBSYSTEM!="scsi_device", GOTO="hotplug_scsi_end" |
284 |
ACTION=="add", SUBSYSTEM=="scsi_device", ATTRS{type}=="0|7|14", RUN+="modprobe.sh sd_mod" |
ATTRS{type}=="?*", RUN+="modprobe.sh sg" |
285 |
ACTION=="add", SUBSYSTEM=="scsi_device", ATTRS{type}=="4|5", RUN+="modprobe.sh sr_mod" |
ATTRS{type}=="0|7|14", RUN+="modprobe.sh sd_mod" |
286 |
ACTION=="add", SUBSYSTEM=="scsi_device", ATTRS{type}=="8", RUN+="modprobe.sh ch" |
ATTRS{type}=="4|5", RUN+="modprobe.sh sr_mod" |
287 |
|
ATTRS{type}=="8", RUN+="modprobe.sh ch" |
288 |
|
|
289 |
ACTION=="add", SUBSYSTEM=="scsi_device", ATTRS{type}=="1", ENV{ID_SCSI_TAPE_DRIVER}="st" |
ATTRS{type}=="1", ENV{ID_SCSI_TAPE_DRIVER}="st" |
290 |
ACTION=="add", SUBSYSTEM=="scsi_device", ATTRS{type}=="1", ATTRS{vendor}=="On[sS]tream", ATTRS{model}!="ADR*", ENV{ID_SCSI_TAPE_DRIVER}="osst" |
ATTRS{type}=="1", ATTRS{vendor}=="On[sS]tream", ATTRS{model}!="ADR*", ENV{ID_SCSI_TAPE_DRIVER}="osst" |
291 |
ENV{ID_SCSI_TAPE_DRIVER}=="?*", RUN+="modprobe.sh $env{ID_SCSI_TAPE_DRIVER}" |
ENV{ID_SCSI_TAPE_DRIVER}=="?*", RUN+="modprobe.sh $env{ID_SCSI_TAPE_DRIVER}" |
292 |
|
LABEL="hotplug_scsi_end" |
293 |
|
|
294 |
SUBSYSTEM=="ide", ACTION=="add", ATTR{media}=="tape", RUN+="modprobe.sh ide-scsi" |
SUBSYSTEM=="ide", ATTR{media}=="tape", RUN+="modprobe.sh ide-scsi" |
295 |
|
|
296 |
LABEL="module_load_end" |
LABEL="hotplug_load_end" |
297 |
|
|
298 |
# Load firmware |
# Load firmware |
299 |
SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh" |
SUBSYSTEM=="firmware", RUN+="firmware.sh" |
|
|
|
|
# be backward compatible for a while with the /etc/dev.d and /etc/hotplug.d/ systems |
|
|
# run /etc/hotplug.d/ stuff only if we came from a hotplug event, not for udevstart |
|
|
#ENV{UDEVD_EVENT}=="1", RUN+="udev_run_hotplugd $env{SUBSYSTEM}" |
|
|
|
|
|
# always run /etc/dev.d/ stuff for now. |
|
|
RUN+="udev_run_devd $env{SUBSYSTEM}" |
|
300 |
|
|
301 |
# debugging monitor |
LABEL="hotplug_no_add_event" |
|
RUN+="socket:/org/kernel/udev/monitor" |
|