--- trunk/udev/udev.rules.magellan 2007/08/17 20:08:25 293 +++ trunk/udev/udev.rules.magellan 2008/03/22 18:12:38 515 @@ -1,5 +1,5 @@ # /etc/udev/rules/50-udev.rules: device naming rules for udev -# $Header: /root/magellan-cvs/src/udev/udev.rules.magellan,v 1.4 2007-08-17 20:08:25 niro Exp $ +# $Header: /root/magellan-cvs/src/udev/udev.rules.magellan,v 1.5 2008-03-22 18:12:38 niro Exp $ # # There are a number of modifiers that are allowed to be used in some # of the different fields. They provide the following subsitutions: @@ -18,247 +18,107 @@ # file that can be run before this one. # +KERNEL=="pty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660", OPTIONS="last_rule" +KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660", OPTIONS="last_rule" +KERNEL=="ptmx", GROUP="tty", MODE="0666", OPTIONS="last_rule" +KERNEL=="tty", GROUP="tty", MODE="0666", OPTIONS="last_rule" +KERNEL=="tty[0-9]*", GROUP="tty", MODE="0620", OPTIONS="last_rule" +KERNEL=="vcs|vcs[0-9]*|vcsa|vcsa[0-9]*", GROUP="tty", OPTIONS="last_rule" +KERNEL=="console", MODE="0600", OPTIONS="last_rule" + +# serial +KERNEL=="tty[A-Z]*|pppox*|ircomm*|noz*", GROUP="uucp" +KERNEL=="ppp", MODE="0600", OPTIONS+="ignore_remove" +KERNEL=="mwave", NAME="modems/mwave", GROUP="uucp" +KERNEL=="hvc*|hvsi*", GROUP="uucp" +KERNEL=="lirc0", SYMLINK+="lirc" + +# mem +KERNEL=="null|zero|full|random|urandom", MODE="0666" +KERNEL=="null", SYMLINK+="XOR" +KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640" +KERNEL=="ram0", SYMLINK+="ramdisk" +KERNEL=="ram1", SYMLINK+="ram" + +# input +KERNEL=="mouse*|mice|event*", NAME="input/%k", MODE="0640" +KERNEL=="ts[0-9]*|uinput", NAME="input/%k", MODE="0600" +KERNEL=="js[0-9]*", NAME="input/%k", MODE="0644", SYMLINK+="%k" + +# video4linux +KERNEL=="vbi0", SYMLINK+="vbi" +KERNEL=="radio0", SYMLINK+="radio" +KERNEL=="video0", SYMLINK+="video" + +# graphics +KERNEL=="agpgart", MODE="0600" +KERNEL=="card[0-9]*", NAME="dri/%k", MODE="0666" +KERNEL=="fb0", SYMLINK+="fb" + +# DVB video +SUBSYSTEM=="dvb", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c" + +# Firewire +KERNEL=="dv1394*", SYMLINK+="dv1394/%n" +KERNEL=="video1394*", NAME="video1394/%n" -# console -KERNEL=="pty[pqrstuvwxyzabcdef][0123456789abcdef]", NAME="%k", GROUP="tty", OPTIONS="last_rule" -KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", NAME="%k", GROUP="tty", OPTIONS="last_rule" -KERNEL=="vcs*", NAME="%k", GROUP="tty", OPTIONS="last_rule" -KERNEL=="vcsa*", NAME="%k", GROUP="tty", OPTIONS="last_rule" -KERNEL=="tty", NAME="%k", GROUP="tty", MODE="0666", OPTIONS="last_rule" -KERNEL=="tty[0-9]", NAME="%k", GROUP="tty", OPTIONS="last_rule" -KERNEL=="tty[0-9][0-9]", NAME="%k", GROUP="tty", OPTIONS="last_rule" -KERNEL=="console", NAME="%k", GROUP="tty", MODE="0600" -KERNEL=="ptmx", NAME="%k", GROUP="tty", MODE="0666" - -# tty devices -KERNEL=="ttyS[0-9]*", NAME="%k", SYMLINK="tts/%n", GROUP="tty" -KERNEL=="ttyUSB[0-9]*", NAME="%k", SYMLINK="tts/USB%n", GROUP="tty", MODE="0660" -KERNEL=="ippp0", NAME="%k", GROUP="tty" -KERNEL=="isdn*" NAME="%k", GROUP="tty" -KERNEL=="dcbri*", NAME="%k", GROUP="tty" -KERNEL=="ircomm*", NAME="%k", GROUP="tty" - -# all block devices -SUBSYSTEM=="block", GROUP="disk" - -# cdrom symlinks and other good cdrom naming -KERNEL=="sr[0-9]*|hd[a-z]|pcd[0-9]*", ACTION=="add", IMPORT{program}="cdrom_id --export $tempnode" -ENV{ID_CDROM}=="?*", GROUP="cdrom" -SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n" +# firmware class requests +SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh" + +# libusb device nodes +SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644" -# assign cdrom-permission also to associated generic device (for cd-burning ...) -KERNEL=="sg[0-9]*", ACTION=="add", ATTRS{type}=="4|5", GROUP="cdrom" +# printer +KERNEL=="parport[0-9]*", GROUP="lp" +SUBSYSTEM=="printer", KERNEL=="lp*", GROUP="lp" +SUBSYSTEM=="usb", KERNEL=="lp*", NAME="usb/%k", SYMLINK+="usb%k", GROUP="lp" +KERNEL=="lp[0-9]*", GROUP="lp", SYMLINK+="par%n" +KERNEL=="irlpt[0-9]*", GROUP="lp" -# disk devices -KERNEL=="sd*", NAME="%k", GROUP="disk" -KERNEL=="dasd*", NAME="%k", GROUP="disk" -KERNEL=="ataraid*", NAME="%k", GROUP="disk" - -# compaq smart array -KERNEL=="cciss*", NAME="%k" -KERNEL=="ida*", NAME="%k" - -# mylex -KERNEL=="rd*", NAME="%k" - -# dri devices -KERNEL=="card*", NAME="dri/card%n", GROUP="video" -KERNEL=="nvidia*", NAME="%k", GROUP="video" -KERNEL=="3dfx*", NAME="%k", GROUP="video" - -# 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=="midiC[D0-9]*", NAME="snd/%k" -KERNEL=="timer", NAME="snd/%k" -KERNEL=="seq", NAME="snd/%k" - -# capi devices -KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20", GROUP="dialout" -KERNEL=="capi*", NAME="capi/%n", GROUP="dialout" - -# cpu devices -KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid" -KERNEL=="msr[0-9]*", NAME="cpu/%n/msr" -KERNEL=="microcode", NAME="cpu/microcode" - -# fb devices -KERNEL=="fb[0-9]*", NAME="fb/%n", SYMLINK+="%k", GROUP="video" - -# floppy devices -KERNEL=="fd[0-9]*", NAME="floppy/%k", SYMLINK+="%k", GROUP="floppy" -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" -KERNEL=="fd[0-9]*", ACTION=="remove", RUN+="/bin/sh -c 'rm -f $root/floppy/%k?*'" - -# i2c devices -KERNEL=="i2c-[0-9]*", NAME="i2c/%n", SYMLINK+="%k" - -# input devices -KERNEL=="mice", NAME="input/%k", MODE="0644" -KERNEL=="mouse*", NAME="input/%k", MODE="0644" -KERNEL=="event*", NAME="input/%k", MODE="0600" -KERNEL=="js*", NAME="input/%k", MODE="0664" -KERNEL=="ts*", NAME="input/%k", MODE="0600" - -# loop devices -KERNEL=="loop[0-9]*", NAME="loop/%n", SYMLINK+="%k", GROUP="disk" - -# md block devices -KERNEL=="md[0-9]*", NAME="md/%n", SYMLINK+="%k", GROUP="disk" - -# aoe char devices, -SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k", GROUP="disk", MODE="0220" -SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k", GROUP="disk", MODE="0440" -SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k", GROUP="disk", MODE="0220" - -# misc devices -KERNEL=="agpgart", NAME="misc/%k", SYMLINK+="%k" -KERNEL=="psaux", NAME="misc/%k", SYMLINK+="%k" -KERNEL=="rtc", NAME="misc/%k", SYMLINK+="%k", MODE="0664" -KERNEL=="uinput", NAME="misc/%k", SYMLINK+="%k" -KERNEL=="inotify", NAME="misc/%k", SYMLINK+="%k", MODE="0666" - -# 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" - -# network devices -KERNEL=="tun", NAME="net/%k", MODE="0660", OPTIONS+="ignore_remove" -KERNEL=="ppp", MODE="0600", OPTIONS+="ignore_remove" - -# ramdisk devices -KERNEL=="ram[0-9]*", NAME="rd/%n", SYMLINK+="%k" - -# IEEE1394 (firewire) devices (must be before raw devices below) -KERNEL=="raw1394", NAME="%k", GROUP="video" -KERNEL=="dv1394*", NAME="dv1394/%n", GROUP="video" -KERNEL=="video1394*", NAME="video1394/%n", GROUP="video" - -# raw devices -SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", NAME="raw/%k", GROUP="disk" -KERNEL=="ram*", NAME="%k", GROUP="disk" - -# sound devices -KERNEL=="adsp", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" -KERNEL=="adsp[0-9]*", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" -KERNEL=="audio", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" -KERNEL=="audio[0-9]*", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" -KERNEL=="dsp", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" -KERNEL=="dsp[0-9]*", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" -KERNEL=="mixer", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" -KERNEL=="mixer[0-9]*", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" -KERNEL=="sequencer", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" -KERNEL=="sequencer[0-9]*", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" - -# memory devices -KERNEL=="random", NAME="%k", MODE="0666" -KERNEL=="urandom", NAME="%k", MODE="0444" -KERNEL=="mem", NAME="%k", MODE="0640" -KERNEL=="kmem", NAME="%k", MODE="0640" -KERNEL=="port", NAME="%k", MODE="0640" -KERNEL=="full", NAME="%k", MODE="0666" -KERNEL=="null", NAME="%k", MODE="0666" -KERNEL=="zero", NAME="%k", MODE="0666" - -# usb devices -KERNEL=="hiddev*", NAME="usb/%k" -KERNEL=="auer*", NAME="usb/%k" -KERNEL=="legousbtower*", NAME="usb/%k", GROUP="usb" -KERNEL=="dabusb*", NAME="usb/%k" -KERNEL=="lp[0-9]*", SUBSYSTEM=="usb", NAME="usb/%k", GROUP="lp" - -# v4l devices -KERNEL=="video[0-9]*", NAME="v4l/video%n", SYMLINK+="video%n", GROUP="video" -KERNEL=="radio[0-9]*", NAME="v4l/radio%n", SYMLINK+="radio%n", GROUP="video" -KERNEL=="vbi[0-9]*", NAME="v4l/vbi%n", SYMLINK+="vbi%n", GROUP="video" -KERNEL=="vtx[0-9]*", NAME="v4l/vtx%n", GROUP="video" - -# dvb devices -SUBSYSTEM=="dvb", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="video" - -# Asterisk Zaptel devices -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" - -# pilot/palm devices -KERNEL=="pilot", NAME="%k", GROUP="uucp" - -# jaz devices -KERNEL=="jaz*", NAME="%k", GROUP="disk" - -# zip devices -KERNEL=="pocketzip*", NAME="%k", GROUP="disk" -KERNEL=="zip*", NAME="%k", GROUP="disk" - -# ls120 devices -KERNEL=="ls120", NAME="%k", GROUP="disk" - -# lp devices -KERNEL=="lp*", NAME="%k", GROUP="lp" -KERNEL=="irlpt", NAME="%k", GROUP="lp" -KERNEL=="usblp", NAME="%k", GROUP="lp" -KERNEL=="lp*", NAME="%k", GROUP="lp" -KERNEL=="parport*", NAME="%k", GROUP="lp" - -# tape devices -KERNEL=="ht*", NAME="%k", GROUP="tape" -KERNEL=="nht*", NAME="%k", GROUP="tape" -KERNEL=="pt*", NAME="%k", GROUP="tape" -KERNEL=="npt*", NAME="%k", GROUP="tape" -KERNEL=="st*", NAME="%k", GROUP="tape" -KERNEL=="nst*", NAME="%k", GROUP="tape" -KERNEL=="osst*", NAME="%k", GROUP="tape" -KERNEL=="nosst*", NAME="%k", GROUP="tape" - -# diskonkey devices -KERNEL=="diskonkey*", NAME="%k", GROUP="disk" - -# rem_ide devices -KERNEL=="microdrive*", NAME="%k", GROUP="disk" - -# kbd devices -KERNEL=="kbd", NAME="%k", MODE="0664" - -# Sony Vaio Jogdial sonypi device -KERNEL=="sonypi", NAME="%k", MODE="0666" - -# packet devices -KERNEL=="pktcdvd", NAME="pktcdvd/control", GROUP="cdrw", MODE="0660" -KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/pktcdvd%n", GROUP="cdrw", MODE="0660" - -# infiniband devices -KERNEL=="umad*", NAME="infiniband/%k" -KERNEL=="issm*", NAME="infiniband/%k" - - -# usbfs-like device nodes -# the way to go up to kernel 2.6.21 (and above if setting USB_DEVICE_CLASS=y) -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" -# starting from kernel 2.6.22 use this rule -SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", GROUP="usb", MODE="0664" - -# Timeouts for scsi devices -# Setting timeout for tape-devices (type 1) to 900 seconds -# and 60 seconds for device types 0, 7 and 14 -# if you need timeouts for other devices add a similar rule -# with correct type-value, or open a bug on bugs.gentoo.org. +# block, tapes, block-releated +SUBSYSTEM=="block", GROUP="disk", MODE="0640" +SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n" SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="0|7|14", ATTR{timeout}="60" SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="1", ATTR{timeout}="900" +KERNEL=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="floppy", OPTIONS+="all_partitions" +KERNEL=="fd[0-9]", GROUP="floppy" +KERNEL=="fd[0-9]", ACTION=="add", ATTRS{cmos}=="?*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0640 -G floppy $root/%k" +KERNEL=="sch[0-9]*", GROUP="disk" +KERNEL=="sg[0-9]*", ATTRS{type}!="3|6", GROUP="disk", MODE="0640" +KERNEL=="ht[0-9]*|nht[0-9]*", GROUP="disk" +KERNEL=="pg[0-9]*", GROUP="disk" +KERNEL=="pt[0-9]*|npt[0-9]*", GROUP="disk" +KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk" +KERNEL=="rawctl", NAME="raw/%k", GROUP="disk" +SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", NAME="raw/%k", GROUP="disk" +KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%k" +KERNEL=="pktcdvd", NAME="pktcdvd/control" +KERNEL=="qft0", SYMLINK+="ftape" +SUBSYSTEM=="bsg", NAME="bsg/%k" +SUBSYSTEM=="aoe", NAME="etherd/%k", GROUP="disk" + +# network +KERNEL=="tun", NAME="net/%k", MODE="0666", OPTIONS+="ignore_remove" + +# CPU +KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid" +KERNEL=="msr[0-9]*", NAME="cpu/%n/msr" +KERNEL=="microcode", NAME="cpu/microcode", MODE="0600" + +# miscellaneous +KERNEL=="fuse", MODE="0666" +KERNEL=="rtc|rtc0", MODE="0644" +KERNEL=="rtc0", SYMLINK+="rtc" +KERNEL=="auer[0-9]*", NAME="usb/%k" +KERNEL=="hw_random", NAME="hwrng", SYMLINK+="%k" +KERNEL=="mmtimer", MODE="0644" +KERNEL=="rflash[0-9]*", MODE="0400" +KERNEL=="rrom[0-9]*", MODE="0400" +KERNEL=="sbpcd0", SYMLINK+="sbpcd" +KERNEL=="slram[0-9]*", SYMLINK+="xpram%n" +KERNEL=="sxctl", NAME="specialix_sxctl", SYMLINK+="%k" +KERNEL=="rioctl", NAME="specialix_rioctl", SYMLINK+="%k" +KERNEL=="iowarrior[0-9]*", NAME="usb/%k" -# Load firmware -SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh" +# do not delete static device nodes +ACTION=="remove", NAME=="?*", TEST=="/lib/udev/devices/$name", OPTIONS+="ignore_remove"