2007-08-10 17:36:59 +07:00
|
|
|
# do not edit this file, it will be overwritten on update
|
|
|
|
|
2015-03-12 22:34:18 +07:00
|
|
|
# run a command on remove events
|
|
|
|
ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
|
2015-03-27 21:42:04 +07:00
|
|
|
ACTION=="remove", GOTO="default_end"
|
2015-03-12 22:34:18 +07:00
|
|
|
|
2013-07-07 10:02:06 +07:00
|
|
|
SUBSYSTEM=="virtio-ports", KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}"
|
|
|
|
|
2013-06-03 20:36:55 +07:00
|
|
|
# select "system RTC" or just use the first one
|
2013-03-27 19:24:22 +07:00
|
|
|
SUBSYSTEM=="rtc", ATTR{hctosys}=="1", SYMLINK+="rtc"
|
2013-06-03 20:36:55 +07:00
|
|
|
SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100"
|
2013-03-27 19:24:22 +07:00
|
|
|
|
|
|
|
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb"
|
|
|
|
ENV{MODALIAS}!="", IMPORT{builtin}="hwdb --subsystem=$env{SUBSYSTEM}"
|
|
|
|
|
2015-03-12 22:34:18 +07:00
|
|
|
ACTION!="add", GOTO="default_end"
|
2013-03-27 19:24:22 +07:00
|
|
|
|
2012-04-15 19:06:48 +07: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 17:19:09 +07: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 19:06:48 +07:00
|
|
|
SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty"
|
2018-02-19 16:45:39 +07: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 17:36:59 +07:00
|
|
|
|
2012-04-15 19:06:48 +07:00
|
|
|
SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640"
|
2007-08-10 17:36:59 +07:00
|
|
|
|
2014-06-12 19:59:53 +07:00
|
|
|
SUBSYSTEM=="input", GROUP="input"
|
2014-01-12 08:46:58 +07:00
|
|
|
SUBSYSTEM=="input", KERNEL=="js[0-9]*", MODE="0664"
|
2007-08-10 17:36:59 +07:00
|
|
|
|
2012-01-10 07:34:15 +07:00
|
|
|
SUBSYSTEM=="video4linux", GROUP="video"
|
|
|
|
SUBSYSTEM=="graphics", GROUP="video"
|
2018-02-19 16:45:39 +07:00
|
|
|
SUBSYSTEM=="drm", KERNEL!="renderD*", GROUP="video"
|
2013-03-27 19:24:22 +07:00
|
|
|
SUBSYSTEM=="dvb", GROUP="video"
|
2017-09-04 00:20:33 +07:00
|
|
|
SUBSYSTEM=="media", GROUP="video"
|
|
|
|
SUBSYSTEM=="cec", GROUP="video"
|
2007-08-10 17:36:59 +07:00
|
|
|
|
2018-09-21 19:26:33 +07:00
|
|
|
SUBSYSTEM=="drm", KERNEL=="renderD*", GROUP="video", MODE="0666"
|
|
|
|
SUBSYSTEM=="kfd", GROUP="video", MODE="0666"
|
2018-02-19 16:45:39 +07:00
|
|
|
|
2022-04-06 05:24:58 +07:00
|
|
|
SUBSYSTEM=="misc", KERNEL=="sgx_enclave", GROUP="sgx", MODE="0660"
|
|
|
|
SUBSYSTEM=="misc", KERNEL=="sgx_vepc", GROUP="sgx", MODE="0660"
|
|
|
|
|
|
|
|
# When using static_node= with non-default permissions, also update
|
|
|
|
# tmpfiles.d/static-nodes-permissions.conf.in to keep permissions synchronized.
|
|
|
|
|
2012-01-10 07:34:15 +07:00
|
|
|
SUBSYSTEM=="sound", GROUP="audio", \
|
2011-05-27 07:50:29 +07:00
|
|
|
OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer"
|
2009-09-17 01:08:50 +07:00
|
|
|
|
2013-03-27 19:24:22 +07:00
|
|
|
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
|
2007-08-10 17:36:59 +07:00
|
|
|
|
2022-04-06 05:24:58 +07:00
|
|
|
SUBSYSTEM=="firewire", TEST=="units", TEST=="model", \
|
|
|
|
IMPORT{builtin}="hwdb 'ieee1394:node:ven$attr{vendor}mo$attr{model}units$attr{units}'"
|
|
|
|
|
|
|
|
SUBSYSTEM=="firewire", TEST=="units", TEST!="model", \
|
|
|
|
IMPORT{builtin}="hwdb 'ieee1394:node:ven$attr{vendor}units$attr{units}'"
|
|
|
|
|
|
|
|
SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_MIDI}=="1", GROUP="audio"
|
|
|
|
SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_AUDIO}=="1", GROUP="audio"
|
|
|
|
SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_VIDEO}=="1", GROUP="video"
|
2007-08-10 17:36:59 +07:00
|
|
|
|
2012-01-10 07:34:15 +07: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 10:37:13 +07:00
|
|
|
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", GROUP="lp"
|
2007-08-10 17:36:59 +07:00
|
|
|
|
2009-01-05 18:34:55 +07:00
|
|
|
SUBSYSTEM=="block", GROUP="disk"
|
2011-11-08 05:21:29 +07:00
|
|
|
SUBSYSTEM=="block", KERNEL=="sr[0-9]*", GROUP="cdrom"
|
2009-05-22 21:44:53 +07:00
|
|
|
SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom"
|
2012-04-15 19:06:48 +07:00
|
|
|
KERNEL=="sch[0-9]*", GROUP="cdrom"
|
2009-09-17 01:08:50 +07:00
|
|
|
KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
|
|
|
|
KERNEL=="pktcdvd", GROUP="cdrom"
|
2009-01-03 22:25:15 +07:00
|
|
|
|
2009-05-22 21:44:53 +07: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 17:36:59 +07: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 08:37:32 +07:00
|
|
|
KERNEL=="loop-control", GROUP="disk", OPTIONS+="static_node=loop-control"
|
|
|
|
KERNEL=="btrfs-control", GROUP="disk"
|
2009-09-17 01:08:50 +07:00
|
|
|
KERNEL=="rawctl", GROUP="disk"
|
|
|
|
SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", GROUP="disk"
|
|
|
|
SUBSYSTEM=="aoe", GROUP="disk", MODE="0220"
|
2008-12-09 10:18:21 +07:00
|
|
|
SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"
|
2007-08-10 17:36:59 +07:00
|
|
|
|
2014-01-12 08:46:58 +07:00
|
|
|
KERNEL=="rfkill", MODE="0664"
|
2013-03-27 19:24:22 +07:00
|
|
|
KERNEL=="tun", MODE="0666", OPTIONS+="static_node=net/tun"
|
2007-08-10 17:36:59 +07:00
|
|
|
|
2013-03-27 19:24:22 +07:00
|
|
|
KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse"
|
2012-10-26 02:34:46 +07:00
|
|
|
|
2018-02-19 16:45:39 +07:00
|
|
|
# The static_node is required on s390x and ppc (they are using MODULE_ALIAS)
|
2018-09-21 19:26:33 +07:00
|
|
|
KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"
|
2018-02-19 16:45:39 +07:00
|
|
|
|
2022-04-06 05:24:58 +07:00
|
|
|
KERNEL=="vfio", MODE="0666", OPTIONS+="static_node=vfio/vfio"
|
|
|
|
|
|
|
|
KERNEL=="vsock", MODE="0666"
|
|
|
|
KERNEL=="vhost-vsock", GROUP="kvm", MODE="0666", OPTIONS+="static_node=vhost-vsock"
|
|
|
|
|
|
|
|
KERNEL=="vhost-net", GROUP="kvm", MODE="0666", OPTIONS+="static_node=vhost-net"
|
|
|
|
|
|
|
|
KERNEL=="udmabuf", GROUP="kvm"
|
|
|
|
|
2018-02-19 16:45:39 +07:00
|
|
|
SUBSYSTEM=="ptp", ATTR{clock_name}=="KVM virtual PTP", SYMLINK += "ptp_kvm"
|
|
|
|
|
2022-03-14 02:37:05 +07:00
|
|
|
SUBSYSTEM=="ptp", ATTR{clock_name}=="hyperv", SYMLINK += "ptp_hyperv"
|
|
|
|
|
2022-04-06 05:24:58 +07:00
|
|
|
SUBSYSTEM!="dmi", GOTO="dmi_end"
|
|
|
|
ENV{ID_VENDOR}="$attr{sys_vendor}"
|
|
|
|
ENV{ID_SYSFS_ATTRIBUTE_MODEL}=="|product_name", ENV{ID_MODEL}="$attr{product_name}"
|
|
|
|
ENV{ID_SYSFS_ATTRIBUTE_MODEL}=="product_version", ENV{ID_MODEL}="$attr{product_version}"
|
|
|
|
# fallback to board information
|
|
|
|
ENV{ID_VENDOR}=="", ENV{ID_VENDOR}="$attr{board_vendor}"
|
|
|
|
ENV{ID_MODEL}=="", ENV{ID_MODEL}="$attr{board_name}"
|
|
|
|
LABEL="dmi_end"
|
|
|
|
|
2015-03-12 22:34:18 +07:00
|
|
|
LABEL="default_end"
|