All of lore.kernel.org
 help / color / mirror / Atom feed
From: Piter PUNK <piterpk@terra.com.br>
To: linux-hotplug@vger.kernel.org
Subject: [PATCH] new udev.rules in slackware
Date: Tue, 08 Aug 2006 12:06:00 +0000	[thread overview]
Message-ID: <44D87E28.2080708@terra.com.br> (raw)

[-- Attachment #1: Type: text/plain, Size: 685 bytes --]

Kay Sievers wrote:
> On Tue, 2006-08-08 at 11:50 +0400, Max wrote:
>> There are old slackware rules in new udev (0.95). I  tired to replace 
>> '=' to '=='.
>> Please, fix it...
> 
> Right, pelase send a patch, or I will just remove the unmaintained rules
> from the tree.

This is the udev.rules file from slackware-current (and will be the rules
in 11.0). The patch is against udev-096.

Piter PUNK
-- 
     |        E-Mail: piterpk@terra.com.br        (personal)
    .|.               roberto.batista@ntux.com.br (professional)
    /V\
   // \\      UIN:116043354  Homepage:www.openslack.org/~piterpk
  /(   )\
   ^`~'^         ----> Slackware Linux - The Best One! <----
  #105432

[-- Attachment #2: udev.rules-slackware.patch --]
[-- Type: text/plain, Size: 22808 bytes --]

--- udev-096/etc/udev/slackware/udev.rules	2006-07-09 16:48:19.000000000 -0300
+++ udev-096-slackware/etc/udev/slackware/udev.rules	2006-08-08 09:03:18.000000000 -0300
@@ -2,247 +2,350 @@
 #
 # 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.
+#
+# This rules file is a mix of 10.2 Slackware udev.rules file and some
+# rules from the udev examples. 
+#
 
-# all block devices
-SUBSYSTEM="block", GROUP="disk"
+# wait for sysfs
+ACTION=="add", DEVPATH=="/devices/*", ENV{PHYSDEVBUS}=="?*", WAIT_FOR_SYSFS="bus"
+ACTION=="add", SUBSYSTEM=="scsi", WAIT_FOR_SYSFS="ioerr_cnt"
+ACTION=="add", SUBSYSTEM=="net", WAIT_FOR_SYSFS="address"
 
-### cdrom symlinks and other good cdrom naming
-##BUS="ide",  KERNEL="hd[a-z]", PROGRAM="/etc/udev/scripts/cdsymlinks.sh %k", SYMLINK="%c{1} %c{2} %c{3} %c{4} %c{5} %c{6}"
-##BUS="scsi", KERNEL="sr[0-9]*", PROGRAM="/etc/udev/scripts/cdsymlinks.sh %k", SYMLINK="%c{1} %c{2} %c{3} %c{4} %c{5} %c{6}"
-##BUS="scsi", KERNEL="scd[a-z]", PROGRAM="/etc/udev/scripts/cdsymlinks.sh %k", SYMLINK="%c{1} %c{2} %c{3} %c{4} %c{5} %c{6}"
-##
-### devfs-names for ide-devices (uncomment only one)
-###  /dev/ide/.../{disc,cd} and /dev/{cdroms,discs}/* type names
-##BUS="ide", KERNEL="hd*", PROGRAM="/etc/udev/scripts/ide-devfs.sh %k %b %n", NAME="%k", SYMLINK="%c{1} %c{2}", GROUP="%c{3}"
+# all block devices
+SUBSYSTEM=="block", GROUP="disk"
 
 # permissions for IDE CD devices
-BUS="ide", KERNEL="*[!0-9]", PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="cdrom*", NAME="%k", GROUP="cdrom", MODE="0660"
+BUS=="ide", KERNEL=="*[!0-9]", ENV{PHYSDEVDRIVER}=="ide-cdrom", NAME="%k", GROUP="cdrom", MODE="0660", RUN+="/lib/udev/cdrom-symlinks.sh %k"
 
 # permissions for IDE floppy devices
-BUS="ide", KERNEL="*[!0-9]", PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="floppy*", NAME="%k", GROUP="floppy", MODE="0660"
+BUS=="ide", KERNEL=="*[!0-9]", ENV{PHYSDEVDRIVER}=="ide-floppy*", NAME="%k", GROUP="floppy", MODE="0660"
 
 # permissions for SCSI cd/sg/tape devices
-BUS="scsi", KERNEL="s[grt][0-9]*", SYSFS_type="5", NAME="%k", GROUP="cdrom", MODE="0660"
+BUS=="scsi", KERNEL=="s[grt][0-9]*", SYSFS{type}=="5", NAME="%k", GROUP="cdrom", MODE="0660"
+
+# load modules to scsi disks, if they aren't in kernel
+SUBSYSTEM=="scsi_device", ACTION=="add", SYSFS{device/type}=="0|7|14", RUN+="/sbin/modprobe sd_mod"
+SUBSYSTEM=="scsi_device", ACTION=="add", SYSFS{device/type}=="1", SYSFS{device/vendor}=="On[sS]tream", RUN+="/sbin/modprobe osst"
+SUBSYSTEM=="scsi_device", ACTION=="add", SYSFS{device/type}=="1", RUN+="/sbin/modprobe st"
+SUBSYSTEM=="scsi_device", ACTION=="add", SYSFS{device/type}=="[45]", RUN+="/sbin/modprobe sr_mod"
+SUBSYSTEM=="scsi_device", ACTION=="add", RUN+="/sbin/modprobe sg"
 
 # disk devices
-KERNEL="sd*",		NAME="%k", GROUP="disk"
-KERNEL="dasd*",		NAME="%k", GROUP="disk"
-KERNEL="ataraid*",	NAME="%k", GROUP="disk"
+KERNEL=="sd*",		NAME="%k", GROUP="disk"
+KERNEL=="dasd*",	NAME="%k", GROUP="disk"
+KERNEL=="ataraid*",	NAME="%k", GROUP="disk"
+
+# persistent storage links: /dev/disk/{by-id,by-uuid,by-label,by-path}
+
+ACTION!="add", GOTO="persistent_end"
+SUBSYSTEM!="block", GOTO="persistent_end"
+
+# skip rules for inappropriate block devices
+KERNEL=="ram*|loop*|fd*|nbd*", GOTO="persistent_end"
+
+# never access removable ide devices, the drivers are causing event loops on open()
+BUS=="ide", DRIVER!="ide-cdrom", SYSFS{removable}=="1", GOTO="persistent_end"
+
+# by-id (hardware serial number)
+KERNEL=="hd*[!0-9]", IMPORT{program}="/lib/udev/ata_id --export $tempnode"
+KERNEL=="hd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}"
+KERNEL=="hd*[0-9]", IMPORT{parent}=="ID_*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}-part%n"
+
+KERNEL=="sd*[!0-9]|sr*", SYSFS{ieee1394_id}=="*", ENV{ID_SERIAL}="$sysfs{ieee1394_id}", ENV{ID_BUS}="ieee1394"
+KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}=="", IMPORT{program}="/lib/udev/usb_id -x"
+KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}=="", IMPORT{program}="/lib/udev/scsi_id -g -x -s %p -d $tempnode"
+KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}=="", IMPORT{program}="/lib/udev/scsi_id -g -x -a -s %p -d $tempnode"
+KERNEL=="dasd*[!0-9]", IMPORT{program}="/lib/udev/dasd_id --export $tempnode"
+KERNEL=="sd*[!0-9]|sr*|dasd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
+
+# for partitions import parent information
+KERNEL=="sd*[0-9]|dasd*[0-9]", IMPORT{parent}=="ID_*"
+KERNEL=="sd*[0-9]|dasd*[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
+
+# by-path (shortest physical path)
+KERNEL=="*[!0-9]|sr*", ENV{ID_TYPE}=="?*", IMPORT{program}="/lib/udev/path_id %p", SYMLINK+="disk/by-path/$env{ID_PATH}"
+KERNEL=="st*", ENV{ID_TYPE}=="?*", IMPORT{program}="/lib/udev/path_id %p", SYMLINK+="tape/by-path/$env{ID_PATH}"
+KERNEL=="sr*|st*", GOTO="persistent_end"
+KERNEL=="*[0-9]", IMPORT{parent}=="ID_*"
+KERNEL=="*[0-9]", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n"
+
+# by-label/by-uuid (filesystem properties)
+KERNEL=="*[!0-9]", SYSFS{removable}=="1", GOTO="persistent_end"
+IMPORT{program}="/lib/udev/vol_id --export $tempnode"
+ENV{ID_FS_UUID}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID}"
+ENV{ID_FS_LABEL_SAFE}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_SAFE}"
+
+# BIOS Enhanced Disk Device
+KERNEL=="*[!0-9]", IMPORT{program}="/lib/udev/edd_id --export $tempnode"
+KERNEL=="*[!0-9]", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}"
+KERNEL=="*[0-9]", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}-part%n"
 
-# DRI devices
-KERNEL="card*",		NAME="dri/card%n", GROUP="video"
-KERNEL="nvidia*",	NAME="%k", GROUP="video"
-KERNEL="3dfx*",		NAME="%k", GROUP="video"
+# No dmsetup in slackware by default (LVM2 is in testing)
+#KERNEL=="dm-[0-9]*", ACTION=="add", PROGRAM="/sbin/dmsetup info -c --noopencount --noheadings -o name -j %M -m %m", SYMLINK+="disk/by-name/%c"
+
+LABEL="persistent_end"
 
 # ALSA devices
-SUBSYSTEM="sound", GROUP="audio"
-KERNEL="controlC[0-9]*",	NAME="snd/%k", MODE="0666"
-KERNEL="hw[CD0-9]*",		NAME="snd/%k", MODE="0662"
-KERNEL="pcm[CD0-9]*c",		NAME="snd/%k", MODE="0662"
-KERNEL="pcm[CD0-9]*p",		NAME="snd/%k", MODE="0666"
-KERNEL="midiC[D0-9]*",		NAME="snd/%k", MODE="0666"
-KERNEL="timer",			NAME="snd/%k", MODE="0666"
-KERNEL="seq",			NAME="snd/%k", MODE="0666"
+SUBSYSTEM=="sound", 		GROUP="audio"
+SUBSYSTEM=="snd", 		GROUP="audio"
+KERNEL=="controlC[0-9]*",	NAME="snd/%k", MODE="0666"
+KERNEL=="hw[CD0-9]*",		NAME="snd/%k", MODE="0662"
+KERNEL=="pcm[CD0-9]*c",		NAME="snd/%k", MODE="0662"
+KERNEL=="pcm[CD0-9]*p",		NAME="snd/%k", MODE="0666"
+KERNEL=="midiC[D0-9]*",		NAME="snd/%k", MODE="0666"
+KERNEL=="timer",		NAME="snd/%k", MODE="0666"
+KERNEL=="seq",			NAME="snd/%k", MODE="0666"
+
+# IEEE1394 raw devices (often used for video)
+KERNEL=="raw1394", NAME="%k", GROUP="video"
+KERNEL=="dv1394*", NAME="dv1394/%n", GROUP="video"
+KERNEL=="video1394*", NAME="video1394/%n", GROUP="video"
 
 # capi devices
-KERNEL="capi",		NAME="capi20", SYMLINK="isdn/capi20"
-KERNEL="capi*",		NAME="capi/%n"
+KERNEL=="capi",		NAME="capi20", SYMLINK+="isdn/capi20"
+KERNEL=="capi*",	NAME="capi/%n"
 
 # cpu devices
-KERNEL="cpu[0-9]*",	NAME="cpu/%n/cpuid"
-KERNEL="msr[0-9]*",	NAME="cpu/%n/msr"
-KERNEL="microcode",	NAME="cpu/microcode"
+KERNEL=="cpu[0-9]*",	NAME="cpu/%n/cpuid"
+KERNEL=="msr[0-9]*",	NAME="cpu/%n/msr"
+KERNEL=="microcode",	NAME="cpu/microcode"
 
 # dm devices (ignore them)
-KERNEL="dm-[0-9]*",	NAME=""
+KERNEL=="dm-[0-9]*",	NAME=""
 # create a symlink named after the device map name
 # note devmap_name comes with extras/multipath
-#KERNEL="dm-[0-9]*",	PROGRAM="/sbin/devmap_name %M %m", NAME="%k", SYMLINK="%c"
-KERNEL="device-mapper",	NAME="mapper/control"
+#KERNEL=="dm-[0-9]*",	PROGRAM="/sbin/devmap_name %M %m", NAME="%k", SYMLINK+="%c"
+KERNEL=="device-mapper",	NAME="mapper/control"
 
-# fb devices
-KERNEL="fb[0-9]*",	NAME="fb/%n", SYMLINK="%k", GROUP="video"
 
 # floppy devices
-KERNEL="fd[0-9]*", NAME="floppy/%n", SYMLINK="%k", GROUP="floppy", PROGRAM="/etc/udev/scripts/floppy-extra-devs.sh %k %b %n"
+KERNEL=="fd[0-9]*", NAME="floppy/%n", SYMLINK+="%k", GROUP="floppy", PROGRAM="/lib/udev/floppy-extra-devs.sh %k %b %n"
 
 # i2c devices
-KERNEL="i2c-[0-9]*",	NAME="i2c/%n", SYMLINK="%k"
+KERNEL=="i2c-[0-9]*",	NAME="i2c/%n", SYMLINK+="%k"
 
 # input devices
-KERNEL="mice",		NAME="input/%k", MODE="0644"
-KERNEL="mouse*",	NAME="input/%k", MODE="0644"
-KERNEL="event*",	NAME="input/%k", MODE="0600"
-KERNEL="js*",		NAME="input/%k", MODE="664"
-KERNEL="ts*",		NAME="input/%k", MODE="0600"
+KERNEL=="mice",		NAME="input/%k", MODE="0644", SYMLINK+="mouse"
+KERNEL=="mouse*",	NAME="input/%k", MODE="0644"
+KERNEL=="event*",	NAME="input/%k", MODE="0600"
+KERNEL=="js*",		NAME="input/%k", MODE="664"
+KERNEL=="ts*",		NAME="input/%k", MODE="0600"
+SUBSYSTEM=="input[0-9]*", RUN+="/lib/udev/input_device.sh"
+KERNEL=="input[0-9]*", ACTION=="add", ENV{ABS}=="[1-9]*", RUN+="/sbin/modprobe joydev"
 
 # loop devices
-KERNEL="loop[0-9]*",	NAME="loop/%n", SYMLINK="%k", GROUP="disk"
+KERNEL=="loop[0-9]*",	NAME="loop/%n", SYMLINK+="%k", GROUP="disk"
 
 # md block devices
-KERNEL="md[0-9]*",	NAME="md/%n", SYMLINK="%k", GROUP="disk"
+KERNEL=="md[0-9]*",	NAME="md/%n", SYMLINK+="%k", GROUP="disk"
 
 # aoe char devices,
-SUBSYSTEM="aoe", KERNEL="discover",	NAME="etherd/%k", GROUP="disk", MODE="0220"
-SUBSYSTEM="aoe", KERNEL="err",		NAME="etherd/%k", GROUP="disk", MODE="0440"
-SUBSYSTEM="aoe", KERNEL="interfaces",	NAME="etherd/%k", GROUP="disk", MODE="0220"
-
-# misc devices
-KERNEL="agpgart",	NAME="misc/%k", SYMLINK="%k"
-KERNEL="psaux",		NAME="misc/%k", SYMLINK="%k"
-KERNEL="rtc",		NAME="misc/%k", SYMLINK="%k", MODE="0664"
-KERNEL="uinput",	NAME="misc/%k", SYMLINK="%k"
-KERNEL="inotify",	NAME="misc/%k", SYMLINK="%k", MODE="0666"
+SUBSYSTEM=="aoe", KERNEL=="discover",	NAME="etherd/%k", GROUP="disk", MODE="0220"
+SUBSYSTEM=="aoe", KERNEL=="err",	NAME="etherd/%k", GROUP="disk", MODE="0440"
+SUBSYSTEM=="aoe", KERNEL=="interfaces",	NAME="etherd/%k", GROUP="disk", MODE="0220"
 
 # netlink devices
-KERNEL="route",		NAME="netlink/%k"
-KERNEL="skip",		NAME="netlink/%k"
-KERNEL="usersock",	NAME="netlink/%k"
-KERNEL="fwmonitor",	NAME="netlink/%k"
-KERNEL="tcpdiag",	NAME="netlink/%k"
-KERNEL="nflog",		NAME="netlink/%k"
-KERNEL="xfrm",		NAME="netlink/%k"
-KERNEL="arpd",		NAME="netlink/%k"
-KERNEL="route6",	NAME="netlink/%k"
-KERNEL="ip6_fw",	NAME="netlink/%k"
-KERNEL="dnrtmsg",	NAME="netlink/%k"
-KERNEL="tap*",		NAME="netlink/%k"
-
-# network devices
-KERNEL="tun",		NAME="net/%k"
+KERNEL=="route",	NAME="netlink/%k"
+KERNEL=="skip",		NAME="netlink/%k"
+KERNEL=="usersock",	NAME="netlink/%k"
+KERNEL=="fwmonitor",	NAME="netlink/%k"
+KERNEL=="tcpdiag",	NAME="netlink/%k"
+KERNEL=="nflog",	NAME="netlink/%k"
+KERNEL=="xfrm",		NAME="netlink/%k"
+KERNEL=="arpd",		NAME="netlink/%k"
+KERNEL=="route6",	NAME="netlink/%k"
+KERNEL=="ip6_fw",	NAME="netlink/%k"
+KERNEL=="dnrtmsg",	NAME="netlink/%k"
+KERNEL=="tap*",		NAME="netlink/%k"
 
 # ramdisk devices
-KERNEL="ram[0-9]*",	NAME="rd/%n", SYMLINK="%k"
+KERNEL=="ram[0-9]*",	NAME="rd/%n", SYMLINK+="%k"
 
 # raw devices
-KERNEL="raw[0-9]*",	NAME="raw/%k", GROUP="disk"
-KERNEL="ram*",		NAME="%k", GROUP="disk"
+KERNEL=="raw[0-9]*",	NAME="raw/%k", GROUP="disk"
+KERNEL=="ram*",		NAME="%k", GROUP="disk"
 
 # sound devices
-KERNEL="adsp",			NAME="sound/%k", SYMLINK="%k", GROUP="audio", MODE="0662"
-KERNEL="adsp[0-9]*",		NAME="sound/%k", SYMLINK="%k", GROUP="audio", MODE="0662"
-KERNEL="audio",			NAME="sound/%k", SYMLINK="%k", GROUP="audio", MODE="0662"
-KERNEL="audio[0-9]*",		NAME="sound/%k", SYMLINK="%k", GROUP="audio", MODE="0662"
-KERNEL="dsp",			NAME="sound/%k", SYMLINK="%k", GROUP="audio", MODE="0662"
-KERNEL="dsp[0-9]*",		NAME="sound/%k", SYMLINK="%k", GROUP="audio", MODE="0662"
-KERNEL="mixer",			NAME="sound/%k", SYMLINK="%k", GROUP="audio", MODE="0662"
-KERNEL="mixer[0-9]*",		NAME="sound/%k", SYMLINK="%k", GROUP="audio", MODE="0662"
-KERNEL="sequencer",		NAME="sound/%k", SYMLINK="%k", GROUP="audio", MODE="0662"
-KERNEL="sequencer[0-9]*",	NAME="sound/%k", SYMLINK="%k", GROUP="audio", MODE="0662"
+KERNEL=="adsp",			NAME="sound/%k", SYMLINK+="%k", GROUP="audio", MODE="0662"
+KERNEL=="adsp[0-9]*",		NAME="sound/%k", SYMLINK+="%k", GROUP="audio", MODE="0662"
+KERNEL=="audio",		NAME="sound/%k", SYMLINK+="%k", GROUP="audio", MODE="0662"
+KERNEL=="audio[0-9]*",		NAME="sound/%k", SYMLINK+="%k", GROUP="audio", MODE="0662"
+KERNEL=="dsp",			NAME="sound/%k", SYMLINK+="%k", GROUP="audio", MODE="0662"
+KERNEL=="dsp[0-9]*",		NAME="sound/%k", SYMLINK+="%k", GROUP="audio", MODE="0662"
+KERNEL=="mixer",		NAME="sound/%k", SYMLINK+="%k", GROUP="audio", MODE="0662"
+KERNEL=="mixer[0-9]*",		NAME="sound/%k", SYMLINK+="%k", GROUP="audio", MODE="0662"
+KERNEL=="sequencer",		NAME="sound/%k", SYMLINK+="%k", GROUP="audio", MODE="0662"
+KERNEL=="sequencer[0-9]*",	NAME="sound/%k", SYMLINK+="%k", GROUP="audio", MODE="0662"
 
 # tty devices
-KERNEL="console",	NAME="%k", GROUP="tty", MODE="0600"
-KERNEL="tty",		NAME="%k", GROUP="tty", MODE="0666"
-KERNEL="tty[0-9]*",	NAME="vc/%n",  SYMLINK="%k", GROUP="tty"
-KERNEL="ttyS[0-9]*",	NAME="tts/%n", SYMLINK="%k", GROUP="tty"
-KERNEL="ttyUSB[0-9]*",	NAME="tts/USB%n", GROUP="tty", MODE="0600"
-KERNEL="ippp0",		NAME="%k", GROUP="tty"
-KERNEL="isdn*",		NAME="%k", GROUP="tty"
-KERNEL="dcbri*",	NAME="%k", GROUP="tty"
-KERNEL="ircomm*",	NAME="%k", GROUP="tty"
+KERNEL=="console",	NAME="%k", GROUP="tty", MODE="0600"
+KERNEL=="tty",		NAME="%k", GROUP="tty", MODE="0666"
+KERNEL=="tty[0-9]*",	NAME="vc/%n",  SYMLINK+="%k", GROUP="tty"
+KERNEL=="ttyS[0-9]*",	NAME="tts/%n", SYMLINK+="%k", GROUP="tty"
+KERNEL=="ttyUSB[0-9]*",	NAME="tts/USB%n", GROUP="tty", MODE="0600"
+KERNEL=="ippp0",	NAME="%k", GROUP="tty"
+KERNEL=="isdn*",	NAME="%k", GROUP="tty"
+KERNEL=="dcbri*",	NAME="%k", GROUP="tty"
+KERNEL=="ircomm*",	NAME="%k", GROUP="tty"
 
 # pty devices
-KERNEL="ptmx",			NAME="%k", GROUP="tty", MODE="0666"
-KERNEL="pty[p-za-e][0-9a-f]*",	NAME="pty/m%n", SYMLINK="%k", GROUP="tty"
-KERNEL="tty[p-za-e][0-9a-f]*",	NAME="pty/s%n", SYMLINK="%k", GROUP="tty"
+KERNEL=="ptmx",			NAME="%k", GROUP="tty", MODE="0666"
+KERNEL=="pty[p-za-e][0-9a-f]*",	NAME="pty/m%m", SYMLINK+="%k", GROUP="tty"
+KERNEL=="tty[p-za-e][0-9a-f]*",	NAME="pty/s%m", SYMLINK+="%k", GROUP="tty"
 
 # vc devices
-KERNEL="vcs",		NAME="vcc/0",	SYMLINK="%k", GROUP="tty"
-KERNEL="vcs[0-9]*",	NAME="vcc/%n",	SYMLINK="%k", GROUP="tty"
-KERNEL="vcsa",		NAME="vcc/a0",	SYMLINK="%k", GROUP="tty"
-KERNEL="vcsa[0-9]*",	NAME="vcc/a%n",	SYMLINK="%k", GROUP="tty"
+KERNEL=="vcs",		NAME="vcc/0",	SYMLINK+="%k", GROUP="tty"
+KERNEL=="vcs[0-9]*",	NAME="vcc/%n",	SYMLINK+="%k", GROUP="tty"
+KERNEL=="vcsa",		NAME="vcc/a0",	SYMLINK+="%k", GROUP="tty"
+KERNEL=="vcsa[0-9]*",	NAME="vcc/a%n",	SYMLINK+="%k", GROUP="tty"
 
 # memory devices
-KERNEL="random",	NAME="%k", MODE="0664"
-KERNEL="urandom",	NAME="%k", MODE="0664"
-KERNEL="mem",		NAME="%k", GROUP="kmem", MODE="0640"
-KERNEL="kmem",		NAME="%k", GROUP="kmem", MODE="0640"
-KERNEL="port",		NAME="%k", GROUP="kmem", MODE="0640"
-KERNEL="full",		NAME="%k", MODE="0666"
-KERNEL="null",		NAME="%k", MODE="0666"
-KERNEL="zero",		NAME="%k", MODE="0666"
+KERNEL=="random",	NAME="%k", MODE="0664"
+KERNEL=="urandom",	NAME="%k", MODE="0664"
+KERNEL=="mem",		NAME="%k", GROUP="kmem", MODE="0640"
+KERNEL=="kmem",		NAME="%k", GROUP="kmem", MODE="0640"
+KERNEL=="port",		NAME="%k", GROUP="kmem", MODE="0640"
+KERNEL=="nvram",	NAME="%k", GROUP="kmem", MODE="600"
+KERNEL=="full",		NAME="%k", MODE="0666"
+KERNEL=="null",		NAME="%k", MODE="0666"
+KERNEL=="zero",		NAME="%k", MODE="0666"
+
+# misc devices
+KERNEL=="agpgart",	NAME="misc/%k", SYMLINK+="%k"
+KERNEL=="psaux",	NAME="misc/%k", SYMLINK+="%k"
+KERNEL=="rtc",		NAME="misc/%k", SYMLINK+="%k", MODE="0664"
+KERNEL=="uinput",	NAME="misc/%k", SYMLINK+="%k"
+KERNEL=="inotify",	NAME="misc/%k", SYMLINK+="%k", MODE="0666"
 
 # usb devices
-KERNEL="hiddev*",		NAME="usb/%k"
-KERNEL="auer*",			NAME="usb/%k"
-KERNEL="legousbtower*",		NAME="usb/%k"
-KERNEL="dabusb*",		NAME="usb/%k"
-BUS="usb", KERNEL="lp[0-9]*",	NAME="usb/%k", GROUP="lp"
+KERNEL=="hiddev*",		NAME="usb/%k"
+KERNEL=="auer*",		NAME="usb/%k"
+KERNEL=="legousbtower*",	NAME="usb/%k"
+KERNEL=="dabusb*",		NAME="usb/%k"
+
+# fb devices
+KERNEL=="fb[0-9]*",	NAME="fb/%n", SYMLINK+="%k", GROUP="video"
+
+# DRI devices
+KERNEL=="card*",	NAME="dri/card%n", GROUP="video"
+KERNEL=="nvidia*",	NAME="%k", GROUP="video"
+KERNEL=="3dfx*",	NAME="%k", GROUP="video"
 
 # v4l devices
-KERNEL="video[0-9]*",	NAME="v4l/video%n", SYMLINK="video%n", GROUP="video"
-KERNEL="radio[0-9]*",	NAME="v4l/radio%n", GROUP="video"
-KERNEL="vbi[0-9]*",	NAME="v4l/vbi%n", SYMLINK="vbi%n", GROUP="video"
-KERNEL="vtx[0-9]*",	NAME="v4l/vtx%n", GROUP="video"
+KERNEL=="video[0-9]*",	NAME="v4l/video%n", SYMLINK+="video%n", GROUP="video"
+KERNEL=="radio[0-9]*",	NAME="v4l/radio%n", SYMLINK+="radio%n", GROUP="video"
+KERNEL=="vbi[0-9]*",	NAME="v4l/vbi%n", SYMLINK+="vbi%n", GROUP="video"
+KERNEL=="vtx[0-9]*",	NAME="v4l/vtx%n", GROUP="video"
 
 # dvb devices
-KERNEL="dvb*", PROGRAM="/etc/udev/scripts/dvb.sh %k", NAME="%c", GROUP="video", MODE="0660"
+SUBSYSTEM=="dvb", PROGRAM="/bin/sh -c 'X=%k; X=$${X#dvb}; A=$${X%%%%.*}; D=$${X#*.}; echo dvb/adapter$$A/$$D'", NAME="%c", GROUP="video"
 
 # Asterix Zaptel devices
-KERNEL="zapctl",	NAME="zap/ctl"
-KERNEL="zaptimer",	NAME="zap/timer"
-KERNEL="zapchannel",	NAME="zap/channel"
-KERNEL="zappseudo",	NAME="zap/pseudo"
-KERNEL="zap[0-9]*",	NAME="zap/%n"
+KERNEL=="zapctl",	NAME="zap/ctl"
+KERNEL=="zaptimer",	NAME="zap/timer"
+KERNEL=="zapchannel",	NAME="zap/channel"
+KERNEL=="zappseudo",	NAME="zap/pseudo"
+KERNEL=="zap[0-9]*",	NAME="zap/%n"
 
 # pilot/palm devices
-KERNEL="pilot",		NAME="%k", GROUP="uucp"
+KERNEL=="pilot",	NAME="%k", GROUP="uucp"
 
 # jaz devices
-KERNEL="jaz*",		NAME="%k", GROUP="disk"
+KERNEL=="jaz*",		NAME="%k", GROUP="disk"
 
 # zip devices
-KERNEL="pocketzip*",	NAME="%k", GROUP="disk"
-KERNEL="zip*",		NAME="%k", GROUP="disk"
+KERNEL=="pocketzip*",	NAME="%k", GROUP="disk"
+KERNEL=="zip*",		NAME="%k", GROUP="disk"
 
 # ls120 devices
-KERNEL="ls120",		NAME="%k", GROUP="disk"
+KERNEL=="ls120",	NAME="%k", GROUP="disk"
 
 # lp devices
-KERNEL="lp*",		NAME="%k", GROUP="lp"
-KERNEL="irlpt",		NAME="%k", GROUP="lp"
-KERNEL="usblp",		NAME="%k", GROUP="lp"
-KERNEL="lp*",		NAME="%k", GROUP="lp"
+KERNEL=="irlpt",	NAME="%k", GROUP="lp", MODE="0664"
+SUBSYSTEM=="usb", KERNEL=="lp*", NAME="usb/%k", SYMLINK+="usb%k", GROUP="lp", MODE="0664"
+SUBSYSTEM=="printer", KERNEL=="lp*", NAME="%k", GROUP="lp", MODE="0664"
+KERNEL=="parport*",	NAME="%k", GROUP="lp", MODE="0664"
 
 # tape devices
-KERNEL="ht*",		NAME="%k"
-KERNEL="nht*",		NAME="%k"
-KERNEL="pt*",		NAME="%k"
-KERNEL="npt*",		NAME="%k"
-KERNEL="st*",		NAME="%k"
-KERNEL="nst*",		NAME="%k"
-KERNEL="osst*",		NAME="%k"
-KERNEL="nosst*",	NAME="%k"
+KERNEL=="ht*",		NAME="%k"
+KERNEL=="nht*",		NAME="%k"
+KERNEL=="pt*",		NAME="%k"
+KERNEL=="npt*",		NAME="%k"
+KERNEL=="st*",		NAME="%k"
+KERNEL=="nst*",		NAME="%k"
+KERNEL=="osst*",	NAME="%k"
+KERNEL=="nosst*",	NAME="%k"
 
 # diskonkey devices
-KERNEL="diskonkey*",	NAME="%k", GROUP="disk"
+KERNEL=="diskonkey*",	NAME="%k", GROUP="disk"
 
 # rem_ide devices
-KERNEL="microdrive*",	NAME="%k", GROUP="disk"
+KERNEL=="microdrive*",	NAME="%k", GROUP="disk"
 
 # kbd devices
-KERNEL="kbd",		NAME="%k", MODE="0664"
+KERNEL=="kbd",		NAME="%k", MODE="0664"
 
 # Sony Vaio Jogdial sonypi device
-KERNEL="sonypi",	NAME="%k", MODE="0666"
+KERNEL=="sonypi",	NAME="%k", MODE="0666"
 
 # packet devices
-KERNEL="pktcdvd",	NAME="pktcdvd/control", GROUP="cdrom", MODE="0660"
-KERNEL="pktcdvd[0-9]*",	NAME="pktcdvd/pktcdvd%n", GROUP="cdrom", MODE="0660"
+KERNEL=="pktcdvd",		NAME="pktcdvd/control", GROUP="cdrom", MODE="0660"
+KERNEL=="pktcdvd[0-9]*",	NAME="pktcdvd/pktcdvd%n", GROUP="cdrom", MODE="0660"
 
 # infiniband devices
-KERNEL="umad*",	NAME="infiniband/%k"
-KERNEL="issm*", NAME="infiniband/%k"
+KERNEL=="umad*",	NAME="infiniband/%k"
+KERNEL=="issm*", NAME="infiniband/%k"
+
+# PnP
+SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", \
+        RUN+="/bin/sh -c 'while read id; do /sbin/modprobe pnp:d$$id; done < /sys$devpath/id'"
+
+# firewire
+SUBSYSTEM=="ieee1394", ENV{MODALIAS}!="?*", IMPORT{program}="modalias_ieee1394"
+
+#  libusb device access
+DEVPATH=="/module/usbcore", ACTION=="add", \
+              RUN+="/bin/sh -c 'sleep 1; /bin/mount none -t usbfs /proc/bus/usb -o devmode=0666,devgid=10'"
+SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'X=%k X=$${X#usbdev}; B=$${X%%%%.*}; D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c"
 
-## These lines are causing race conditions with the symlink to udevstart in
-## /etc/hotplug.d/default/, so they are being commented out for now.  Udev
-## seems to work better that way...  YMMV.
+# firmware loader
+SUBSYSTEM=="firmware", ACTION=="add", RUN+="/lib/udev/firmware_helper"
+
+# load module
+ACTION=="add", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"
+
+# PCMCIA devices:
 #
-## be backward compatible for a while with the /etc/dev.d and /etc/hotplug.d/.
-## systems run /etc/hotplug.d/ stuff only if we came from a hotplug event,
-## not for udevstart
-#ENV{UDEVD_EVENT}=="1", RUN+="/sbin/udev_run_hotplugd"
+# Very few CIS firmware entries (which we use for matching)
+# are so broken that we need to read out random bytes of it
+# instead of the manufactor, card or product ID. Then the
+# matching is done in userspace.
+ACTION=="add", SUBSYSTEM=="pcmcia", ENV{MODALIAS}=="?*", \
+		RUN+="/sbin/pcmcia-check-broken-cis"
+
+# However, the "weak" matching by func_id is only allowed _after_ modprobe
+# returns, so that "strong" matches have a higher priority.
+ACTION=="add", SUBSYSTEM=="pcmcia", ENV{MODALIAS}=="?*", \
+		RUN+="/bin/sh -c 'echo 1 > /sys/$DEVPATH/allow_func_id_match'"
+
+# PCMCIA sockets:
 #
-## always run /etc/dev.d/ stuff for now
-#RUN+="/sbin/udev_run_devd"
+# modprobe the pcmcia bus module so that 16-bit PCMCIA devices work
+ACTION=="add", SUBSYSTEM=="pcmcia_socket", RUN+="/sbin/modprobe pcmcia"
+
+# if this is a PCMCIA socket which needs a resource database,
+# pcmcia-socket-startup sets it up
+ACTION=="add", SUBSYSTEM=="pcmcia_socket", RUN+="/sbin/pcmcia-socket-startup"
+
+# network devices
+KERNEL=="tun", NAME="net/%k"
+SUBSYSTEM=="net", ACTION=="add", RUN+="/lib/udev/nethelper.sh $env{INTERFACE} start"
+SUBSYSTEM=="net", ACTION=="remove", RUN+="/lib/udev/nethelper.sh $env{INTERFACE} stop"
+
+# if you use HAL, try this:
+# send all events to HAL
+#RUN+="socket:/org/freedesktop/hal/udev_event"
 
+# catch the event in udevmonitor
+RUN+="socket:/org/kernel/udev/monitor"

[-- Attachment #3: Type: text/plain, Size: 373 bytes --]

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

[-- Attachment #4: Type: text/plain, Size: 226 bytes --]

_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

             reply	other threads:[~2006-08-08 12:06 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-08 12:06 Piter PUNK [this message]
2006-08-08 16:12 ` [PATCH] new udev.rules in slackware Kay Sievers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44D87E28.2080708@terra.com.br \
    --to=piterpk@terra.com.br \
    --cc=linux-hotplug@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.