# 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. # # workaround for devices which do not report media changes BUS="ide", KERNEL="hd[a-z]", SYSFS{removable}="1", \ PROGRAM="/etc/udev/scripts/ide-model.sh %k", RESULT="IOMEGA ZIP *", \ OPTIONS="all_partitions", NAME="%k" # IDE devices BUS="ide", KERNEL="hd[a-z]*", \ PROGRAM="/etc/udev/scripts/ide-devfs.sh %k %b %n", \ NAME="%c{1}", SYMLINK="%k %c{2}" # SCSI devices BUS="scsi", PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \ NAME="%c{1}", SYMLINK="%k %c{2}" # 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="auer[0-9]*", NAME="usb/%k" BUS="usb", KERNEL="cpad[0-9]*", NAME="usb/%k" 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*", SYMLINK="pilot" # serial devices 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="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 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" KERNEL="fb[0-9]*", NAME="fb/%n" KERNEL="card[0-9]*", NAME="dri/%k" # misc devices KERNEL="apm_bios", NAME="misc/%k", KERNEL="agpgart", NAME="misc/%k" KERNEL="nvram", NAME="misc/%k" KERNEL="psaux", NAME="misc/%k" KERNEL="rtc", NAME="misc/%k" KERNEL="hw_random", NAME="hwrng" # printers and parallel devices KERNEL="lp[0-9]*", NAME="printers/%n" KERNEL="parport[0-9]*", NAME="parports/%n" KERNEL="i2c-[0-9]*", NAME="i2c/%n" KERNEL="fd[0-9]*", NAME="floppy/%n" KERNEL="cdemu[0-9]*", NAME="cdemu/%n" KERNEL="pktcdvd[0-9]*", NAME="pktcdvd/%n" KERNEL="pktcdvd", NAME="pktcdvd/control" 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 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" KERNEL="js[0-9]*", NAME="input/%k" 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" # AOE character devices SUBSYSTEM="aoe", KERNEL="discover", NAME="etherd/%k" SUBSYSTEM="aoe", KERNEL="err", NAME="etherd/%k" SUBSYSTEM="aoe", KERNEL="interfaces", NAME="etherd/%k" # device mapper creates its own device nodes, so ignore these KERNEL="dm-[0-9]*", OPTIONS="ignore_device" KERNEL="device-mapper", NAME="mapper/control"