| # do not edit this file, it will be overwritten on update |
| |
| # Rules to support older kernels, which migth miss functionality needed |
| # for the recent udev version. |
| # |
| # This file is used and maintained by Gentoo. |
| |
| ACTION=="remove", GOTO="kernel_compat_end" |
| |
| # |
| # sysfs timing rules |
| # |
| |
| # needed for kernels <2.6.30 |
| SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", WAIT_FOR="descriptors" |
| |
| # |
| # naming device rules |
| # |
| |
| # dvb device naming |
| # needed for kernels <2.6.29-rc1 |
| SUBSYSTEM=="dvb", ENV{DVB_ADAPTER_NUM}=="", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="video" |
| |
| # naming rules for kernels <2.6.31 |
| |
| # alsa names |
| 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" |
| |
| KERNEL=="mwave", NAME="modems/mwave" |
| |
| KERNEL=="mouse*|mice|event*", NAME="input/%k" |
| KERNEL=="ts[0-9]*|uinput", NAME="input/%k" |
| KERNEL=="js[0-9]*", NAME="input/%k" |
| |
| KERNEL=="card[0-9]*", NAME="dri/%k" |
| |
| SUBSYSTEM=="dvb", ENV{DVB_ADAPTER_NUM}=="?*", NAME="dvb/adapter$env{DVB_ADAPTER_NUM}/$env{DVB_DEVICE_TYPE}$env{DVB_DEVICE_NUM}" |
| |
| # libusb device nodes |
| SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}" |
| |
| # printer |
| SUBSYSTEM=="usb", KERNEL=="lp*", NAME="usb/%k" |
| |
| # block |
| KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%k" |
| KERNEL=="pktcdvd", NAME="pktcdvd/control" |
| |
| KERNEL=="rawctl", NAME="raw/rawctl" |
| SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", NAME="raw/%k" |
| SUBSYSTEM=="bsg", NAME="bsg/%k" |
| SUBSYSTEM=="aoe", NAME="etherd/%k" |
| |
| # network |
| KERNEL=="tun", NAME="net/%k" |
| |
| # CPU |
| KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid" |
| KERNEL=="msr[0-9]*", NAME="cpu/%n/msr" |
| KERNEL=="microcode", NAME="cpu/microcode", MODE="0600" |
| |
| # miscellaneous |
| KERNEL=="auer[0-9]*", NAME="usb/%k" |
| KERNEL=="hw_random", NAME="hwrng" |
| KERNEL=="sxctl", NAME="specialix_sxctl" |
| KERNEL=="rioctl", NAME="specialix_rioctl" |
| KERNEL=="iowarrior[0-9]*", NAME="usb/%k" |
| KERNEL=="hiddev[0-9]*", NAME="usb/%k" |
| KERNEL=="legousbtower[0-9]*", NAME="usb/%k" |
| KERNEL=="dabusb[0-9]*", NAME="usb/%k" |
| KERNEL=="usbdpfp[0-9]*", NAME="usb/%k" |
| KERNEL=="cpad[0-9]*", NAME="usb/%k" |
| |
| # end of naming rules for kernel <2.6.31 |
| |
| |
| # |
| # module loading rules |
| # |
| ACTION!="add", GOTO="kernel_compat_end" |
| |
| # No need for more code, as MODALIAS is present |
| ENV{MODALIAS}=="?*", GOTO="kernel_compat_end" |
| |
| # needed for kernel <2.6.30-rc1 |
| SUBSYSTEM=="scsi", ATTR{type}=="8", RUN+="/sbin/modprobe -b ch" |
| SUBSYSTEM=="mmc", RUN+="/sbin/modprobe -b mmc_block" |
| |
| # needed for kernel <2.6.27-rc5 |
| # acpi will do on newer kernels |
| SUBSYSTEM=="pnp", DRIVER!="?*", \ |
| RUN{ignore_error}+="/bin/sh -c '/sbin/modprobe -a $$(while read id; do echo pnp:d$$id; done < /sys$devpath/id)'" |
| |
| # see extras/qemu/42-qemu-usb.rules, version for 2.6.32 + older. |
| ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}=="42", TEST=="power/level", ATTR{power/level}="auto" |
| ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}=="42", TEST=="power/level", ATTR{power/level}="auto" |
| ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}=="42", TEST=="power/level", ATTR{power/level}="auto" |
| |
| LABEL="kernel_compat_end" |