1 # There are a number of modifiers that are allowed to be used in some of the
2 # fields. See the udev man page for a full description of them.
4 # default is OWNER="root" GROUP="root", MODE="0600"
8 SUBSYSTEM=="block", GROUP="disk", MODE="0640"
11 KERNEL=="tty", MODE="0666"
12 KERNEL=="tty[0-9]", GROUP="tty", MODE="0660"
13 KERNEL=="tty[0-9][0-9]*", GROUP="tty", MODE="0660"
14 KERNEL=="vc/[0-9]*", GROUP="tty", MODE="0660"
17 # Set this to 0660 if you only want users belonging to tty group
18 # to be able to allocate PTYs
19 KERNEL=="ptmx", GROUP="tty", MODE="0666"
20 KERNEL=="pty[p-za-e][0-9a-f]*", GROUP="tty", MODE="0660"
21 KERNEL=="tty[p-za-e][0-9a-f]*", GROUP="tty", MODE="0660"
22 KERNEL=="pty/m*", GROUP="tty", MODE="0660"
23 KERNEL=="vc/s*", GROUP="tty", MODE="0660"
25 # serial+dialup devices
26 KERNEL=="ttyS*", GROUP="uucp", MODE="0660"
27 KERNEL=="ippp*", MODE="0660"
28 KERNEL=="isdn*", MODE="0660"
29 KERNEL=="isdnctrl*", MODE="0660"
30 KERNEL=="capi*", MODE="0660"
31 KERNEL=="dcbri*", MODE="0660"
32 KERNEL=="ircomm*", GROUP="uucp", MODE="0660"
33 KERNEL=="ttyUSB*", GROUP="uucp", MODE="0660"
34 KERNEL=="tts/[0-9]*", GROUP="uucp", MODE="0660"
35 KERNEL=="tts/USB[0-9]*", GROUP="uucp", MODE="0660"
38 KERNEL=="vcs", OWNER="vcsa", GROUP="tty"
39 KERNEL=="vcs[0-9]*", OWNER="vcsa", GROUP="tty"
40 KERNEL=="vcsa", OWNER="vcsa", GROUP="tty"
41 KERNEL=="vcsa[0-9]*", OWNER="vcsa", GROUP="tty"
42 KERNEL=="vcc/*", OWNER="vcsa", GROUP="tty"
45 KERNEL=="random", MODE="0666"
46 KERNEL=="urandom", MODE="0444"
47 KERNEL=="mem", GROUP="kmem", MODE="0640"
48 KERNEL=="kmem", GROUP="kmem", MODE="0640"
49 KERNEL=="port", GROUP="kmem", MODE="0640"
50 KERNEL=="full", MODE="0666"
51 KERNEL=="null", MODE="0666"
52 KERNEL=="zero", MODE="0666"
55 KERNEL=="nvram", MODE="0660"
56 KERNEL=="rtc", MODE="0644"
59 KERNEL=="fd[01]*", GROUP="floppy", MODE="0660"
62 KERNEL=="dsp*", MODE="0660"
63 KERNEL=="audio*", MODE="0660"
64 KERNEL=="midi*", MODE="0660"
65 KERNEL=="mixer*", MODE="0660"
66 KERNEL=="sequencer*", MODE="0660"
67 KERNEL=="sound/*", MODE="0660"
68 KERNEL=="snd/*", MODE="0660"
69 KERNEL=="beep", MODE="0660"
70 KERNEL=="admm*", MODE="0660"
71 KERNEL=="adsp*", MODE="0660"
72 KERNEL=="aload*", MODE="0660"
73 KERNEL=="amidi*", MODE="0660"
74 KERNEL=="dmfm*", MODE="0660"
75 KERNEL=="dmmidi*", MODE="0660"
76 KERNEL=="sndstat", MODE="0660"
79 KERNEL=="pilot", GROUP="uucp", MODE="0660"
82 KERNEL=="lp*", GROUP="lp", MODE="0660"
83 KERNEL=="parport*", GROUP="lp", MODE="0660"
84 KERNEL=="irlpt*", GROUP="lp", MODE="0660"
85 KERNEL=="usblp*", GROUP="lp", MODE="0660"
86 KERNEL=="usb/lp*", GROUP="lp", MODE="0660"
89 KERNEL=="ht*", GROUP="disk", MODE="0660"
90 KERNEL=="nht*", GROUP="disk", MODE="0660"
91 KERNEL=="pt[0-9]*", GROUP="disk", MODE="0660"
92 KERNEL=="npt*", GROUP="disk", MODE="0660"
93 KERNEL=="st*", GROUP="disk", MODE="0660"
94 KERNEL=="nst*", GROUP="disk", MODE="0660"
95 KERNEL=="osst*", GROUP="disk", MODE="0660"
96 KERNEL=="nosst*", GROUP="disk", MODE="0660"
99 KERNEL=="diskonkey*", GROUP="disk", MODE="0640"
102 KERNEL=="microdrive*", GROUP="disk", MODE="0640"
105 KERNEL=="kbd", MODE="0644"
108 KERNEL=="js[0-9]*", MODE="0644"
109 KERNEL=="djs[0-9]*", MODE="0644"
112 KERNEL=="video*", MODE="0660"
113 KERNEL=="radio*", MODE="0660"
114 KERNEL=="winradio*", MODE="0660"
115 KERNEL=="vtx*", MODE="0660"
116 KERNEL=="vbi*", MODE="0660"
117 KERNEL=="video/*", MODE="0660"
118 KERNEL=="vttuner", MODE="0660"
119 KERNEL=="v4l/*", MODE="0660"
122 KERNEL=="input/*", MODE="0660"
125 KERNEL=="gpmctl", MODE="0700"
128 KERNEL=="nvidia*", MODE="0660"
129 KERNEL=="3dfx*", MODE="0660"
130 KERNEL=="dri/*", MODE="0666"
133 KERNEL=="usb/dabusb*", GROUP="usb", MODE="0660"
134 KERNEL=="usb/mdc800*", GROUP="usb", MODE="0660"
135 KERNEL=="usb/rio500", GROUP="usb", MODE="0660"
138 KERNEL=="z90crypt", MODE="0666"
141 KERNEL=="dvb/*", MODE="0660"
142 KERNEL=="dvb", MODE="0660"
143 KERNEL=="dvb/adapter*", MODE="0660"
145 # create a symlink named after the device map name
146 # note devmap_name comes with extras/multipath
147 #KERNEL=="dm-[0-9]*", PROGRAM="/sbin/devmap_name %M %m", NAME="%k", SYMLINK+="%c"
149 # DRI devices always go into a subdirectory (as per the LSB spec)
150 KERNEL=="card*", NAME="dri/card%n"
153 KERNEL=="controlC[0-9]*", NAME="snd/%k"
154 KERNEL=="hw[CD0-9]*", NAME="snd/%k"
155 KERNEL=="pcm[CD0-9cp]*", NAME="snd/%k"
156 KERNEL=="midi[CD0-9]*", NAME="snd/%k"
157 KERNEL=="timer", NAME="snd/%k"
158 KERNEL=="seq", NAME="snd/%k"
161 KERNEL=="mice", NAME="input/%k"
162 KERNEL=="mouse*", NAME="input/%k"
163 KERNEL=="event*", NAME="input/%k"
164 KERNEL=="js*", NAME="input/%k"
165 KERNEL=="ts*", NAME="input/%k"
167 KERNEL=="raw[0-9]*", NAME="raw/%k"
169 KERNEL=="lp[0-9]*", SYMLINK+="par%n"
170 BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k"
172 KERNEL=="microcode", NAME="cpu/%k"
173 # provide symlinks for backwards compatibility
174 KERNEL="msr[0-9]*", NAME="cpu/%n/msr", SYMLINK+="cpu/%k"
175 KERNEL="cpu[0-9]*", NAME="cpu/%n/cpu", SYMLINK+="cpu/%k", SYMLINK+="%k"
177 KERNEL=="ram1", SYMLINK+="ram"
178 KERNEL=="video0", SYMLINK+="video"
179 KERNEL=="radio0", SYMLINK+="radio"
180 KERNEL=="audio0", SYMLINK+="audio"
181 KERNEL=="dsp0", SYMLINK+="dsp"
182 KERNEL=="fb0", SYMLINK+="fb"
183 KERNEL=="qft0", SYMLINK+="ftape"
184 KERNEL=="isdnctrl0", SYMLINK+="isdnctrl"
185 KERNEL=="mixer0", SYMLINK+="mixer"
186 KERNEL=="ram0", SYMLINK+="ramdisk"
187 KERNEL=="sbpcd0", SYMLINK+="sbpcd"
188 KERNEL=="radio0", SYMLINK+="radio"
189 KERNEL=="tty0", SYMLINK+="systty"
190 KERNEL=="vbi0", SYMLINK+="vbi"
191 KERNEL=="null", SYMLINK+="XOR"
193 KERNEL=="tun", NAME="net/%k"
195 KERNEL=="device-mapper", NAME="mapper/control"
197 # old compat symlinks with enumeration
198 KERNEL=="sr[0-9]*", SYMLINK+="cdrom%e"
199 KERNEL=="scd[0-9]*", SYMLINK+="cdrom%e"
200 KERNEL=="pcd[0-9]*", SYMLINK+="cdrom%e"
201 KERNEL=="fd[0-9]*", SYMLINK+="floppy%e"
202 KERNEL=="nst[0-9]", BUS=="scsi", SYMLINK+="tape%e", MODE="0660"
203 KERNEL=="nosst[0-9]", BUS=="scsi", SYMLINK+="tape%e", MODE="0660"
204 KERNEL=="sg[0-9]*", BUS="scsi", SYSFS{type}=="6", SYMLINK+="scanner%e", MODE="0660"
206 KERNEL=="umad*", NAME="infiniband/%k"
207 KERNEL=="issm*", NAME="infiniband/%k"
209 # Section for zaptel device
210 KERNEL=="zapctl", NAME="zap/ctl"
211 KERNEL=="zaptimer", NAME="zap/timer"
212 KERNEL=="zapchannel", NAME="zap/channel"
213 KERNEL=="zappseudo", NAME="zap/pseudo"
214 KERNEL=="zap[0-9]*", NAME="zap/%n"
216 BUS=="scsi", KERNEL=="sg[0-9]*", SYSFS{type}=="6", NAME="%k", SYMLINK="scanner%e", MODE="0660"
218 # do not seperate the next 2 lines!!
219 KERNEL=="hd[a-z]", BUS=="ide", SYSFS{removable}=="1", PROGRAM=="/etc/udev/scripts/ide-media.sh %k", RESULT=="floppy", SYMLINK+="floppy%e", NAME{ignore_remove, all_partitions}="%k"
221 KERNEL=="hd[a-z]", BUS=="ide", SYSFS{removable}=="1", RESULT=="cdrom", SYMLINK+="cdrom%e"
223 KERNEL=="hd[a-z]", BUS=="ide", SYSFS{removable}=="1", PROGRAM=="/etc/udev/scripts/check-cdrom.sh %k DVD", SYMLINK+="dvd%e"
224 KERNEL=="sr[0-9]*", BUS=="scsi", PROGRAM=="/etc/udev/scripts/check-cdrom.sh %k DVD", SYMLINK+="dvd%e"
226 KERNEL=="hd[a-z]", BUS=="ide", SYSFS{removable}=="1", PROGRAM=="/etc/udev/scripts/check-cdrom.sh %k CD-R", SYMLINK+="cdwriter%e"
227 KERNEL=="sr[0-9]*", BUS=="scsi", PROGRAM=="/etc/udev/scripts/check-cdrom.sh %k CD-R", SYMLINK+="cdwriter%e"
229 KERNEL=="hd[a-z]", BUS=="ide", SYSFS{removable}=="1", PROGRAM="/etc/udev/scripts/check-cdrom.sh %k DVD-R", SYMLINK+="dvdwriter%e"
230 KERNEL=="sr[0-9]*", BUS=="scsi", PROGRAM=="/etc/udev/scripts/check-cdrom.sh %k DVD-R", SYMLINK+="dvdwriter%e"
233 KERNEL=="sr[0-9]*", BUS=="scsi", NAME="scd%n"
234 KERNEL=="hd[a-z]*", BUS=="ide", SYSFS{removable}=="1", NAME{ignore_remove}="%k"
236 KERNEL=="dvb*", PROGRAM=="/etc/udev/scripts/dvb.sh %k", NAME="%c"
239 # Perhaps this should just be for all subsystems?
241 ACTION=="add", SUBSYSTEM=="pci", MODALIAS=="*", \
242 RUN+="/sbin/modprobe $modalias"
243 ACTION=="add", SUBSYSTEM=="usb", MODALIAS=="*", \
244 RUN+="/sbin/modprobe $modalias"
245 ACTION=="add", SUBSYSTEM=="pcmcia", MODALIAS=="*", \
246 RUN+="/sbin/modprobe $modalias"
247 ACTION=="add", SUBSYSTEM=="pcmcia", MODALIAS=="*", \
248 RUN+="/bin/sh -c 'echo 1 > /sys/$DEVPATH/allow_func_id_match'"
250 ACTION=="add", SUBSYSTEM=="ieee1394", MODALIAS=="*", \
251 RUN+="/sbin/modprobe $modalias"
253 ACTION=="add", SUBSYSTEM=="scsi", SYSFS{type}=="[07]", \
254 RUN+="/sbin/modprobe sd_mod"
255 ACTION=="add", SUBSYSTEM=="scsi", SYSFS{type}=="14", \
256 RUN+="/sbin/modprobe sd_mod"
257 ACTION=="add", SUBSYSTEM=="scsi", SYSFS{type}=="[45]", \
258 RUN+="/sbin/modprobe sr_mod"
259 ACTION=="add", SUBSYSTEM=="scsi", SYSFS{type}=="1", SYSFS{vendor}=="Onstream", \
260 SYSFS{model}!="ADR*", RUN+="/sbin/modprobe osst"
261 ACTION=="add", SUBSYSTEM=="scsi", SYSFS{type}=="1", SYSFS{vendor}=="Onstream", \
262 SYSFS{model}=="ADR*", RUN+="/sbin/modprobe st"
263 ACTION=="add", SUBSYSTEM=="scsi", SYSFS{type}=="1", SYSFS{vendor}!="Onstream", \
264 RUN+="/sbin/modprobe st"
265 ACTION=="add", SUBSYSTEM=="scsi", SYSFS{type}=="[23689]", \
266 RUN+="/sbin/modprobe sg"
268 ACTION=="add", SUBSYSTEM=="firmware", ENV{FIRMWARE}="*", \
269 RUN+="/sbin/firmware_helper"