2007-08-10 14:36:59 +04:00
# do not edit this file, it will be overwritten on update
2015-03-12 18:34:18 +03:00
# run a command on remove events
ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
2015-03-27 17:42:04 +03:00
ACTION=="remove", GOTO="default_end"
2015-03-12 18:34:18 +03:00
2013-03-20 04:26:17 +04:00
SUBSYSTEM=="virtio-ports", KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}"
2013-04-25 04:02:40 +04:00
# select "system RTC" or just use the first one
SUBSYSTEM=="rtc", ATTR{hctosys}=="1", SYMLINK+="rtc"
SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100"
2020-06-14 19:34:27 +03:00
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb", GOTO="default_hwdb_imported"
2013-03-20 04:26:17 +04:00
ENV{MODALIAS}!="", IMPORT{builtin}="hwdb --subsystem=$env{SUBSYSTEM}"
2020-06-14 19:34:27 +03:00
LABEL="default_hwdb_imported"
2013-03-20 04:26:17 +04:00
2015-03-12 18:34:18 +03:00
ACTION!="add", GOTO="default_end"
2013-01-28 00:46:36 +04:00
2012-04-15 16:06:48 +04:00
SUBSYSTEM=="tty", KERNEL=="ptmx", GROUP="tty", MODE="0666"
SUBSYSTEM=="tty", KERNEL=="tty", GROUP="tty", MODE="0666"
SUBSYSTEM=="tty", KERNEL=="tty[0-9]*", GROUP="tty", MODE="0620"
2014-02-27 14:19:09 +04:00
SUBSYSTEM=="tty", KERNEL=="sclp_line[0-9]*", GROUP="tty", MODE="0620"
SUBSYSTEM=="tty", KERNEL=="ttysclp[0-9]*", GROUP="tty", MODE="0620"
SUBSYSTEM=="tty", KERNEL=="3270/tty[0-9]*", GROUP="tty", MODE="0620"
2012-04-15 16:06:48 +04:00
SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty"
2017-10-30 11:59:31 +03:00
KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"
2007-08-10 14:36:59 +04:00
2012-04-15 16:06:48 +04:00
SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640"
2007-08-10 14:36:59 +04:00
2014-06-12 16:59:53 +04:00
SUBSYSTEM=="input", GROUP="input"
2013-10-21 05:49:03 +04:00
SUBSYSTEM=="input", KERNEL=="js[0-9]*", MODE="0664"
2007-08-10 14:36:59 +04:00
2012-01-10 04:34:15 +04:00
SUBSYSTEM=="video4linux", GROUP="video"
SUBSYSTEM=="graphics", GROUP="video"
2017-10-31 18:46:24 +03:00
SUBSYSTEM=="drm", KERNEL!="renderD*", GROUP="video"
2013-01-28 00:46:36 +04:00
SUBSYSTEM=="dvb", GROUP="video"
2017-05-09 22:10:55 +03:00
SUBSYSTEM=="media", GROUP="video"
SUBSYSTEM=="cec", GROUP="video"
2007-08-10 14:36:59 +04:00
2017-10-31 18:46:24 +03:00
SUBSYSTEM=="drm", KERNEL=="renderD*", GROUP="render", MODE="@GROUP_RENDER_MODE@"
2017-10-31 18:56:19 +03:00
SUBSYSTEM=="kfd", GROUP="render", MODE="@GROUP_RENDER_MODE@"
2017-10-31 18:46:24 +03:00
2019-08-19 12:50:04 +03:00
# When using static_node= with non-default permissions, also update
# tmpfiles.d/static-nodes-permissions.conf.in to keep permissions synchronized.
2012-01-10 04:34:15 +04:00
SUBSYSTEM=="sound", GROUP="audio", \
2011-05-27 04:50:29 +04:00
OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer"
2009-09-16 22:08:50 +04:00
2013-01-28 00:46:36 +04:00
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
2007-08-10 14:36:59 +04:00
rules: set group ownership of new firewire driver device files
The newer firewire-core driver exposes per-device character device files,
called /dev/fw[0-9]*, in contrast to the older raw1394, video1394, dv1394
drivers which created one global file or per-controller files.
This allows to set ownership, permissions, or/ and access control lists
for each device file based on device type markers obtained from sysfs.
The "units" attribute which is used for this purpose has become available
in Linux 2.6.31(-rc1) by commit 0210b66dd88a2a1e451901b00378a2068b6ccb35.
The added rules match identifiers of
- IIDC devices:
industrial cameras and some webcams,
- AV/C devices:
camcorders, set-top boxes, TV sets, audio devices, and similar
devices.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2009-07-01 23:41:43 +04:00
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x00010*", GROUP="video"
2010-07-11 14:32:12 +04:00
SUBSYSTEM=="firewire", ATTR{units}=="*0x00b09d:0x00010*", GROUP="video"
rules: set group ownership of new firewire driver device files
The newer firewire-core driver exposes per-device character device files,
called /dev/fw[0-9]*, in contrast to the older raw1394, video1394, dv1394
drivers which created one global file or per-controller files.
This allows to set ownership, permissions, or/ and access control lists
for each device file based on device type markers obtained from sysfs.
The "units" attribute which is used for this purpose has become available
in Linux 2.6.31(-rc1) by commit 0210b66dd88a2a1e451901b00378a2068b6ccb35.
The added rules match identifiers of
- IIDC devices:
industrial cameras and some webcams,
- AV/C devices:
camcorders, set-top boxes, TV sets, audio devices, and similar
devices.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2009-07-01 23:41:43 +04:00
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", GROUP="video"
2010-07-11 14:32:12 +04:00
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x014001*", GROUP="video"
2007-08-10 14:36:59 +04:00
2012-01-10 04:34:15 +04:00
KERNEL=="parport[0-9]*", GROUP="lp"
SUBSYSTEM=="printer", KERNEL=="lp*", GROUP="lp"
SUBSYSTEM=="ppdev", GROUP="lp"
KERNEL=="lp[0-9]*", GROUP="lp"
KERNEL=="irlpt[0-9]*", GROUP="lp"
2011-07-05 07:37:13 +04:00
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", GROUP="lp"
2007-08-10 14:36:59 +04:00
2009-01-05 14:34:55 +03:00
SUBSYSTEM=="block", GROUP="disk"
2011-11-08 02:21:29 +04:00
SUBSYSTEM=="block", KERNEL=="sr[0-9]*", GROUP="cdrom"
2009-05-22 18:44:53 +04:00
SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom"
2012-04-15 16:06:48 +04:00
KERNEL=="sch[0-9]*", GROUP="cdrom"
2009-09-16 22:08:50 +04:00
KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
KERNEL=="pktcdvd", GROUP="cdrom"
2009-01-03 18:25:15 +03:00
2009-05-22 18:44:53 +04:00
SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape"
SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="0", GROUP="disk"
2007-08-10 14:36:59 +04:00
KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk"
2014-06-18 05:37:32 +04:00
KERNEL=="loop-control", GROUP="disk", OPTIONS+="static_node=loop-control"
KERNEL=="btrfs-control", GROUP="disk"
2009-09-16 22:08:50 +04:00
KERNEL=="rawctl", GROUP="disk"
SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", GROUP="disk"
SUBSYSTEM=="aoe", GROUP="disk", MODE="0220"
2008-12-09 06:18:21 +03:00
SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"
2007-08-10 14:36:59 +04:00
2013-10-21 05:49:03 +04:00
KERNEL=="rfkill", MODE="0664"
2013-01-28 00:46:36 +04:00
KERNEL=="tun", MODE="0666", OPTIONS+="static_node=net/tun"
2007-08-10 14:36:59 +04:00
2013-01-28 00:46:36 +04:00
KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse"
2010-05-25 17:10:21 +04:00
2018-01-08 12:49:15 +03:00
# The static_node is required on s390x and ppc (they are using MODULE_ALIAS)
KERNEL=="kvm", GROUP="kvm", MODE="@DEV_KVM_MODE@", OPTIONS+="static_node=kvm"
2017-03-27 13:34:24 +03:00
2019-04-18 17:30:41 +03:00
KERNEL=="udmabuf", GROUP="kvm"
2017-02-28 23:28:21 +03:00
SUBSYSTEM=="ptp", ATTR{clock_name}=="KVM virtual PTP", SYMLINK += "ptp_kvm"
2020-12-02 15:45:35 +03:00
SUBSYSTEM=="dmi", ENV{ID_SYSFS_ATTRIBUTE_MODEL}=="", ENV{ID_VENDOR}="$attr{sys_vendor}", ENV{ID_MODEL}="$attr{product_name}"
SUBSYSTEM=="dmi", ENV{ID_SYSFS_ATTRIBUTE_MODEL}=="product_version", ENV{ID_VENDOR}="$attr{sys_vendor}", ENV{ID_MODEL}="$attr{product_version}"
2015-03-12 18:34:18 +03:00
LABEL="default_end"