1# do not edit this file, it will be overwritten on update
2
3# run a command on remove events
4ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
5ACTION=="remove", GOTO="default_end"
6
7SUBSYSTEM=="virtio-ports", KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}"
8
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
13SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb"
14ENV{MODALIAS}!="", IMPORT{builtin}="hwdb --subsystem=$env{SUBSYSTEM}"
15
16ACTION!="add", GOTO="default_end"
17
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"
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"
24SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty"
25KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"
26
27SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640"
28
29SUBSYSTEM=="input", GROUP="input"
30SUBSYSTEM=="input", KERNEL=="js[0-9]*", MODE="0664"
31
32SUBSYSTEM=="video4linux", GROUP="video"
33SUBSYSTEM=="graphics", GROUP="video"
34SUBSYSTEM=="drm", KERNEL!="renderD*", GROUP="video"
35SUBSYSTEM=="dvb", GROUP="video"
36SUBSYSTEM=="media", GROUP="video"
37SUBSYSTEM=="cec", GROUP="video"
38
39SUBSYSTEM=="drm", KERNEL=="renderD*", GROUP="render", MODE="0666"
40SUBSYSTEM=="kfd", GROUP="render", MODE="0666"
41
42SUBSYSTEM=="sound", GROUP="audio", \
43  OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer"
44
45SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
46
47SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x00010*", GROUP="video"
48SUBSYSTEM=="firewire", ATTR{units}=="*0x00b09d:0x00010*", GROUP="video"
49SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", GROUP="video"
50SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x014001*", GROUP="video"
51
52KERNEL=="parport[0-9]*", GROUP="lp"
53SUBSYSTEM=="printer", KERNEL=="lp*", GROUP="lp"
54SUBSYSTEM=="ppdev", GROUP="lp"
55KERNEL=="lp[0-9]*", GROUP="lp"
56KERNEL=="irlpt[0-9]*", GROUP="lp"
57SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", GROUP="lp"
58
59SUBSYSTEM=="block", GROUP="disk"
60SUBSYSTEM=="block", KERNEL=="sr[0-9]*", GROUP="cdrom"
61SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom"
62KERNEL=="sch[0-9]*", GROUP="cdrom"
63KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
64KERNEL=="pktcdvd", GROUP="cdrom"
65
66SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape"
67SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="0", GROUP="disk"
68KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk"
69KERNEL=="loop-control", GROUP="disk", OPTIONS+="static_node=loop-control"
70KERNEL=="btrfs-control", GROUP="disk"
71KERNEL=="rawctl", GROUP="disk"
72SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", GROUP="disk"
73SUBSYSTEM=="aoe", GROUP="disk", MODE="0220"
74SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"
75
76KERNEL=="rfkill", MODE="0664"
77KERNEL=="tun", MODE="0666", OPTIONS+="static_node=net/tun"
78
79KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse"
80
81# The static_node is required on s390x and ppc (they are using MODULE_ALIAS)
82KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"
83
84SUBSYSTEM=="ptp", ATTR{clock_name}=="KVM virtual PTP", SYMLINK += "ptp_kvm"
85
86LABEL="default_end"
87