# # This ruleset should provide a DevFS-compatible device tree. # # 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. # # 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. # global stuff # default permissions for all block devices SUBSYSTEM="block", GROUP="disk" # CD/DVD symlinks BUS="ide", KERNEL="hd[a-z]", PROGRAM="/etc/udev/cdsymlinks.sh %k", SYMLINK="%c{1} %c{2} %c{3} %c{4} %c{5} %c{6}" BUS="scsi", KERNEL="sr[0-9]*", PROGRAM="/etc/udev/cdsymlinks.sh %k", SYMLINK="%c{1} %c{2} %c{3} %c{4} %c{5} %c{6}" BUS="scsi", KERNEL="scd[0-9]*", PROGRAM="/etc/udev/cdsymlinks.sh %k", SYMLINK="%c{1} %c{2} %c{3} %c{4} %c{5} %c{6}" # ide block devices BUS="ide", KERNEL="hd*", PROGRAM="/etc/udev/ide-devfs.sh %k %b %n", SYMLINK="%c{1} %c{2}" # permissions for IDE CD devices BUS="ide", KERNEL="hd[a-z]", SYSFS{removable}="1", PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="cdrom*", NAME="%k", GROUP="optical" # permissions for SCSI CD devices BUS="scsi", KERNEL="sr[0-9]*", SYSFS{type}="5", NAME="scd%n", GROUP="optical" BUS="scsi", KERNEL="sg[0-9]*", SYSFS{type}="5", NAME="%k", GROUP="optical" # permissions for IDE floppy devices BUS="ide", KERNEL="hd*", PROGRAM="/etc/udev/ide-floppy.sh %k", RESULT="floppy", NAME{all_partitions}="%k", GROUP="floppy" # permissions for removable devices like cardreaders or sticks BUS="usb", KERNEL="sd*", PROGRAM="/etc/udev/usb-storage.sh %k", RESULT="1", NAME="%k", GROUP="storage" # permissions for ide storage like pcmcia card readers BUS="ide", KERNEL="hd*", PROGRAM="/etc/udev/ide-storage.sh %k", RESULT="1", NAME="%k", GROUP="storage" # permissions for SCSI scanners BUS="scsi", KERNEL="sg[0-9]*", SYSFS{type}="6", NAME="%k", GROUP="scanner" # pty and tty legacy devices KERNEL="pty[a-z][a-z,0-9]*", NAME="legacy/%k" KERNEL="tty[a-z][a-z,0-9]*", NAME="legacy/%k" # md block devices KERNEL="md[0-9]*", NAME="md/%n" # device-mapper KERNEL="device-mapper", NAME="mapper/control" # floppy devices KERNEL="fd[0-9]*", NAME="fd%n", SYMLINK="floppy/%n fd%nu1440 fd%nu720 fd%nh1200 fd%nu360", GROUP="floppy" # tty devices SUBSYSTEM="tty", GROUP="tty" KERNEL="tty[0-9]*", NAME="vc/%n" KERNEL="ttyS[0-9]*", NAME="tts/%n", SYMLINK="ttyS%n" KERNEL="ttyUSB[0-9]*", NAME="tts/USB%n" # vc devices 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" KERNEL="ptmx", MODE="0666" KERNEL="tty", MODE="0666" # video devices SUBSYSTEM="video4linux", GROUP="video" KERNEL="dvb*", PROGRAM="/etc/udev/dvb.sh %k", NAME="%c", GROUP="video" KERNEL="nvidia*", GROUP="video" KERNEL="card[0-9]*", NAME="dri/%k", GROUP="video" KERNEL="3dfx*", NAME="%k", GROUP="video" # v4l devices KERNEL="video[0-9]*", NAME="v4l/video%n", SYMLINK="%k", GROUP="video" KERNEL="radio[0-9]*", NAME="v4l/radio%n", SYMLINK="radio%e", GROUP="video" KERNEL="vbi[0-9]*", NAME="v4l/vbi%n", SYMLINK="%k", GROUP="video" KERNEL="vtx[0-9]*", NAME="v4l/vtx%n", SYMLINK="%k", GROUP="video" # dm devices (ignore them) KERNEL="dm-[0-9]*", NAME="" # i2c devices KERNEL="i2c-[0-9]*", NAME="i2c/%n", SYMLINK="%k" # loop devices KERNEL="loop[0-9]*", NAME="loop/%n", SYMLINK="%k" # ramdisks KERNEL="ram[0-9]*", NAME="rd/%n", SYMLINK="%k" # framebuffer devices KERNEL="fb[0-9]*", NAME="fb/%n", SYMLINK="%k", GROUP="video" # misc KERNEL="rtc", NAME="misc/%k", SYMLINK="%k", GROUP="audio", MODE="0664" KERNEL="nvram", NAME="misc/%k", SYMLINK="%k" KERNEL="psaux", NAME="misc/%k", SYMLINK="%k" KERNEL="agpgart", NAME="misc/%k", SYMLINK="%k" GROUP="video" KERNEL="uinput", NAME="misc/%k", SYMLINK="%k" 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="sgi_fetchop", MODE="0666" KERNEL="sonypi", MODE="0666" KERNEL="inotify", NAME="misc/%k", SYMLINK="%k", MODE="0666" # sound devices # alsa devices SUBSYSTEM="sound", GROUP="audio" KERNEL="controlC[0-9]*", NAME="snd/%k" KERNEL="hw[CD0-9]*", NAME="snd/%k" KERNEL="pcm[CD0-9cp]*", NAME="snd/%k" KERNEL="midi[CD0-9]*", NAME="snd/%k" KERNEL="timer", NAME="snd/%k" KERNEL="seq", NAME="snd/%k" # oss devices KERNEL="audio*", NAME="sound/%k", SYMLINK="%k" KERNEL="dmmidi*", NAME="sound/%k", SYMLINK="%k" KERNEL="admmidi*", NAME="sound/%k", SYMLINK="%k" KERNEL="dsp*", NAME="sound/%k", SYMLINK="%k" KERNEL="adsp*", NAME="sound/%k", SYMLINK="%k" KERNEL="midi*", NAME="sound/%k", SYMLINK="%k" KERNEL="amidi*", NAME="sound/%k", SYMLINK="%k" KERNEL="mixer*", NAME="sound/%k", SYMLINK="%k" KERNEL="sequencer*", NAME="sound/%k", SYMLINK="%k" # input devices KERNEL="mice", NAME="input/%k", MODE="0644" KERNEL="mouse*", NAME="input/%k", MODE="0644" KERNEL="event*", NAME="input/%k" KERNEL="js*", NAME="input/%k", MODE="0664" KERNEL="ts*", NAME="input/%k" KERNEL="uinput", NAME="input/%k" # USB devices KERNEL="hiddev*", NAME="usb/%k" KERNEL="auer*", NAME="usb/%k" KERNEL="legousbtower*", NAME="usb/%k", MODE="0666" KERNEL="dabusb*", NAME="usb/%k" BUS="usb", KERNEL="lp[0-9]*", NAME="usb/%k" BUS="usb", KERNEL="ttyUSB*", SYSFS{product}="Palm Handheld*", SYMLINK="pilot" # printer devices SUBSYSTEM="printer", GROUP="lp" # netlink devices KERNEL="route", NAME="netlink/%k" KERNEL="skip", NAME="netlink/%k" KERNEL="usersock", NAME="netlink/%k" KERNEL="fwmonitor", NAME="netlink/%k" KERNEL="tcpdiag", NAME="netlink/%k" KERNEL="nflog", NAME="netlink/%k" KERNEL="xfrm", NAME="netlink/%k" KERNEL="arpd", NAME="netlink/%k" KERNEL="route6", NAME="netlink/%k" KERNEL="ip6_fw", NAME="netlink/%k" KERNEL="dnrtmsg", NAME="netlink/%k" KERNEL="tap*", NAME="netlink/%k" # CAPI devices KERNEL="capi", NAME="capi20", SYMLINK="isdn/capi20" KERNEL="capi*", NAME="capi/%n" # Network devices KERNEL="tun", NAME="net/%k" # raw devices KERNEL="raw[0-9]*", NAME="raw/%k" # kbd devices KERNEL="kbd", NAME="%k", MODE="0664" # packet devices KERNEL="pktcdvd", NAME="pktcdvd/control", GROUP="optical", MODE="0660" KERNEL="pktcdvd[0-9]*", NAME="pktcdvd/pktcdvd%n", GROUP="optical", MODE="0660"