add options to udevtrigger to control scanning
PATCH 1/1 add options to udevtrigger to control scanning
This patch has been in the gentoo tree for a bit. It modifies udevtrigger to allow a little more fine grained control for people who don't want all of the sysfs tree to be scanned by udevtrigger at startup.
Patch was originally written by Martin Schlemmer <[email protected]> but was forward-ported by me to the latest version of udev.
udevtrigger.c +17 -4
@@ -358,6 +358,9 @@ int main(int argc, char *argv[], char *e {int i;int failed =0 ; +int block =1 ; +int bus =1 ; +int class =1 ;logging_init ("udevtrigger" );udev_config_init ();
@@ -373,8 +376,15 @@ int main(int argc, char *argv[], char *e dry_run =1 ; }else if (strcmp (arg,"--retry-failed" ) =0 ||strcmp (arg,"-F" ) =0 ) { failed =1 ; + }else if (strcmp (arg,"--no-scan-block" ) =0 ) { + block =0 ; + }else if (strcmp (arg,"--no-scan-bus" ) =0 ) { + bus =0 ; + }else if (strcmp (arg,"--no-scan-class" ) =0 ) { + class =0 ; }else if (strcmp (arg,"--help" ) =0 ||strcmp (arg,"-h" ) =0 ) { -printf ("Usage: udevtrigger [--help] [--verbose] [--dry-run] [--retry-failed]\n" ); +printf ("Usage: udevtrigger [--no-scan-block] [--no-scan-bus] [--no-scan-class]\n" ); +printf (" [--help] [--verbose] [--dry-run] [--retry-failed]\n" ); goto exit; }else {fprintf (stderr,"unrecognized option '%s'\n" , arg);
@@ -386,9 +396,12 @@ int main(int argc, char *argv[], char *escan_failed (); else {/* default action */ -scan_bus (); -scan_class (); -scan_block (); +if (bus) +scan_bus (); +if (class) +scan_class (); +if (block) +scan_block (); }exec_lists ();
-------------------------------------------------------------------------
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&kid0709&bid&3057&dat1642
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 4 lines · Greg KH
This patch has been in the gentoo tree for a bit. It modifies udevtrigger to allow a little more fine grained control for people who don't want all of the sysfs tree to be scanned by udevtrigger at startup.
When is it useful to have such options. And "no" flags who negate something from all events sounds pretty odd to me.
The Ubuntu guys use a patch which can filter on values to have control over what is triggered and what not. If we are going that road, I like their patch more than this. But in both cases, please explain in which situations this is really needed?
Thanks,
Kay
-------------------------------------------------------------------------
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&kid0709&bid&3057&dat1642
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 8 lines · Kay Sievers
Quoted 4 lines · Greg KH
This patch has been in the gentoo tree for a bit. It modifies udevtrigger to allow a little more fine grained control for people who don't want all of the sysfs tree to be scanned by udevtrigger at startup.
When is it useful to have such options. And "no" flags who negate something from all events sounds pretty odd to me.
Well, either that or force the --scan-class options to be used :)
Quoted 3 lines
The Ubuntu guys use a patch which can filter on values to have control over what is triggered and what not. If we are going that road, I like their patch more than this.
Do you have a pointer to where this patch is?
Quoted 2 lines
But in both cases, please explain in which situations this is really needed?
People do not want all of their devices probed for at boot time, they want to load the modules that they know they want, on their own. So they don't want all of the modalias files being poked at.
In short, they don't like the "coldplug" functionality for loading modules and only want udev to handle the device nodes present at boot time. I don't blame them for wanting this because with machines that you know all the hardware, it isn't necessary, and does speed up the boot process ever so slightly.
And yes, they can use the blacklist functionality from module-init-tools, except that seems to be broken right now in the Gentoo releases, and I'm having a hard time figuring out why. It used to work...
So this could be reduced to just the one option, --no-scan-bus, as that is all that Gentoo currently uses. I think the original author was just trying to be nice in giving all possible options :)
Would you be more comfortable with just that option being added? The filter seems a bit complicated, unless you are able to specify all modalias files.
thanks,
greg k-h
-------------------------------------------------------------------------
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&kid0709&bid&3057&dat1642
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 4 lines · Greg KH
And yes, they can use the blacklist functionality from module-init-tools, except that seems to be broken right now in the Gentoo releases, and I'm having a hard time figuring out why. It used to work...
They could also not create a rule to run modprobe, which looks cleaner to me and does not require any new code.
Signature · 12 lines
ciao, Marco ------------------------------------------------------------------------- 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&kid0709&bid&3057&dat1642 _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net [email protected] https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 8 lines · Marco d'Itri
Quoted 4 lines · Greg KH
And yes, they can use the blacklist functionality from module-init-tools, except that seems to be broken right now in the Gentoo releases, and I'm having a hard time figuring out why. It used to work...
They could also not create a rule to run modprobe, which looks cleaner to me and does not require any new code.
But you want modprobe to run when adding a new usb device, or pcmcia device, so that rule is necessary. Just not at boot time which causes the whole pci bus to be scanned, and stupid things like shpchp always to be loaded :(
thanks,
greg k-h
-------------------------------------------------------------------------
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&kid0709&bid&3057&dat1642
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 6 lines · Greg KH
Quoted 3 lines
The Ubuntu guys use a patch which can filter on values to have control over what is triggered and what not. If we are going that road, I like their patch more than this.
Do you have a pointer to where this patch is?
Attached; I sent it to this list a while back as part of my "patches collection" mail.
The reason we use this is that we try and have an initramfs that works on every single machine, rather than produce a tailored one for the machine underneath.
So we take a little more care about what we coldplug and when -- rather than just probing for everything and hoping for the best.
Scott
Signature · 2 lines
Scott James Remnant [email protected]
udevtrigger.8 +82 -19
@@ -1,37 +1,100 @@ -.\" ** You probably do not want to edit this file directly ** -.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). -.\" Instead of manually editing it, you probably should edit the DocBook XML -.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. -.TH "UDEVTRIGGER" "8" "March 2006" "udev" "udevtrigger" -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.SH "NAME" +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "UDEVTRIGGER" 8 "March 2006" "udev" "udevtrigger" +.SH NAME udevtrigger \- request kernel devices events for coldplug .SH "SYNOPSIS" +.ad l +.hy 0 .HP 12 -\fBudevtrigger\fR [\fB\-\-verbose\fR] [\fB\-\-dry\-run\fR] +\fBudevtrigger\fR [\fB\-\-verbose\fR] [\fB\-\-dry\-run\fR] [\fB\-\-serial\fR] [\fBFILTER\&.\&.\&.\fR] +.ad +.hy + .SH "DESCRIPTION" + .PP -Trigger kernel device uevents to replay missing events at system coldplug. +Trigger kernel device uevents to replay missing events at system coldplug\&. + .SH "OPTIONS" + .TP \fB\-\-verbose\fR -print out the devices found in sysfs. +print out the devices found in sysfs\&. + .TP \fB\-\-dry\-run\fR -don't actually trigger the event. +don't actually trigger the event\&. + +.TP +\fB\-\-serial\fR +run udevsettle between events\&. + +.SH "FILTER OPTIONS" + +.PP +All options are accumulative and may be specified multiple times + +.TP +\fB\-I\fIattr\fR=\fIvalue\fR\fR +only those devices for which the given attribute matches the value (which may include wildcards) are triggered + +.TP +\fB\-X\fIattr\fR=\fIvalue\fR\fR +only those devices for which the given attribute DOES NOT MATCH the value (which may include wildcards) are triggered + +.TP +\fB\-B\fIbus\fR\fR +devices on the given bus are triggered + +.TP +\fB\-C\fIclass\fR\fR +devices in the given class are triggered + +.TP +\fB\-F\fR +devices that have previously failed are triggered + +.TP +\fB\-b\fR +block devices are triggered + +.TP +\fB\-c\fR +class devices are triggered + .SH "ENVIRONMENT" + .TP \fBUDEV_LOG\fR -Overrides the syslog priority specified in the config file. +Overrides the syslog priority specified in the config file\&. + .SH "AUTHOR" + .PP -Written by Kay Sievers -<[email protected]> -and Hannes Reinecke -<[email protected]>. +Written by Kay Sievers <kay\&.sievers@vrfy\&.org> and Hannes Reinecke <hare@suse\&.de>\&. + .SH "SEE ALSO" + .PP \fBudev\fR(7) + +.SH AUTHOR +Kay Sievers.
udevtrigger.c +244 -45
389 lines not on this page · raw message
udevtrigger.xml +59 -0
71 lines not on this page · raw message
-------------------------------------------------------------------------
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
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 2 lines · Greg KH
Patch was originally written by Martin Schlemmer <[email protected]> but was forward-ported by me to the latest version of udev.
Phooey - it was written by me :P
az just applied it to the portage tree :)
Signature · 12 lines
Roy Marples <[email protected]> Gentoo/Linux Developer (baselayout, networking) ------------------------------------------------------------------------- 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&kid0709&bid&3057&dat1642 _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net [email protected] https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 13 lines · Greg KH
Quoted 7 lines · Kay Sievers
Quoted 4 lines · Greg KH
This patch has been in the gentoo tree for a bit. It modifies udevtrigger to allow a little more fine grained control for people who don't want all of the sysfs tree to be scanned by udevtrigger at startup.
When is it useful to have such options?
People do not want all of their devices probed for at boot time, they want to load the modules that they know they want, on their own. So they don't want all of the modalias files being poked at.
Quoted 7 lines
So this could be reduced to just the one option, --no-scan-bus, as that is all that Gentoo currently uses. I think the original author was just trying to be nice in giving all possible options :)
Would you be more comfortable with just that option being added? The filter seems a bit complicated, unless you are able to specify all modalias files.
We better avoid exposing kernel driver implementation details like 'bus', 'class', 'block', if we can. The current udev does not even have the old BUS= key in the man page, and everything is just SUBSYSTEM(S). That way, we are hopefully free to move things around in the kernel without breaking too much in userspace. Also 'block' may be a 'class', some day, and better not have its own option.
I've added these options to udevtrigger now:
--subsystem-match=<subsystem>
--subsystem-nomatch=<subsystem>
--attr-match=<file[=<value>]>
--attr-nomatch=<file[=<value>]>
If you only want to populate /dev, this should work fine:
udevtrigger --attr-match�v
It will also skip all class devices which don't have a corresponding device node.
You can also just skip all devices with a 'modalias' file:
udevtrigger --attr-nomatch modalias
Or just skip all devices with 'modalias' for pci:
udevtrigger --attr-nomatch modalias=pci*
By adding "--dry-run --verbose", you can check the filter on the command line. It's in the git tree now, care to try if that works for you?
Thanks,
Kay
-------------------------------------------------------------------------
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&kid0709&bid&3057&dat1642
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 10 lines · Kay Sievers
I've added these options to udevtrigger now:
--subsystem-match=<subsystem>
--subsystem-nomatch=<subsystem>
--attr-match=<file[=<value>]>
--attr-nomatch=<file[=<value>]>If you only want to populate /dev, this should work fine:
udevtrigger --attr-matchÞv
It will also skip all class devices which don't have a corresponding device node.
Very nice, I just tried this out and it works fine for me. Nice thing is, it sped up my boot time a bunch, as I don't have to wait on udevtrigger to finish setting up my usb bus (or that's why I'm guessing it's so much faster, haven't looked into it at all yet.)
thanks for doing this.
Oh, attached is the latest gentoo 50-rules.d file, if you want to update the udev tree with it (Gentoo now uses the persistant rules file from the udev package, so our rules file is a lot smaller now.)
thanks,
greg k-h
-------------------------------------------------------------------------
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&kid0709&bid&3057&dat1642
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 3 lines · Greg KH
Oh, attached is the latest gentoo 50-rules.d file, if you want to update the udev tree with it (Gentoo now uses the persistant rules file from the udev package, so our rules file is a lot smaller now.)
Bleah, forgot it, sorry. Here it is...
# /etc/udev/rules/50-udev.rules: device naming rules for udev
#
# Gentoo specific rules
#
# 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. # # Try not to modify this file, if you wish to change things, create a new rule # file that can be run before this one. #
# console KERNEL=="pty[pqrstuvwxyzabcdef][0123456789abcdef]", NAME="%k", GROUP="tty", OPTIONS="last_rule" KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", NAME="%k", GROUP="tty", OPTIONS="last_rule" KERNEL=="vcs*", NAME="%k", GROUP="tty", OPTIONS="last_rule" KERNEL=="vcsa*", NAME="%k", GROUP="tty", OPTIONS="last_rule" KERNEL=="tty", NAME="%k", GROUP="tty", MODE="0666", OPTIONS="last_rule" KERNEL=="tty[0-9]", NAME="%k", GROUP="tty", OPTIONS="last_rule" KERNEL=="tty[0-9][0-9]", NAME="%k", GROUP="tty", OPTIONS="last_rule" KERNEL=="console", NAME="%k", GROUP="tty", MODE="0600" KERNEL=="ptmx", NAME="%k", GROUP="tty", MODE="0666"
# tty devices KERNEL=="ttyS[0-9]*", NAME="%k", SYMLINK="tts/%n", GROUP="tty" KERNEL=="ttyUSB[0-9]*", NAME="%k", SYMLINK="tts/USB%n", GROUP="tty", MODE="0660" KERNEL=="ippp0", NAME="%k", GROUP="tty" KERNEL=="isdn*" NAME="%k", GROUP="tty" KERNEL=="dcbri*", NAME="%k", GROUP="tty" KERNEL=="ircomm*", NAME="%k", GROUP="tty"
# all block devices SUBSYSTEM=="block", GROUP="disk"
# cdrom symlinks and other good cdrom naming
BUS=="ide", KERNEL=="hd[a-z]", ACTION=="add", IMPORT="cdrom_id --export $tempnode"
BUS=="scsi", KERNEL=="sr[0-9]*", ACTION=="add", IMPORT="cdrom_id --export $tempnode"
BUS=="scsi", KERNEL=="scd[a-z]", ACTION=="add", IMPORT="cdrom_id --export $tempnode"
BUS=="scsi", KERNEL=="sg[0-9]*", ACTION=="add", DRIVERS=="sr", GROUP="cdrom"
ENV{ID_CDROM}=="?*", PROGRAM="seq_node.sh %r %k cdrom", SYMLINK+="%c", GROUP="cdrom"
ENV{ID_CDROM_CD_RW}=="?*", PROGRAM="seq_node.sh %r %k cdrw", SYMLINK+="%c"
ENV{ID_CDROM_DVD}=="?*", PROGRAM="seq_node.sh %r %k dvd", SYMLINK+="%c"
ENV{ID_CDROM_DVD_R}=="?*", PROGRAM="seq_node.sh %r %k dvdrw", SYMLINK+="%c"# disk devices KERNEL=="sd*", NAME="%k", GROUP="disk" KERNEL=="dasd*", NAME="%k", GROUP="disk" KERNEL=="ataraid*", NAME="%k", GROUP="disk"
# compaq smart array KERNEL=="cciss*", NAME="%k" KERNEL=="ida*", NAME="%k"
# mylex KERNEL=="rd*", NAME="%k"
# dri devices KERNEL=="card*", NAME="dri/card%n", GROUP="video" KERNEL=="nvidia*", NAME="%k", GROUP="video" KERNEL=="3dfx*", NAME="%k", GROUP="video"
# alsa devices SUBSYSTEM=="sound", GROUP="audio" KERNEL=="controlC[0-9]*", NAME="snd/%k" KERNEL=="hw[CD0-9]*", NAME="snd/%k" KERNEL=="pcm[CD0-9cp]*", NAME="snd/%k" KERNEL=="midiC[D0-9]*", NAME="snd/%k" KERNEL=="timer", NAME="snd/%k" KERNEL=="seq", NAME="snd/%k"
# capi devices KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20", GROUP="dialout" KERNEL=="capi*", NAME="capi/%n", GROUP="dialout"
# cpu devices 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]*", OPTIONS="ignore_device" # 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"
# 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"
# i2c devices 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"
# loop devices 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"
# 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"
# 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", MODE="0600"
# ramdisk devices KERNEL=="ram[0-9]*", NAME="rd/%n", SYMLINK+="%k"
# IEEE1394 (firewire) devices (must be before raw devices below)
KERNEL=="raw1394", NAME="%k", GROUP="video"
KERNEL=="dv1394*", NAME="dv1394/%n", GROUP="video"
KERNEL=="video1394*", NAME="video1394/%n", GROUP="video"
# raw devices 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" KERNEL=="adsp[0-9]*", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" KERNEL=="audio", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" KERNEL=="audio[0-9]*", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" KERNEL=="dsp", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" KERNEL=="dsp[0-9]*", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" KERNEL=="mixer", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" KERNEL=="mixer[0-9]*", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" KERNEL=="sequencer", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" KERNEL=="sequencer[0-9]*", NAME="sound/%k", SYMLINK+="%k", GROUP="audio"
# memory devices KERNEL=="random", NAME="%k", MODE="0666" KERNEL=="urandom", NAME="%k", MODE="0444" KERNEL=="mem", NAME="%k", MODE="0640" KERNEL=="kmem", NAME="%k", MODE="0640" KERNEL=="port", NAME="%k", MODE="0640" KERNEL=="full", NAME="%k", MODE="0666" KERNEL=="null", NAME="%k", MODE="0666" KERNEL=="zero", NAME="%k", MODE="0666"
# usb devices KERNEL=="hiddev*", NAME="usb/%k" KERNEL=="auer*", NAME="usb/%k" KERNEL=="legousbtower*", NAME="usb/%k", GROUP="usb" KERNEL=="dabusb*", NAME="usb/%k" BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k", GROUP="lp"
# v4l devices 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
SUBSYSTEM=="dvb", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="video"# Asterisk 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"
# pilot/palm devices KERNEL=="pilot", NAME="%k", GROUP="uucp"
# jaz devices KERNEL=="jaz*", NAME="%k", GROUP="disk"
# zip devices KERNEL=="pocketzip*", NAME="%k", GROUP="disk" KERNEL=="zip*", NAME="%k", GROUP="disk"
# ls120 devices 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=="parport*", NAME="%k", GROUP="lp"
# tape devices KERNEL=="ht*", NAME="%k", GROUP="tape" KERNEL=="nht*", NAME="%k", GROUP="tape" KERNEL=="pt*", NAME="%k", GROUP="tape" KERNEL=="npt*", NAME="%k", GROUP="tape" KERNEL=="st*", NAME="%k", GROUP="tape" KERNEL=="nst*", NAME="%k", GROUP="tape" KERNEL=="osst*", NAME="%k", GROUP="tape" KERNEL=="nosst*", NAME="%k", GROUP="tape"
# diskonkey devices KERNEL=="diskonkey*", NAME="%k", GROUP="disk"
# rem_ide devices KERNEL=="microdrive*", NAME="%k", GROUP="disk"
# kbd devices KERNEL=="kbd", NAME="%k", MODE="0664"
# Sony Vaio Jogdial sonypi device
KERNEL=="sonypi", NAME="%k", MODE="0666"
# packet devices KERNEL=="pktcdvd", NAME="pktcdvd/control", GROUP="cdrw", MODE="0660" KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/pktcdvd%n", GROUP="cdrw", MODE="0660"
# infiniband devices KERNEL=="umad*", NAME="infiniband/%k" KERNEL=="issm*", NAME="infiniband/%k"
# usbfs-like device nodes
SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0644"# Module autoloading
# Autoload modules that lack aliases but have them defined inutoload modules SYSFS{modalias}=="?*", ACTION=="add", RUN+="/sbin/modprobe $env{MODALIAS}"
# /etc/modprobe.conf.
SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", RUN+="/bin/sh -c 'while read id; do /sbin/modprobe pnp:d$$id; done < /sys$devpath/id'"
# If you have problems with some pnp modules being loaded, please enter the
# following aliases into the modprobe configuration files. These are needed by
# udev to autoload some modules
# alias pnp:dPNP0510 irtty-sir
# alias pnp:dPNP0511 irtty-sir
# alias pnp:dPNP0700 floppy
# alias pnp:dPNP0800 pcspkr
# alias pnp:dPNP0b00 rtc
# alias pnp:dPNP0303 atkbd
# alias pnp:dPNP0f13 psmouse
# alias pnp:dPNPb02f analog# Load firmware
SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh"
# 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+="udev_run_hotplugd $env{SUBSYSTEM}"# always run /etc/dev.d/ stuff for now.
RUN+="udev_run_devd $env{SUBSYSTEM}"# debugging monitor RUN+="socket:/org/kernel/udev/monitor"
-------------------------------------------------------------------------
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
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel