1 # There are a number of modifiers that are allowed to be used in some
2 # of the different fields. They provide the following subsitutions:
4 # %n the "kernel number" of the device.
5 # For example, 'sda3' has a "kernel number" of '3'
6 # %e the smallest number for that name which does not matches an existing node
7 # %k the kernel name for the device.
8 # %M the kernel major number for the device
9 # %m the kernel minor number for the device
10 # %b the bus id for the device
11 # %c the string returned by the PROGRAM
12 # %s{filename} the content of a sysfs attribute.
13 # %% the '%' char itself.
16 # default permissions for block devices
17 SUBSYSTEM="block", GROUP="disk"
18 SUBSYSTEM="block", SYSFS{removable}="1", GROUP="floppy"
20 # workaround for devices which do not report media changes
21 BUS="ide", KERNEL="hd[a-z]", SYSFS{removable}="1", \
22 PROGRAM="/bin/cat /proc/ide/%k/model", RESULT="IOMEGA ZIP *", \
23 NAME{all_partitions}="%k%n", GROUP="floppy"
26 BUS="ide", KERNEL="hd[a-z]", SYSFS{removable}="1", \
27 PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="cdrom*", \
29 BUS="ide", KERNEL="hd[a-z]", SYSFS{removable}="1", \
30 PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="floppy*", \
32 BUS="ide", KERNEL="hd[a-z]*", \
33 PROGRAM="/etc/udev/scripts/ide-devfs.sh %k %b %n", \
34 NAME="%c{1}", SYMLINK="%k %c{2}"
35 BUS="ide", KERNEL="ht[0-9]*", GROUP="tape"
36 BUS="ide", KERNEL="nht[0-9]*", GROUP="tape"
39 BUS="scsi", KERNEL="sd[a-z]", \
40 PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \
41 NAME="%c{1}", SYMLINK="%k %c{2}"
42 BUS="scsi", KERNEL="sd[a-z][0-9]*", \
43 PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \
44 NAME="%c{1}", SYMLINK="%k %c{2}"
45 BUS="scsi", KERNEL="sd[a-i][a-z]", \
46 PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \
47 NAME="%c{1}", SYMLINK="%k %c{2}"
48 BUS="scsi", KERNEL="sd[a-i][a-z][0-9]*", \
49 PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \
50 NAME="%c{1}", SYMLINK="%k %c{2}"
51 BUS="scsi", KERNEL="s[gr][0-9]*", SYSFS{type}="5", \
52 PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \
53 NAME="%c{1}", SYMLINK="%k %c{2}", GROUP="cdrom"
54 BUS="scsi", KERNEL="sr[0-9]*", \
55 PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \
56 NAME="%c{1}", SYMLINK="%k %c{2}", GROUP="cdrom"
57 BUS="scsi", KERNEL="sg[0-9]*", \
58 PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \
59 NAME="%c{1}", SYMLINK="%k %c{2}"
60 BUS="scsi", KERNEL="st[0-9]*", \
61 PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \
62 NAME="%c{1}", SYMLINK="%k %c{2}", GROUP="tape"
63 BUS="scsi", KERNEL="nst[0-9]*", \
64 PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", \
65 NAME="%c{1}", SYMLINK="%k %c{2}", GROUP="tape"
68 KERNEL="cciss!*", PROGRAM="/etc/udev/scripts/raid-devfs.sh %k", \
69 NAME="%c{1}", SYMLINK="%k"
70 KERNEL="ida!*", PROGRAM="/etc/udev/scripts/raid-devfs.sh %k", \
71 NAME="%c{1}", SYMLINK="%k"
72 KERNEL="rd!*", PROGRAM="/etc/udev/scripts/raid-devfs.sh %k", \
73 NAME="%c{1}", SYMLINK="%k"
76 KERNEL="md[0-9]*", NAME="md/%n",
77 KERNEL="loop[0-9]*", NAME="loop/%n"
78 KERNEL="ram[0-9]*", NAME="rd/%n"
81 BUS="usb", KERNEL="hiddev*", NAME="usb/%k"
82 BUS="usb", KERNEL="auer[0-9]*", NAME="usb/%k"
83 BUS="usb", KERNEL="legousbtower*", NAME="usb/%k", MODE="0666"
84 BUS="usb", KERNEL="dabusb*", NAME="usb/%k"
85 BUS="usb", KERNEL="cpad[0-9]*", NAME="usb/%k"
86 BUS="usb", KERNEL="ttyUSB*", SYSFS{product}="Palm Handheld*", SYMLINK="pilot"
89 SUBSYSTEM="tty", GROUP="dialout"
90 KERNEL="ttyS[0-9]*", NAME="tts/%n"
91 KERNEL="ttyUSB[0-9]*", NAME="tts/USB%n"
92 KERNEL="rfcomm[0-9]*", NAME="bluetooth/rfcomm/%n",
93 KERNEL="capi", NAME="capi20", SYMLINK="isdn/capi20"
94 KERNEL="capi[0-9]*", NAME="capi/%n"
97 KERNEL="ptmx", MODE="0666"
98 KERNEL="tty", MODE="0666"
99 KERNEL="tty[0-9]*", NAME="vc/%n"
100 KERNEL="vcs", NAME="vcc/0"
101 KERNEL="vcs[0-9]*", NAME="vcc/%n"
102 KERNEL="vcsa", NAME="vcc/a0"
103 KERNEL="vcsa[0-9]*", NAME="vcc/a%n"
106 SUBSYSTEM="video4linux", GROUP="video"
107 KERNEL="video[0-9]*", NAME="v4l/%k"
108 KERNEL="radio[0-9]*", NAME="v4l/%k"
109 KERNEL="vbi[0-9]*", NAME="v4l/%k"
110 KERNEL="vtx[0-9]*", NAME="v4l/%k"
111 KERNEL="dvb*", PROGRAM="/etc/udev/scripts/dvb.sh %k", \
112 NAME="%c", GROUP="video"
113 KERNEL="fb[0-9]*", NAME="fb/%n", GROUP="video"
114 KERNEL="nvidia*", GROUP="video"
115 KERNEL="card[0-9]*", NAME="dri/%k", GROUP="video"
118 KERNEL="random", MODE="0666"
119 KERNEL="urandom", MODE="0444"
120 KERNEL="mem", MODE="0640", GROUP="kmem"
121 KERNEL="kmem", MODE="0640", GROUP="kmem"
122 KERNEL="port", MODE="0640", GROUP="kmem"
123 KERNEL="full", MODE="0666"
124 KERNEL="null", MODE="0666"
125 KERNEL="zero", MODE="0666"
126 KERNEL="inotify", MODE="0666"
127 KERNEL="sgi_fetchop", MODE="0666"
128 KERNEL="sonypi", MODE="0666"
129 KERNEL="apm_bios", NAME="misc/%k",
130 KERNEL="agpgart", NAME="misc/%k", GROUP="video"
131 KERNEL="nvram", NAME="misc/%k", GROUP="nvram"
132 KERNEL="psaux", NAME="misc/%k"
133 KERNEL="rtc", NAME="misc/%k", MODE="0644", GROUP="audio"
134 KERNEL="hw_random", NAME="hwrng"
136 # printers and parallel devices
137 SUBSYSTEM="printer", GROUP="lp"
138 BUS="usb", KERNEL="lp[0-9]*", NAME="usb/%k"
139 KERNEL="lp[0-9]*", NAME="printers/%n"
140 KERNEL="pt[0-9]*", GROUP="tape"
141 KERNEL="pht[0-9]*", GROUP="tape"
143 KERNEL="i2c-[0-9]*", NAME="i2c/%n"
144 KERNEL="fd[0-9]*", NAME="floppy/%n", GROUP="floppy"
146 KERNEL="cdemu[0-9]*", NAME="cdemu/%n", GROUP="cdrom"
147 KERNEL="pktcdvd[0-9]*", NAME="pktcdvd/%n", GROUP="cdrom"
148 KERNEL="pktcdvd", NAME="pktcdvd/control", MODE="0644"
150 KERNEL="cpu[0-9]*", NAME="cpu/%n/cpuid"
151 KERNEL="msr[0-9]*", NAME="cpu/%n/msr"
152 KERNEL="microcode", NAME="cpu/microcode"
154 KERNEL="umad*", NAME="infiniband/%k"
155 KERNEL="issm*", NAME="infiniband/%k"
157 KERNEL="tap[0-9]*", NAME="net/%k"
158 KERNEL="tun", NAME="net/%k"
161 SUBSYSTEM="sound", GROUP="audio"
162 KERNEL="controlC[0-9]*", NAME="snd/%k"
163 KERNEL="hwC[D0-9]*", NAME="snd/%k"
164 KERNEL="pcmC[D0-9cp]*", NAME="snd/%k"
165 KERNEL="midiC[D0-9]*", NAME="snd/%k"
166 KERNEL="timer", NAME="snd/%k"
167 KERNEL="seq", NAME="snd/%k"
168 KERNEL="audio*", NAME="sound/%k"
169 KERNEL="dsp*", NAME="sound/%k"
170 KERNEL="adsp*", NAME="sound/%k"
171 KERNEL="midi*", NAME="sound/%k"
172 KERNEL="mixer*", NAME="sound/%k"
173 KERNEL="sequencer*", NAME="sound/%k"
174 KERNEL="amidi*", NAME="sound/%k"
175 KERNEL="dmmidi*", NAME="sound/%k"
176 KERNEL="admmidi*", NAME="sound/%k"
179 KERNEL="mice", NAME="input/%k"
180 KERNEL="mouse[0-9]*", NAME="input/%k"
181 KERNEL="event[0-9]*", NAME="input/%k", \
182 PROGRAM="/etc/udev/scripts/inputdev.sh %k", RESULT="inputdev", \
183 MODE="0664", GROUP="video"
184 KERNEL="event[0-9]*", NAME="input/%k"
185 KERNEL="js[0-9]*", NAME="input/%k", MODE="0664"
186 KERNEL="ts[0-9]*", NAME="input/%k"
187 KERNEL="uinput", NAME="input/%k"
190 KERNEL="zapctl", NAME="zap/ctl"
191 KERNEL="zaptimer", NAME="zap/timer"
192 KERNEL="zapchannel", NAME="zap/channel"
193 KERNEL="zappseudo", NAME="zap/pseudo"
194 KERNEL="zap[0-9]*", NAME="zap/%n"
196 # device mapper creates its own device nodes, so ignore these
197 KERNEL="dm-[0-9]*", NAME=""
198 KERNEL="device-mapper", NAME="mapper/control"