chiark / gitweb /
0f6e6ffb7374519246561ff624310d7fe2658673
[elogind.git] / etc / udev / redhat / udev.rules
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.
3 #
4 # default is OWNER="root" GROUP="root", MODE="0600"
5 #
6
7 # all block devices
8 SUBSYSTEM=="block",             GROUP="disk", MODE="0640"
9
10 # console devices
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"
15
16 # pty devices
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"
24
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"
36
37 # vc devices
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"
43
44 # memory devices
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"
53
54 # misc devices
55 KERNEL=="nvram",                MODE="0660"
56 KERNEL=="rtc",                  MODE="0644"
57
58 # floppy devices
59 KERNEL=="fd[01]*",              GROUP="floppy", MODE="0660"
60
61 # audio devices
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"
77
78 # pilot/palm devices
79 KERNEL=="pilot",                GROUP="uucp", MODE="0660"
80
81 # lp devices
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"
87
88 # tape devices
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"
97
98 # diskonkey devices
99 KERNEL=="diskonkey*",           GROUP="disk", MODE="0640"
100
101 # rem_ide devices
102 KERNEL=="microdrive*",          GROUP="disk", MODE="0640"
103
104 # kbd devices
105 KERNEL=="kbd",                  MODE="0644"
106
107 # joystick devices
108 KERNEL=="js[0-9]*",             MODE="0644"
109 KERNEL=="djs[0-9]*",            MODE="0644"
110
111 # v4l devices
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"
120
121 # input devices
122 KERNEL=="input/*",              MODE="0660"
123
124 # gpm devices
125 KERNEL=="gpmctl",               MODE="0700"
126
127 # dri devices
128 KERNEL=="nvidia*",              MODE="0660"
129 KERNEL=="3dfx*",                MODE="0660"
130 KERNEL=="dri/*",                MODE="0666"
131
132 # usb devices
133 KERNEL=="usb/dabusb*",          GROUP="usb", MODE="0660"
134 KERNEL=="usb/mdc800*",          GROUP="usb", MODE="0660"
135 KERNEL=="usb/rio500",           GROUP="usb", MODE="0660"
136
137 # s390 devices
138 KERNEL=="z90crypt",             MODE="0666"
139
140 # DVB
141 KERNEL=="dvb/*",                MODE="0660"
142 KERNEL=="dvb",                  MODE="0660"
143 KERNEL=="dvb/adapter*",         MODE="0660"
144
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"
148
149 # DRI devices always go into a subdirectory (as per the LSB spec)
150 KERNEL=="card*",                NAME="dri/card%n"
151
152 # alsa devices
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"
159
160 # input devices
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"
166
167 KERNEL=="raw[0-9]*",            NAME="raw/%k"
168
169 KERNEL=="lp[0-9]*",             SYMLINK+="par%n"
170 BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k"
171
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"
176
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"
192
193 KERNEL=="tun",                  NAME="net/%k"
194
195 KERNEL=="device-mapper",        NAME="mapper/control"
196
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"
205
206 KERNEL=="umad*",                NAME="infiniband/%k"
207 KERNEL=="issm*",                NAME="infiniband/%k"
208
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"
215
216 BUS=="scsi", KERNEL=="sg[0-9]*", SYSFS{type}=="6", NAME="%k", SYMLINK="scanner%e", MODE="0660"
217
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"
220
221 KERNEL=="hd[a-z]", BUS=="ide", SYSFS{removable}=="1", RESULT=="cdrom", SYMLINK+="cdrom%e"
222
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"
225
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"
228
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"
231
232 # rename sr* to scd*
233 KERNEL=="sr[0-9]*", BUS=="scsi", NAME="scd%n"
234 KERNEL=="hd[a-z]*", BUS=="ide", SYSFS{removable}=="1", NAME{ignore_remove}="%k"
235
236 KERNEL=="dvb*", PROGRAM=="/etc/udev/scripts/dvb.sh %k", NAME="%c"
237
238
239 # Perhaps this should just be for all subsystems?
240
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'"
249
250 ACTION=="add", SUBSYSTEM=="ieee1394", MODALIAS=="*", \
251         RUN+="/sbin/modprobe $modalias"
252
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"
267
268 ACTION=="add", SUBSYSTEM=="firmware", ENV{FIRMWARE}="*", \
269         RUN+="/sbin/firmware_helper"