]> git.ipfire.org Git - thirdparty/systemd.git/blame - rules.d/50-udev-default.rules.in
man: update description of "string_escape=" udev option
[thirdparty/systemd.git] / rules.d / 50-udev-default.rules.in
CommitLineData
d638611c
KS
1# do not edit this file, it will be overwritten on update
2
654b036b
KS
3# run a command on remove events
4ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
a06c8219 5ACTION=="remove", GOTO="default_end"
654b036b 6
bbb7f2ae
KS
7SUBSYSTEM=="virtio-ports", KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}"
8
67fb4482
KS
9# select "system RTC" or just use the first one
10SUBSYSTEM=="rtc", ATTR{hctosys}=="1", SYMLINK+="rtc"
11SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100"
12
451ba55f 13SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb"
bbb7f2ae
KS
14ENV{MODALIAS}!="", IMPORT{builtin}="hwdb --subsystem=$env{SUBSYSTEM}"
15
654b036b 16ACTION!="add", GOTO="default_end"
22582bb2 17
378f2e07
KS
18SUBSYSTEM=="tty", KERNEL=="ptmx", GROUP="tty", MODE="0666"
19SUBSYSTEM=="tty", KERNEL=="tty", GROUP="tty", MODE="0666"
20SUBSYSTEM=="tty", KERNEL=="tty[0-9]*", GROUP="tty", MODE="0620"
c594ccce
LN
21SUBSYSTEM=="tty", KERNEL=="sclp_line[0-9]*", GROUP="tty", MODE="0620"
22SUBSYSTEM=="tty", KERNEL=="ttysclp[0-9]*", GROUP="tty", MODE="0620"
23SUBSYSTEM=="tty", KERNEL=="3270/tty[0-9]*", GROUP="tty", MODE="0620"
378f2e07 24SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty"
27b8198e 25KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"
d638611c 26
378f2e07 27SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640"
d638611c 28
3dff3e00 29SUBSYSTEM=="input", GROUP="input"
d1f0e886 30SUBSYSTEM=="input", KERNEL=="js[0-9]*", MODE="0664"
d638611c 31
912541b0 32SUBSYSTEM=="video4linux", GROUP="video"
912541b0 33SUBSYSTEM=="graphics", GROUP="video"
4e15a734 34SUBSYSTEM=="drm", KERNEL!="renderD*", GROUP="video"
22582bb2 35SUBSYSTEM=="dvb", GROUP="video"
9bfc0df1
LP
36SUBSYSTEM=="media", GROUP="video"
37SUBSYSTEM=="cec", GROUP="video"
d638611c 38
8feaea5e
ZJS
39SUBSYSTEM=="drm", KERNEL=="renderD*", GROUP="render", MODE="{{GROUP_RENDER_MODE}}"
40SUBSYSTEM=="kfd", GROUP="render", MODE="{{GROUP_RENDER_MODE}}"
4e15a734 41
c9c4899f
ZJS
42SUBSYSTEM=="misc", KERNEL=="sgx_enclave", GROUP="sgx", MODE="0660"
43
1f9290fc
ZJS
44# When using static_node= with non-default permissions, also update
45# tmpfiles.d/static-nodes-permissions.conf.in to keep permissions synchronized.
46
912541b0 47SUBSYSTEM=="sound", GROUP="audio", \
3e227830 48 OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer"
4b4409b1 49
22582bb2 50SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
d638611c 51
f125f8b1
TS
52SUBSYSTEM=="firewire", TEST=="units", TEST=="model", \
53 IMPORT{builtin}="hwdb 'ieee1394:node:ven$attr{vendor}mo$attr{model}units$attr{units}'"
54
55SUBSYSTEM=="firewire", TEST=="units", TEST!="model", \
56 IMPORT{builtin}="hwdb 'ieee1394:node:ven$attr{vendor}units$attr{units}'"
57
58SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_MIDI}=="1", GROUP="audio"
59SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_AUDIO}=="1", GROUP="audio"
60SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_VIDEO}=="1", GROUP="video"
61
912541b0
KS
62KERNEL=="parport[0-9]*", GROUP="lp"
63SUBSYSTEM=="printer", KERNEL=="lp*", GROUP="lp"
64SUBSYSTEM=="ppdev", GROUP="lp"
65KERNEL=="lp[0-9]*", GROUP="lp"
66KERNEL=="irlpt[0-9]*", GROUP="lp"
665a754d 67SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", GROUP="lp"
d638611c 68
b6c8f986 69SUBSYSTEM=="block", GROUP="disk"
eabac232 70SUBSYSTEM=="block", KERNEL=="sr[0-9]*", GROUP="cdrom"
12a7c14b 71SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom"
378f2e07 72KERNEL=="sch[0-9]*", GROUP="cdrom"
4b4409b1
KS
73KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
74KERNEL=="pktcdvd", GROUP="cdrom"
8553cf06 75
12a7c14b 76SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape"
12a7c14b 77SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="0", GROUP="disk"
d638611c 78KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk"
27e7c262
KS
79KERNEL=="loop-control", GROUP="disk", OPTIONS+="static_node=loop-control"
80KERNEL=="btrfs-control", GROUP="disk"
4b4409b1
KS
81KERNEL=="rawctl", GROUP="disk"
82SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", GROUP="disk"
83SUBSYSTEM=="aoe", GROUP="disk", MODE="0220"
2fc635fb 84SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"
d638611c 85
d1f0e886 86KERNEL=="rfkill", MODE="0664"
22582bb2 87KERNEL=="tun", MODE="0666", OPTIONS+="static_node=net/tun"
d638611c 88
22582bb2 89KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse"
557b005f 90
d35d6249 91# The static_node is required on s390x and ppc (they are using MODULE_ALIAS)
8feaea5e 92KERNEL=="kvm", GROUP="kvm", MODE="{{DEV_KVM_MODE}}", OPTIONS+="static_node=kvm"
5a664ca1 93
f8eb4100
AR
94KERNEL=="vfio", MODE="0666", OPTIONS+="static_node=vfio/vfio"
95
c4446798 96KERNEL=="vsock", MODE="0666"
8feaea5e 97KERNEL=="vhost-vsock", GROUP="kvm", MODE="{{DEV_KVM_MODE}}", OPTIONS+="static_node=vhost-vsock"
c4446798 98
8feaea5e 99KERNEL=="vhost-net", GROUP="kvm", MODE="{{DEV_KVM_MODE}}", OPTIONS+="static_node=vhost-net"
f65efddd 100
0fde5a35
MAL
101KERNEL=="udmabuf", GROUP="kvm"
102
9d70cba9
LP
103SUBSYSTEM=="ptp", ATTR{clock_name}=="KVM virtual PTP", SYMLINK += "ptp_kvm"
104
32e868f0
LB
105SUBSYSTEM=="ptp", ATTR{clock_name}=="hyperv", SYMLINK += "ptp_hyperv"
106
7341f6b5
FB
107SUBSYSTEM=="dmi", ENV{ID_SYSFS_ATTRIBUTE_MODEL}=="", ENV{ID_VENDOR}="$attr{sys_vendor}", ENV{ID_MODEL}="$attr{product_name}"
108SUBSYSTEM=="dmi", ENV{ID_SYSFS_ATTRIBUTE_MODEL}=="product_version", ENV{ID_VENDOR}="$attr{sys_vendor}", ENV{ID_MODEL}="$attr{product_version}"
109
654b036b 110LABEL="default_end"