# /etc/udev/udev.rules: device naming rules for udev # # 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. # # default is OWNER="root", GROUP="root", MODE="0660" # # sysfs is populated after the event is sent DEVPATH=="/devices/*", ACTION=="add", ENV{PHYSDEVBUS}=="?*", \ WAIT_FOR_SYSFS="bus" ACTION=="add", SUBSYSTEM=="net", ACTION=="add", \ WAIT_FOR_SYSFS="address" # ignore these events until someone needs them SUBSYSTEM=="drivers", OPTIONS="ignore_device" SUBSYSTEM=="module", OPTIONS="ignore_device" # all block devices SUBSYSTEM=="block", GROUP="disk" # disk devices #KERNEL=="sd*", GROUP="disk" #KERNEL=="ataraid*", GROUP="disk" KERNEL=="sg*", GROUP="disk" KERNEL=="hd[a-z]", PROGRAM="/bin/cat /proc/ide/%k/media", RESULT=="cdrom", \ SYMLINK+="cdrom%e dvd%e" KERNEL=="sr[0-9]*", SYMLINK+="cdrom%e dvd%e" KERNEL=="scd[0-9]*", SYMLINK+="cdrom%e dvd%e" KERNEL=="pcd[0-9]*", SYMLINK+="cdrom%e dvd%e" #KERNEL=="sg*", MODE="0666" KERNEL=="hd[a-z]", PROGRAM="/bin/cat /proc/ide/%k/media", RESULT=="cdrom", \ MODE="0666" #KERNEL=="sr[0-9]*", MODE="0666" #KERNEL=="scd[0-9]*", MODE="0666" #KERNEL=="pcd[0-9]*", MODE="0666" # floppy devices # KERNEL=="fd[0-3]*", GROUP="floppy" #KERNEL=="fd[0-3]", PROGRAM="/etc/udev/MAKEDEV.fd %k %M %m", GROUP="floppy" KERNEL=="fd[0-3]*", ACTION=="add", SYSFS{device/cmos}=="*", \ RUN+="create_floppy_devices -c -t $sysfs{device/cmos} -m %M /dev/%k", \ RUN+="/bin/sh -c 'chmod 0660 /dev/%k*; chgrp floppy /dev/%k*'" KERNEL=="fd[0-3]*", ACTION=="remove", RUN+="/bin/sh -c 'rm -f /dev/%k*'" # tape devices KERNEL=="ht*", GROUP="disk", SYMLINK+="rmt%e" KERNEL=="nht*", GROUP="disk", SYMLINK+="nrmt%e" KERNEL=="pt[0-9]*", GROUP="disk", SYMLINK+="rmt%e" KERNEL=="npt*", GROUP="disk", SYMLINK+="nrmt%e" KERNEL=="st*", GROUP="disk", SYMLINK+="rmt%e" KERNEL=="nst*", GROUP="disk", SYMLINK+="nrmt%e" KERNEL=="osst*", GROUP="disk", SYMLINK+="rmt%e" KERNEL=="nosst*", GROUP="disk", SYMLINK+="nrmt%e" # other scsi devices KERNEL=="sg[0-9]*", SYSFS{type}=="[36]", SYMLINK+="scanner%e" KERNEL=="sg[0-9]*", SYSFS{type}=="8", SYMLINK+="changer%e" # cpu devices KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid" KERNEL=="msr[0-9]*", NAME="cpu/%n/msr" KERNEL=="microcode", NAME="cpu/microcode" # dm devices (ignore them) KERNEL=="dm-[0-9]*", NAME="" # 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", SYMLINK+="%c" KERNEL=="device-mapper", NAME="mapper/control" # input devices KERNEL=="mice", NAME="input/%k", MODE="0644", SYMLINK+="mouse" KERNEL=="mouse*", NAME="input/%k", MODE="0644" KERNEL=="event*", NAME="input/%k", MODE="0644" KERNEL=="js*", NAME="input/%k", MODE="0644" KERNEL=="ts*", NAME="input/%k", MODE="0644" KERNEL=="kbd", MODE="0644" KERNEL=="psaux", MODE="0666" # sound devices KERNEL=="dsp*", MODE="0666" KERNEL=="audio*", MODE="0666" KERNEL=="mixer*", MODE="0666" KERNEL=="sequencer*", MODE="0666" KERNEL=="adsp*", MODE="0666" KERNEL=="amixer*", MODE="0666" KERNEL=="amidi*", MODE="0666" KERNEL=="controlC*", NAME="snd/%k", MODE="0666" KERNEL=="hw*", NAME="snd/%k", MODE="0666" KERNEL=="pcm*", NAME="snd/%k", MODE="0666" KERNEL=="midiC*", NAME="snd/%k", MODE="0666" KERNEL=="timer", NAME="snd/%k", MODE="0666" KERNEL=="seq", NAME="snd/%k", MODE="0666" # video devices KERNEL=="fb[0-9]*", GROUP="tty" KERNEL=="fb0" SYMLINK+="fb" KERNEL=="card*", NAME="dri/card%n", MODE="0666" KERNEL=="nvidia*", MODE="0666" KERNEL=="3dfx*", MODE="0666" # console devices KERNEL=="console", GROUP="tty", MODE="0600" KERNEL=="tty", GROUP="tty", MODE="0666" KERNEL=="tty[0-9]*", GROUP="tty", MODE="0622" KERNEL=="tty0", SYMLINK+="systty" KERNEL=="vcs[0-9]*", GROUP="tty", MODE="0622" KERNEL=="vcsa[0-9]*", GROUP="tty", MODE="0622" # pty devices KERNEL=="ptmx", GROUP="tty", MODE="0666" KERNEL=="pty[p-za-e][0-9a-f]*", GROUP="tty", MODE="0666" KERNEL=="tty[p-za-e][0-9a-f]*", GROUP="tty", MODE="0666" # serial devices KERNEL=="ttyS[0-9]*", GROUP="tty" KERNEL=="ttyUSB[0-9]*", NAME="usb/%k", GROUP="tty" BUS=="usb", KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", \ SYMLINK+=="pilot" KERNEL=="ippp*", GROUP="tty" KERNEL=="isdn*", GROUP="tty" KERNEL=="ircomm*", GROUP="tty" # parallel devices BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/usblp%n", GROUP="lp" KERNEL=="usblp*", NAME="usb/%k", GROUP="lp" KERNEL=="lp*", GROUP="lp" KERNEL=="irlpt", GROUP="lp" # memory devices KERNEL=="random", MODE="0644" KERNEL=="urandom", MODE="0644" KERNEL=="mem", GROUP="kmem", MODE="0640" KERNEL=="kmem", GROUP="kmem", MODE="0640" KERNEL=="port", GROUP="kmem", MODE="0640" KERNEL=="full", GROUP="sys", MODE="0666" KERNEL=="null", GROUP="sys", MODE="0666", SYMLINK+="X0R" KERNEL=="zero", GROUP="sys", MODE="0666" # usb devices KERNEL=="hiddev*", NAME="usb/%k", MODE="0644" KERNEL=="auer*", NAME="usb/%k", MODE="0644" KERNEL=="legousbtower*", NAME="usb/%k", MODE="0644" KERNEL=="dabusb*", NAME="usb/%k", MODE="0644" # v4l devices KERNEL=="video[0-9]*", MODE="0644" KERNEL=="video0", SYMLINK+="video" KERNEL=="radio[0-9]*", MODE="0644" KERNEL=="radio0", SYMLINK+="radio" KERNEL=="vbi[0-9]*", MODE="0644" KERNEL=="vbi0", SYMLINK+="vbi" KERNEL=="vtx[0-9]*", MODE="0644" # misc devices KERNEL=="rtc", MODE="0644" KERNEL=="nvram", MODE="0644" KERNEL=="sonypi", MODE="0666" # usb event devices SUBSYSTEM=="usb_device", PROGRAM="usb_evdev %k", NAME="%c", MODE="644" # load scsi modules SUBSYSTEM=="scsi", ACTION=="add", SYSFS{type}=="0|7|14", \ RUN+="/bin/sh -c 'echo 60 > /sys$$DEVPATH/timeout'" SUBSYSTEM=="scsi", ACTION=="add", SYSFS{type}=="1", \ RUN+="/bin/sh -c 'echo 900 > /sys$$DEVPATH/timeout'" SUBSYSTEM=="scsi_device", ACTION=="add", SYSFS{type}=="[2345689]|1[^4]", \ RUN+="/sbin/modprobe sg" SUBSYSTEM=="scsi_device", ACTION=="add", SYSFS{type}=="0|7|14", \ RUN+="/sbin/modprobe sd_mod" SUBSYSTEM=="scsi_device", ACTION=="add", SYSFS{type}=="[45]", \ RUN+="/sbin/modprobe sr_mod" SUBSYSTEM=="scsi_device", ACTION=="add", SYSFS{type}=="1", \ SYSFS{device/vendor}=="On[sS]tream", SYSFS{model}!="ADR*", \ RUN+="/sbin/modprobe osst" SUBSYSTEM=="scsi_device", ACTION=="add", SYSFS{type}=="1", \ SYSFS{device/vendor}=="On[sS]tream", SYSFS{model}=="ADR*", \ RUN+="/sbin/modprobe st" SUBSYSTEM=="scsi_device", ACTION=="add", SYSFS{type}=="1", \ SYSFS{device/vendor}!="On[sS]tream", \ RUN+="/sbin/modprobe st" SUBSYSTEM=="scsi_device", ACTION=="remove", RUN+="cleanup_scsidev" # pass events to the hotplug agent SUBSYSTEM=="drivers", OPTIONS="last_rule" SUBSYSTEM=="module", OPTIONS="last_rule" RUN+="/sbin/hotplug.murasaki $env{SUBSYSTEM}" # RUN+="/dev/.hotplug.agent $env{SUBSYSTEM}"