# Udev rules for Archlinux by Tobias Powalowski # do not edit this file, it will be overwritten on update # # This ruleset should provide a DevFS-compatible device tree. # # There are a number of modifiers that are allowed to be used in some # of the different fields. They provide the following subsitutions: # # %n the "kernel number" of the device. # For example, 'sda3' has a "kernel number" of '3' # %k the kernel name for the device. # %M the kernel major number for the device # %m the kernel minor number for the device # %b the bus id for the device # %c the string returned by the PROGRAM # %s{filename} the content of a sysfs attribute. # %% the '%' char itself. # # There are a number of modifiers that are allowed to be used in some of the # fields. See the udev man page for a full description of them. # global stuff # ##################################### ###### Hotplug rules - begin # Only additional modules, # which are not detectable, # are loaded here! ##################################### # check if the device has already been claimed by a driver ACTION!="add", GOTO="drivers_end" # SOUND addon modules SUBSYSTEM=="sound", RUN+="/lib/udev/load-modules.sh snd-pcm-oss" SUBSYSTEM=="sound", RUN+="/lib/udev/load-modules.sh snd-seq-oss" #PNP addon modules SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP0800", RUN+="/lib/udev/load-modules.sh pcspkr" SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="*PNP0510*", RUN+="/lib/udev/load-modules.sh irtty-sir" SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="*PNP0511*", RUN+="/lib/udev/load-modules.sh irtty-sir" SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNPb02f", RUN+="/lib/udev/load-modules.sh analog" # PARPORT addon modules SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP040*", RUN+="/lib/udev/load-modules.sh lp" SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP040*", RUN+="/lib/udev/load-modules.sh ppdev" # fix ide cdrom detection on old proliant servers SUBSYSTEM=="pci", ENV{MODALIAS}=="pci:v00000E11d00000001sv00000000sd00000000bc06sc02i00", RUN+="/lib/udev/load-modules.sh ide-generic" LABEL="drivers_end" ##################################### ##### Hotplug rules - end ##################################### ##################################### ###### CD/DVD symlinks - begin ##################################### ACTION=="add|change", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", IMPORT="cdrom_id --export $tempnode" ACTION=="add|change", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", IMPORT="cdrom_id --export $tempnode" ACTION=="add|change", SUBSYSTEMS=="scsi", KERNEL=="scd[a-z]", IMPORT="cdrom_id --export $tempnode" ENV{ID_CDROM}=="?*", SYMLINK+="cd/cdrom-%b" ENV{ID_CDROM_CD_RW}=="?*", SYMLINK+="cd/cdrw-%b" ENV{ID_CDROM_DVD}=="?*", SYMLINK+="cd/dvd-%b" ENV{ID_CDROM_DVD_R}=="?*", SYMLINK+="cd/dvdrw-%b" ACTION=="add|change", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", RUN+="cdsymlinks.sh" ACTION=="add|change", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", ATTRS{type}=="5", RUN+="cdsymlinks.sh" ACTION=="add|change", SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="5", RUN+="cdsymlinks.sh" ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="hd[a-z]", RUN+="cdsymlinks.sh" ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sr[0-9]*", RUN+="cdsymlinks.sh" ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sg[0-9]*", RUN+="cdsymlinks.sh" ##################################### ###### CD/DVD symlinks - end ##################################### ##################################### # Additional Archlinux # Permissions and Symlinks - begin ##################################### # fix /dev/root symlink SUBSYSTEM=="block", RUN+="root-link.sh" # permission for sg devices KERNEL=="sg[0-9]*", ATTRS{type}!="3|6", GROUP="disk", MODE="0660" # permissions for IDE CD devices SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", GROUP="optical" # permissions for SCSI CD devices SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", ATTRS{type}=="5", SYMLINK+="scd%n", GROUP="optical" SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="5", GROUP="optical" # permissions for removable devices like cardreaders or sticks KERNEL=="sd*", ATTRS{scsi_level}=="3", ATTRS{type}=="0", GROUP="storage" # permissions for firewire external drives KERNEL=="sd*", ATTRS{scsi_level}=="5", GROUP="storage" # permissions for usb to scsi external adapters KERNEL=="sd*", ATTRS{scsi_level}=="3", ATTRS{type}=="7", GROUP="storage" # permissions for ide storage like pcmcia card readers ACTION!="add", GOTO="pcmcia_end" SUBSYSTEM!="block", GOTO="pcmcia_end" KERNEL=="hd*[!0-9]", IMPORT{program}="ata_id --export $tempnode" KERNEL=="hd*", IMPORT{parent}=="ID_*" KERNEL=="hd*", ENV{ID_TYPE}=="generic", GROUP="storage" LABEL="pcmcia_end" # permissions for SCSI scanners SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="6", GROUP="scanner" # mem KERNEL=="ram0", SYMLINK+="ramdisk" KERNEL=="ram1", SYMLINK+="ram" # video4linux KERNEL=="vbi0", SYMLINK+="vbi" KERNEL=="radio0", SYMLINK+="radio" KERNEL=="radio[0-9]*", GROUP="video" KERNEL=="video0", SYMLINK+="video" KERNEL=="vtx0", SYMLINK+="vtx" # video devices ### xorg resets those permissions, adjust your xorg.conf! KERNEL=="3dfx*", GROUP="video" KERNEL=="fb[0-9]*", GROUP="video" # misc KERNEL=="uinput", SYMLINK+="%k" KERNEL=="sgi_fetchop", MODE="0666" KERNEL=="sonypi", MODE="0666" # USB devices KERNEL=="legousbtower*", MODE="0666" # IEEE1394 (firewire) devices KERNEL=="raw1394", GROUP="video" # kbd devices KERNEL=="kbd", MODE="0664" # CPU KERNEL=="cpu[0-9]*", SYMLINK="%k" KERNEL=="msr[0-9]*", SYMLINK="%k" # miscellaneous KERNEL=="rtc|rtc0", GROUP="audio", MODE="0664" ####################################### # Permissions and Symlinks - end #######################################