chiark / gitweb /
update Debian rules
[elogind.git] / etc / udev / debian / devfs.rules
index cffef1a2e263190ed8ee67c270382a2e68119c41..37e4ae1bc9ffed2bf15f1d2e8649ebe6cf394531 100644 (file)
 #
 # %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.
+# %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.
+# %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"
+SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", \
+       ENV{ID_MODEL}=="IOMEGA_ZIP*",   NAME="%k", OPTIONS+="all_partitions"
+SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTRS{media}=="floppy", \
+       OPTIONS+="all_partitions"
 
 # 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"
+SUBSYSTEMS=="ide", KERNEL=="hd[a-z]*", PROGRAM="ide-devfs.sh %k %b %n", \
+                                       NAME="%c{1}", SYMLINK+="%k %c{2}"
 
 # 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"
+SUBSYSTEMS=="scsi", PROGRAM="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"
+KERNEL=="cciss!*|ida!*|rd!*", PROGRAM="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"
+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"
+SUBSYSTEMS=="usb", KERNEL=="auer[0-9]*",       NAME="usb/%k"
+SUBSYSTEMS=="usb", KERNEL=="cpad[0-9]*",       NAME="usb/%k"
+SUBSYSTEMS=="usb", KERNEL=="dabusb*",          NAME="usb/%k"
+SUBSYSTEMS=="usb", KERNEL=="hiddev*",          NAME="usb/%k"
+SUBSYSTEMS=="usb", KERNEL=="legousbtower*",    NAME="usb/%k"
+SUBSYSTEMS=="usb", KERNEL=="lp[0-9]*",         NAME="usb/%k"
+SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", \
+       ATTRS{product}=="Palm Handheld*|Handspring Visor|palmOne Handheld", \
+                                               SYMLINK+="pilot"
+
+# usbfs-like devices
+SUBSYSTEM=="usb_device",       PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", \
+                               NAME="%c"
 
 # 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"
+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"
+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"
+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="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}", \
+                               NAME="%c"
+KERNEL=="fb[0-9]*",            NAME="fb/%n"
+KERNEL=="card[0-9]*",          NAME="dri/%k"
 
 # 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"
+KERNEL=="apm_bios",            NAME="misc/%k",
+KERNEL=="agpgart",             NAME="misc/%k"
+KERNEL=="hw_random",           NAME="hwrng"
+KERNEL=="nvram",               NAME="misc/%k"
+KERNEL=="psaux",               NAME="misc/%k"
+KERNEL=="rtc",                 NAME="misc/%k"
+KERNEL=="tun",                 NAME="net/%k"
+KERNEL=="evtchn",              NAME="xen/%k"
 
 # 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=="lp[0-9]*",            NAME="printers/%n"
+KERNEL=="parport[0-9]*",       NAME="parports/%n"
 
-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=="i2c-[0-9]*",          NAME="i2c/%n"
+KERNEL=="fd[0-9]*",            NAME="floppy/%n"
 
-KERNEL="cpu[0-9]*",    NAME="cpu/%n/cpuid"
-KERNEL="msr[0-9]*",    NAME="cpu/%n/msr"
-KERNEL="microcode",    NAME="cpu/microcode"
+KERNEL=="cdemu[0-9]*",         NAME="cdemu/%n"
+KERNEL=="pktcdvd[0-9]*",       NAME="pktcdvd/%n"
+KERNEL=="pktcdvd",             NAME="pktcdvd/control"
 
-KERNEL="umad*",                NAME="infiniband/%k"
-KERNEL="issm*",                NAME="infiniband/%k"
+KERNEL=="cpu[0-9]*",           NAME="cpu/%n/cpuid"
+KERNEL=="msr[0-9]*",           NAME="cpu/%n/msr"
+KERNEL=="microcode",           NAME="cpu/microcode"
 
-KERNEL="tap[0-9]*",    NAME="net/%k"
-KERNEL="tun",          NAME="net/%k"
+KERNEL=="umad*",               NAME="infiniband/%k"
+KERNEL=="issm*",               NAME="infiniband/%k"
+KERNEL=="uverbs*",             NAME="infiniband/%k"
+KERNEL=="ucm*",                        NAME="infiniband/%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"
+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"
+
+# ieee1394 devices       
+KERNEL=="dv1394*",             NAME="dv1394/%n"
+KERNEL=="video1394*",          NAME="video1394/%n"
 
 # 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"
+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"
+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"
+SUBSYSTEM=="aoe", KERNEL=="revalidate",        NAME="etherd/%k"
 
 # device mapper creates its own device nodes, so ignore these
-KERNEL="dm-[0-9]*",    NAME=""
-KERNEL="device-mapper",        NAME="mapper/control"
+KERNEL=="dm-[0-9]*",           NAME=""
+KERNEL=="device-mapper",       NAME="mapper/control"