# import the properties of optical drives KERNEL=="hd[a-z]|pcd[0-9]*", ACTION=="add|change", DRIVERS=="ide-cdrom|pcd", \ IMPORT{program}="cdrom_id --export $tempnode" KERNEL=="sr[0-9]*", ACTION=="add|change", \ IMPORT{program}="cdrom_id --export $tempnode" # workarounds for devices which do not report media changes SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", \ ATTRS{model}=="IOMEGA_ZIP*|ZIP *", OPTIONS+="all_partitions" SUBSYSTEMS=="scsi", KERNEL=="sd[a-z]", ATTR{removable}=="1", \ ATTRS{model}=="IOMEGA_ZIP*|ZIP *", OPTIONS+="all_partitions" SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", \ ATTRS{media}=="floppy", OPTIONS+="all_partitions" # SCSI devices SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", NAME="scd%n", SYMLINK+="sr%n" SUBSYSTEM=="bsg", NAME="bsg/%k" # USB devices SUBSYSTEMS=="usb", KERNEL=="auer[0-9]*", NAME="usb/%k" SUBSYSTEMS=="usb", KERNEL=="cpad[0-9]*", NAME="usb/%k" SUBSYSTEMS=="usb", KERNEL=="dabusb*", NAME="usb/%k" SUBSYSTEMS=="usb", KERNEL=="hiddev*", NAME="usb/%k" SUBSYSTEMS=="usb", KERNEL=="legousbtower*", NAME="usb/%k" SUBSYSTEMS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k" SUBSYSTEMS=="usb", KERNEL=="iowarrior[0-9]*", NAME="usb/%k" SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", \ ATTRS{product}=="[Hh]andspring*Treo*|[Hh]andspring*Visor*|[Pp]alm*Handheld*", \ SYMLINK+="pilot" # usbfs-like devices SUBSYSTEM=="usb_device", ACTION=="add", \ PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", ACTION=="add", \ NAME="$result" SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}" # serial devices KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20" KERNEL=="capi[0-9]*", NAME="capi/%n" # video devices KERNEL=="dvb*", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}", ACTION=="add", \ NAME="$result" KERNEL=="card[0-9]*", NAME="dri/%k" # misc devices KERNEL=="hw_random", NAME="hwrng" KERNEL=="tun", NAME="net/%k" KERNEL=="evtchn", NAME="xen/%k" KERNEL=="rtc0", SYMLINK+="rtc" KERNEL=="cdemu[0-9]*", NAME="cdemu/%n" KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%n" KERNEL=="pktcdvd", NAME="pktcdvd/control" KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid" KERNEL=="msr[0-9]*", NAME="cpu/%n/msr" KERNEL=="microcode", NAME="cpu/microcode" KERNEL=="umad*", NAME="infiniband/%k" KERNEL=="issm*", NAME="infiniband/%k" KERNEL=="uverbs*", NAME="infiniband/%k" KERNEL=="ucm*", NAME="infiniband/%k" KERNEL=="rdma_cm", NAME="infiniband/%k" # ALSA devices 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" # ieee1394 devices KERNEL=="dv1394*", NAME="dv1394/%n" KERNEL=="video1394*", NAME="video1394/%n" # input devices KERNEL=="mice", NAME="input/%k" KERNEL=="mouse[0-9]*", NAME="input/%k" KERNEL=="event[0-9]*", NAME="input/%k" KERNEL=="js[0-9]*", NAME="input/%k" KERNEL=="ts[0-9]*", NAME="input/%k" KERNEL=="uinput", NAME="input/%k" # Zaptel KERNEL=="zapctl", NAME="zap/ctl" KERNEL=="zapchannel", NAME="zap/channel" KERNEL=="zappseudo", NAME="zap/pseudo" KERNEL=="zaptimer", NAME="zap/timer" KERNEL=="transcode", NAME="zap/transcode" KERNEL=="zap[0-9]*", NAME="zap/%n" # AOE character devices SUBSYSTEM=="aoe", NAME="etherd/%k" KERNEL=="device-mapper", NAME="mapper/control"