# There are a number of modifiers that are allowed to be used in some # of the different fields. They provide the following subsitutions: # # %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 # %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 # # SCSI devices BUS=="scsi", KERNEL=="sr[0-9]*", NAME="scd%n", SYMLINK+="sr%n" # USB devices BUS=="usb", KERNEL=="auer[0-9]*", NAME="usb/%k" BUS=="usb", KERNEL=="cpad[0-9]*", NAME="usb/%k" BUS=="usb", KERNEL=="dabusb*", NAME="usb/%k" BUS=="usb", KERNEL=="hiddev*", NAME="usb/%k" BUS=="usb", KERNEL=="legousbtower*", NAME="usb/%k" BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k" BUS=="usb", KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", \ SYMLINK+="pilot" # usbfs-like devices SUBSYSTEM=="usb_device", \ PROGRAM="/bin/sh -c 'export X=%k; export X=$${X#usbdev}; export B=$${X%%%%.*}; export D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c" # serial devices KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20" KERNEL=="capi[0-9]*", NAME="capi/%n" # video devices KERNEL=="card[0-9]*", NAME="dri/%k" # misc devices KERNEL=="hw_random", NAME="hwrng" KERNEL=="tun", NAME="net/%k" KERNEL=="cdemu[0-9]*", NAME="cdemu/%n" KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%n" KERNEL=="pktcdvd", NAME="pktcdvd/control" KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid" KERNEL=="msr[0-9]*", NAME="cpu/%n/msr" KERNEL=="microcode", NAME="cpu/microcode" KERNEL=="umad*", NAME="infiniband/%k" KERNEL=="issm*", NAME="infiniband/%k" KERNEL=="uverbs*", NAME="infiniband/%k" KERNEL=="ucm", NAME="infiniband/%k" KERNEL=="buzzer", NAME="misc/buzzer" # ALSA devices 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" # 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" 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" # AOE character devices SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k" SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k" SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k" # device mapper creates its own device nodes, so ignore these KERNEL=="dm-[0-9]*", OPTIONS+="ignore_device" KERNEL=="device-mapper", NAME="mapper/control" KERNEL=="rfcomm[0-9]*", NAME="%k", GROUP="users", MODE="0660" # Firmware Helper ACTION=="add", SUBSYSTEM=="firmware", RUN+="/lib/udev/firmware_helper" # Samsung UARTS KERNEL=="s3c2410_serial[0-9]" NAME="ttySAC%n" 3c2410.c
blob: e998f65fd5787467cf24b9fd8aaeb4a2340b2f37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118