# There are a number of modifiers that are allowed to be used in some # of the different fields. They provide the following subsitutions: # # %n the "kernel number" of the device. # For example, 'sda3' has a "kernel number" of '3' # %e the smallest number for that name which does not matches an existing node # %k the kernel name for the device. # %M the kernel major number for the device # %m the kernel minor number for the device # %b the bus id for the device # %c the string returned by the PROGRAM # %s{filename} the content of a sysfs attribute. # %% the '%' char itself. # # default permissions for block devices SUBSYSTEM="block", GROUP="disk" SUBSYSTEM="block", SYSFS{removable}="1", GROUP="floppy" # workaround for devices which do not report media changes BUS="ide", KERNEL="hd[a-z]", SYSFS{removable}="1", \ PROGRAM="/bin/cat /proc/ide/%k/model", RESULT="IOMEGA ZIP *", \ NAME{all_partitions}="%k%n", GROUP="floppy" # IDE devices BUS="ide", KERNEL="hd[a-z]", SYSFS{removable}="1", \ PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="cdrom*", \ GROUP="cdrom" BUS="ide", KERNEL="hd[a-z]", SYSFS{removable}="1", \ PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="floppy*", \ GROUP="floppy" BUS="ide", KERNEL="hd[a-z]*", \ PROGRAM="/etc/udev/scripts/ide-devfs.sh %k %b %n", \ NAME="%c{1}", SYMLINK="%k %c{2}" BUS="ide", KERNEL="ht[0-9]*", GROUP="tape" BUS="ide", KERNEL="nht[0-9]*", GROUP="tape" # SCSI devices BUS="scsi", KERNEL="sd[a-z]", \ PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \ NAME="%c{1}", SYMLINK="%k %c{2}" BUS="scsi", KERNEL="sd[a-z][0-9]*", \ PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \ NAME="%c{1}", SYMLINK="%k %c{2}" BUS="scsi", KERNEL="sd[a-i][a-z]", \ PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \ NAME="%c{1}", SYMLINK="%k %c{2}" BUS="scsi", KERNEL="sd[a-i][a-z][0-9]*", \ PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \ NAME="%c{1}", SYMLINK="%k %c{2}" BUS="scsi", KERNEL="s[gr][0-9]*", SYSFS{type}="5", \ PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \ NAME="%c{1}", SYMLINK="%k %c{2}", GROUP="cdrom" BUS="scsi", KERNEL="sr[0-9]*", \ PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \ NAME="%c{1}", SYMLINK="%k %c{2}", GROUP="cdrom" BUS="scsi", KERNEL="sg[0-9]*", \ PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \ NAME="%c{1}", SYMLINK="%k %c{2}" BUS="scsi", KERNEL="st[0-9]*", \ PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \ NAME="%c{1}", SYMLINK="%k %c{2}", GROUP="tape" BUS="scsi", KERNEL="nst[0-9]*", \ PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \ NAME="%c{1}", SYMLINK="%k %c{2}", GROUP="tape" # RAID controllers KERNEL="cciss!*", PROGRAM="/etc/udev/scripts/raid-devfs.sh %k", \ NAME="%c{1}", SYMLINK="%k" KERNEL="ida!*", PROGRAM="/etc/udev/scripts/raid-devfs.sh %k", \ NAME="%c{1}", SYMLINK="%k" KERNEL="rd!*", PROGRAM="/etc/udev/scripts/raid-devfs.sh %k", \ NAME="%c{1}", SYMLINK="%k" # other block devices KERNEL="md[0-9]*", NAME="md/%n", KERNEL="loop[0-9]*", NAME="loop/%n" KERNEL="ram[0-9]*", NAME="rd/%n" # USB devices BUS="usb", KERNEL="hiddev*", NAME="usb/%k" BUS="usb", KERNEL="auer[0-9]*", NAME="usb/%k" BUS="usb", KERNEL="legousbtower*", NAME="usb/%k", MODE="0666" BUS="usb", KERNEL="dabusb*", NAME="usb/%k" BUS="usb", KERNEL="cpad[0-9]*", NAME="usb/%k" BUS="usb", KERNEL="ttyUSB*", SYSFS{product}="Palm Handheld*", SYMLINK="pilot" # serial devices SUBSYSTEM="tty", GROUP="dialout" KERNEL="ttyS[0-9]*", NAME="tts/%n" KERNEL="ttyUSB[0-9]*", NAME="tts/USB%n" KERNEL="rfcomm[0-9]*", NAME="bluetooth/rfcomm/%n", KERNEL="capi", NAME="capi20", SYMLINK="isdn/capi20" KERNEL="capi[0-9]*", NAME="capi/%n" # vc devices KERNEL="ptmx", MODE="0666" KERNEL="tty", MODE="0666" KERNEL="tty[0-9]*", NAME="vc/%n" KERNEL="vcs", NAME="vcc/0" KERNEL="vcs[0-9]*", NAME="vcc/%n" KERNEL="vcsa", NAME="vcc/a0" KERNEL="vcsa[0-9]*", NAME="vcc/a%n" # video devices SUBSYSTEM="video4linux", GROUP="video" 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="/etc/udev/scripts/dvb.sh %k", \ NAME="%c", GROUP="video" KERNEL="fb[0-9]*", NAME="fb/%n", GROUP="video" KERNEL="nvidia*", GROUP="video" KERNEL="card[0-9]*", NAME="dri/%k", GROUP="video" # misc devices KERNEL="random", MODE="0666" KERNEL="urandom", MODE="0444" 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="apm_bios", NAME="misc/%k", KERNEL="agpgart", NAME="misc/%k", GROUP="video" KERNEL="nvram", NAME="misc/%k", GROUP="nvram" KERNEL="psaux", NAME="misc/%k" KERNEL="rtc", NAME="misc/%k", MODE="0644", GROUP="audio" KERNEL="hw_random", NAME="hwrng" # printers and parallel devices SUBSYSTEM="printer", GROUP="lp" BUS="usb", KERNEL="lp[0-9]*", NAME="usb/%k" KERNEL="lp[0-9]*", NAME="printers/%n" KERNEL="pt[0-9]*", GROUP="tape" KERNEL="pht[0-9]*", GROUP="tape" KERNEL="i2c-[0-9]*", NAME="i2c/%n" KERNEL="fd[0-9]*", NAME="floppy/%n", GROUP="floppy" KERNEL="cdemu[0-9]*", NAME="cdemu/%n", GROUP="cdrom" KERNEL="pktcdvd[0-9]*", NAME="pktcdvd/%n", GROUP="cdrom" KERNEL="pktcdvd", NAME="pktcdvd/control", MODE="0644" KERNEL="cpu[0-9]*", NAME="cpu/%n/cpuid" KERNEL="msr[0-9]*", NAME="cpu/%n/msr" KERNEL="microcode", NAME="cpu/microcode" KERNEL="umad*", NAME="infiniband/%k" KERNEL="issm*", NAME="infiniband/%k" KERNEL="tap[0-9]*", NAME="net/%k" KERNEL="tun", NAME="net/%k" # sound devices SUBSYSTEM="sound", GROUP="audio" KERNEL="controlC[0-9]*", NAME="snd/%k" KERNEL="hwC[D0-9]*", NAME="snd/%k" KERNEL="pcmC[D0-9cp]*", NAME="snd/%k" KERNEL="midiC[D0-9]*", NAME="snd/%k" KERNEL="timer", NAME="snd/%k" KERNEL="seq", NAME="snd/%k" KERNEL="audio*", NAME="sound/%k" KERNEL="dsp*", NAME="sound/%k" KERNEL="adsp*", NAME="sound/%k" KERNEL="midi*", NAME="sound/%k" KERNEL="mixer*", NAME="sound/%k" KERNEL="sequencer*", NAME="sound/%k" KERNEL="amidi*", NAME="sound/%k" KERNEL="dmmidi*", NAME="sound/%k" KERNEL="admmidi*", NAME="sound/%k" # input devices KERNEL="mice", NAME="input/%k" KERNEL="mouse[0-9]*", NAME="input/%k" KERNEL="event[0-9]*", NAME="input/%k", \ PROGRAM="/etc/udev/scripts/inputdev.sh %k", RESULT="inputdev", \ MODE="0664", GROUP="video" KERNEL="event[0-9]*", NAME="input/%k" KERNEL="js[0-9]*", NAME="input/%k", MODE="0664" KERNEL="ts[0-9]*", NAME="input/%k" KERNEL="uinput", NAME="input/%k" # Zaptel KERNEL="zapctl", NAME="zap/ctl" KERNEL="zaptimer", NAME="zap/timer" KERNEL="zapchannel", NAME="zap/channel" KERNEL="zappseudo", NAME="zap/pseudo" KERNEL="zap[0-9]*", NAME="zap/%n" # device mapper creates its own device nodes, so ignore these KERNEL="dm-[0-9]*", NAME="" KERNEL="device-mapper", NAME="mapper/control"