summaryrefslogtreecommitdiff
path: root/source/a/udev
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/udev')
-rw-r--r--source/a/udev/config/modprobe.d/8139cp.conf7
-rw-r--r--source/a/udev/config/modprobe.d/README11
-rw-r--r--source/a/udev/config/modprobe.d/bcm43xx.conf7
-rw-r--r--source/a/udev/config/modprobe.d/blacklist.conf.new270
-rw-r--r--source/a/udev/config/modprobe.d/eepro100.conf8
-rw-r--r--source/a/udev/config/modprobe.d/eth1394.conf8
-rw-r--r--source/a/udev/config/modprobe.d/evbug.conf7
-rw-r--r--source/a/udev/config/modprobe.d/framebuffers.conf48
-rw-r--r--source/a/udev/config/modprobe.d/hostap.conf12
-rw-r--r--source/a/udev/config/modprobe.d/hw_random.conf7
-rw-r--r--source/a/udev/config/modprobe.d/isapnp.conf24
-rw-r--r--source/a/udev/config/modprobe.d/isapnp.conf.new15
-rw-r--r--source/a/udev/config/modprobe.d/isdn.conf11
-rw-r--r--source/a/udev/config/modprobe.d/oss.conf61
-rw-r--r--source/a/udev/config/modprobe.d/pcspkr.conf9
-rw-r--r--source/a/udev/config/modprobe.d/psmouse.conf (renamed from source/a/udev/config/modprobe.d/psmouse.conf.new)4
-rw-r--r--source/a/udev/config/modprobe.d/scsi-sata-controllers.conf81
-rw-r--r--source/a/udev/config/modprobe.d/sound-modems.conf10
-rw-r--r--source/a/udev/config/modprobe.d/tulip.conf11
-rw-r--r--source/a/udev/config/modprobe.d/usb-controller.conf9
-rw-r--r--source/a/udev/config/modprobe.d/usb-controller.conf.new4
-rw-r--r--source/a/udev/config/modprobe.d/via-ircc.conf7
-rw-r--r--source/a/udev/config/modprobe.d/watchdog.conf43
-rw-r--r--source/a/udev/config/rc.d/rc.udev.new92
-rw-r--r--source/a/udev/config/rules.d/40-slackware.rules3
-rw-r--r--source/a/udev/config/rules.d/90-network.rules5
-rwxr-xr-xsource/a/udev/config/scripts/nethelper.sh62
-rw-r--r--source/a/udev/doinst.sh11
-rw-r--r--source/a/udev/fix-42-usb-hid-pm.rules.diff18
-rw-r--r--source/a/udev/rule_generator.diff90
-rw-r--r--source/a/udev/udev-ata_id-fixup-all-8-not-only-6-bytes-of-the-fw_rev.patch27
-rwxr-xr-xsource/a/udev/udev.SlackBuild62
-rw-r--r--source/a/udev/udev.git-560de575148b7efda3b34a7f7073abd483c5f08e.patch305
33 files changed, 562 insertions, 787 deletions
diff --git a/source/a/udev/config/modprobe.d/8139cp.conf b/source/a/udev/config/modprobe.d/8139cp.conf
new file mode 100644
index 00000000..65f0af0d
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/8139cp.conf
@@ -0,0 +1,7 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# Alternate 8139 driver. Some 8139 cards need this specific driver, though...
+blacklist 8139cp
+
diff --git a/source/a/udev/config/modprobe.d/README b/source/a/udev/config/modprobe.d/README
new file mode 100644
index 00000000..43355e82
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/README
@@ -0,0 +1,11 @@
+# /etc/modprobe.d/README
+#
+# The monolithic "blacklist" file (and others) that used to be here in this
+# directory have been split into several more fine-grained files and moved
+# to the /lib/modprobe.d/ directory. Any file in /lib/modprobe.d/ will be
+# overridden by an identically named file in this directory (/etc/modprobe.d/)
+# or /run/modprobe.d/ (but since /run is on a tmpfs, it's not persistent
+# across reboots, so you probably don't want to use it).
+#
+# See "man modprobe.d" for more information.
+#
diff --git a/source/a/udev/config/modprobe.d/bcm43xx.conf b/source/a/udev/config/modprobe.d/bcm43xx.conf
new file mode 100644
index 00000000..55b3c2ab
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/bcm43xx.conf
@@ -0,0 +1,7 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# Deprecated BCM4318 driver.
+blacklist bcm43xx
+
diff --git a/source/a/udev/config/modprobe.d/blacklist.conf.new b/source/a/udev/config/modprobe.d/blacklist.conf.new
deleted file mode 100644
index 25811703..00000000
--- a/source/a/udev/config/modprobe.d/blacklist.conf.new
+++ /dev/null
@@ -1,270 +0,0 @@
-#
-# Listing a module here prevents the hotplug scripts from loading it.
-# Usually that'd be so that some other driver will bind it instead,
-# no matter which driver happens to get probed first. Sometimes user
-# mode tools can also control driver binding.
-
-# PC Speaker support:
-# This one is loaded by /etc/rc.d/rc.modules. If you don't like
-# the beeps and buzz from speaker, edit /etc/rc.d/rc.modules.
-blacklist pcspkr
-
-# tulip ... de4x5, xircom_tulip_cb, dmfe (...) handle same devices
-blacklist de4x5
-
-# At least 2.4.3 and later xircom_tulip doesn't have that conflict
-# xircom_tulip_cb
-blacklist dmfe
-
-#evbug is a debug tool and should be loaded explicitly
-blacklist evbug
-
-# Alternate Intel EtherExpress Pro/100 support driver. List it
-# here so it won't conflict with an already-loaded e100 module.
-blacklist eepro100
-
-# Alternate 8139 driver. Some 8139 cards need this specific driver,
-# though...
-blacklist 8139cp
-
-# Deprecated BCM4318 driver.
-blacklist bcm43xx
-
-# Modules used to run a wireless adaptor as an access point. These
-# conflict with the normal driver for the device, and so should be
-# loaded manually.
-blacklist hostap_cs
-blacklist hostap_pci
-blacklist hostap_plx
-blacklist hostap
-
-# Ethernet over IEEE1394 module. In too many cases this will load
-# when there's no eth1394 device present (just an IEEE1394 port)
-blacklist eth1394
-
-# This module has also been known to cause crashes with some hardware.
-blacklist hw_random
-
-# The kernel lists this as "experimental", but for now it's "broken"
-blacklist via-ircc
-
-# ALSA modules to support sound modems. These should be loaded manually
-# if needed. For most people they just break sound support...
-blacklist snd-atiixp-modem
-blacklist snd-intel8x0m
-blacklist snd-via82xx-modem
-
-# OSS (Open Sound System) modules. This is the old and deprecated Linux
-# sound system. If you want to use OSS, remove the alsa-driver package
-# and cut out (or comment out) this list. With these modules
-# blacklisted ALSA will load by default.
-blacklist ac97
-blacklist ac97_codec
-blacklist aci
-blacklist ad1816
-blacklist ad1848
-blacklist ad1889
-blacklist adlib_card
-blacklist aedsp16
-blacklist ali5455
-blacklist awe_wave
-blacklist btaudio
-blacklist cmpci
-blacklist cs4232
-blacklist cs4281
-blacklist cs46xx
-blacklist emu10k1
-blacklist es1370
-blacklist es1371
-blacklist esssolo1
-blacklist forte
-blacklist gus
-blacklist i810_audio
-blacklist kahlua
-blacklist mad16
-blacklist maestro
-blacklist maestro3
-blacklist maui
-blacklist mpu401
-blacklist msnd
-blacklist msnd_classic
-blacklist msnd_pinnacle
-blacklist nm256_audio
-blacklist opl3
-blacklist opl3sa
-blacklist opl3sa2
-blacklist pas2
-blacklist pss
-blacklist rme96xx
-blacklist sb
-blacklist sb_lib
-blacklist sgalaxy
-blacklist sonicvibes
-blacklist sound
-blacklist sscape
-blacklist trident
-blacklist trix
-blacklist uart401
-blacklist uart6850
-blacklist v_midi
-blacklist via82cxxx_audio
-blacklist wavefront
-blacklist ymfpci
-
-# Hardware specific video framebuffer modules. If the user wants
-# these, they can load them manually or de-blacklist them. Having
-# them load automatically may lead to funny side effects with
-# certain revisions of video hardware.
-blacklist arcfb
-blacklist aty128fb
-blacklist atyfb
-blacklist cirrusfb
-blacklist clgenfb
-blacklist cyber2000fb
-blacklist fbcon-cfb2
-blacklist fbcon-cfb4
-blacklist fbcon-hga
-blacklist fbcon-mfb
-blacklist fbcon-vga-planes
-blacklist fbgen
-blacklist hgafb
-blacklist i2c-matroxfb
-blacklist i810fb
-blacklist intelfb
-blacklist kyrofb
-blacklist matroxfb_DAC1064
-blacklist matroxfb_Ti3026
-blacklist matroxfb_accel
-blacklist matroxfb_base
-blacklist matroxfb_crtc2
-blacklist matroxfb_g450
-blacklist matroxfb_maven
-blacklist matroxfb_misc
-blacklist neofb
-blacklist nvidiafb
-blacklist pm2fb
-blacklist pm3fb
-blacklist radeonfb
-blacklist rivafb
-blacklist savagefb
-blacklist sisfb
-blacklist sstfb
-blacklist tdfxfb
-blacklist tridentfb
-blacklist vga16fb
-
-# SCSI and SATA controller modules. Typically these are either
-# built into the kernel or loaded with an initrd already.
-blacklist 3w-xxxx
-blacklist 53c7,8xx
-blacklist AM53C974
-blacklist BusLogic
-blacklist NCR53c406a
-blacklist a100u2w
-blacklist advansys
-blacklist aha152x
-blacklist aha1542
-blacklist aha1740
-blacklist aic79xx
-blacklist aic7xxx
-blacklist aic7xxx_old
-blacklist aic94xx
-blacklist ata_piix
-blacklist atp870u
-blacklist cpqfc
-blacklist dc395x
-blacklist dmx3191d
-blacklist dpt_i2o
-blacklist dtc
-blacklist eata
-blacklist eata_dma
-blacklist eata_pio
-blacklist fdomain
-blacklist g_NCR5380
-blacklist g_NCR5380_mmio
-blacklist gdth
-blacklist ide-scsi
-blacklist imm
-blacklist in2000
-blacklist initio
-blacklist ipr
-blacklist ips
-blacklist libata
-blacklist megaraid
-blacklist ncr53c8xx
-blacklist nsp32
-blacklist osst
-blacklist pas16
-blacklist pci2000
-blacklist pci2220i
-blacklist ppa
-blacklist psi240i
-blacklist qla1280
-blacklist qla2100
-blacklist qla2200
-blacklist qla2300
-blacklist qla2322
-blacklist qla2xxx
-blacklist qla6312
-blacklist qla6322
-blacklist qlogicfas
-blacklist qlogicfas408
-blacklist qlogicfc
-blacklist qlogicisp
-blacklist seagate
-blacklist sim710
-blacklist sata_promise
-blacklist sata_sil
-blacklist sata_sis
-blacklist sata_svw
-blacklist sata_sx4
-blacklist sata_via
-blacklist sata_vsc
-blacklist scsi_debug
-blacklist scsi_transport_fc
-blacklist scsi_transport_spi
-blacklist sym53c416
-blacklist sym53c8xx
-blacklist sym53c8xx
-blacklist t128
-blacklist tmscsim
-blacklist u14-34f
-
-# Blacklist all watchdog modules. Many motherboards hangs with them and,
-# if you really need an watchdog you probably know how to load the module
-blacklist acquirewdt
-blacklist advantechwdt
-blacklist alim1535_wdt
-blacklist alim7101_wdt
-blacklist cpu5wdt
-blacklist eurotechwdt
-blacklist hpwdt
-blacklist i6300esb
-blacklist iTCO_vendor_support
-blacklist iTCO_wdt
-blacklist ib700wdt
-blacklist ibmasr
-blacklist it8712f_wdt
-blacklist machzwd
-blacklist mixcomwd
-blacklist pc87413_wdt
-blacklist pcwd
-blacklist pcwd_pci
-blacklist pcwd_usb
-blacklist sbc60xxwdt
-blacklist sbc7240_wdt
-blacklist sbc8360
-blacklist sbc_epx_c3
-blacklist sc1200wdt
-blacklist sc520_wdt
-blacklist scx200_wdt
-blacklist smsc37b787_wdt
-blacklist softdog
-blacklist w83627hf_wdt
-blacklist w83697hf_wdt
-blacklist w83877f_wdt
-blacklist w83977f_wdt
-blacklist wafer5823wdt
-blacklist wdt
-blacklist wdt_pci
-
diff --git a/source/a/udev/config/modprobe.d/eepro100.conf b/source/a/udev/config/modprobe.d/eepro100.conf
new file mode 100644
index 00000000..a7ca4aae
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/eepro100.conf
@@ -0,0 +1,8 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# Alternate Intel EtherExpress Pro/100 support driver. List it
+# here so it won't conflict with an already-loaded e100 module.
+blacklist eepro100
+
diff --git a/source/a/udev/config/modprobe.d/eth1394.conf b/source/a/udev/config/modprobe.d/eth1394.conf
new file mode 100644
index 00000000..a2f475af
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/eth1394.conf
@@ -0,0 +1,8 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# Ethernet over IEEE1394 module. In too many cases this will load
+# when there's no eth1394 device present (just an IEEE1394 port)
+blacklist eth1394
+
diff --git a/source/a/udev/config/modprobe.d/evbug.conf b/source/a/udev/config/modprobe.d/evbug.conf
new file mode 100644
index 00000000..0af0a83c
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/evbug.conf
@@ -0,0 +1,7 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+#evbug is a debug tool and should be loaded explicitly
+blacklist evbug
+
diff --git a/source/a/udev/config/modprobe.d/framebuffers.conf b/source/a/udev/config/modprobe.d/framebuffers.conf
new file mode 100644
index 00000000..770ce420
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/framebuffers.conf
@@ -0,0 +1,48 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# Hardware specific video framebuffer modules. If the user wants
+# these, they can load them manually or de-blacklist them. Having
+# them load automatically may lead to funny side effects with
+# certain revisions of video hardware.
+blacklist arcfb
+blacklist aty128fb
+blacklist atyfb
+blacklist cirrusfb
+blacklist clgenfb
+blacklist cyber2000fb
+blacklist fbcon-cfb2
+blacklist fbcon-cfb4
+blacklist fbcon-hga
+blacklist fbcon-mfb
+blacklist fbcon-vga-planes
+blacklist fbgen
+blacklist hgafb
+blacklist i2c-matroxfb
+blacklist i810fb
+blacklist intelfb
+blacklist kyrofb
+blacklist matroxfb_DAC1064
+blacklist matroxfb_Ti3026
+blacklist matroxfb_accel
+blacklist matroxfb_base
+blacklist matroxfb_crtc2
+blacklist matroxfb_g450
+blacklist matroxfb_maven
+blacklist matroxfb_misc
+blacklist neofb
+blacklist nvidiafb
+blacklist pm2fb
+blacklist pm3fb
+blacklist radeonfb
+blacklist rivafb
+blacklist savagefb
+blacklist sisfb
+blacklist sstfb
+blacklist tdfxfb
+blacklist tridentfb
+blacklist vga16fb
+blacklist viafb
+blacklist virgefb
+
diff --git a/source/a/udev/config/modprobe.d/hostap.conf b/source/a/udev/config/modprobe.d/hostap.conf
new file mode 100644
index 00000000..4254d3da
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/hostap.conf
@@ -0,0 +1,12 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# Modules used to run a wireless adapter as an access point. These
+# conflict with the normal driver for the device, and so should be
+# loaded manually.
+blacklist hostap_cs
+blacklist hostap_pci
+blacklist hostap_plx
+blacklist hostap
+
diff --git a/source/a/udev/config/modprobe.d/hw_random.conf b/source/a/udev/config/modprobe.d/hw_random.conf
new file mode 100644
index 00000000..b912e012
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/hw_random.conf
@@ -0,0 +1,7 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# This module has also been known to cause crashes with some hardware.
+blacklist hw_random
+
diff --git a/source/a/udev/config/modprobe.d/isapnp.conf b/source/a/udev/config/modprobe.d/isapnp.conf
new file mode 100644
index 00000000..a89ad6bb
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/isapnp.conf
@@ -0,0 +1,24 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# These aliases are here because many PnP modules do not provide them.
+#
+# NOTE: Commented out due to noise pollution from udev.
+# In the unlikely event that your machine needs these aliases, copy this
+# file to /etc/modprobe.d/isapnp.conf and uncomment them there.
+
+#alias pnp:dPNP0400 parport_pc
+#alias pnp:dPNP0401 parport_pc
+#alias pnp:dPNP0510 irtty-sir
+#alias pnp:dPNP0511 irtty-sir
+#alias pnp:dPNP0700 floppy
+#alias pnp:dPNP0B00 rtc
+#alias acpi:PNP0B00: rtc-cmos
+#alias acpi:PNP0B01: rtc-cmos
+#alias acpi:PNP0B02: rtc-cmos
+#alias pnp:dPNPB02F analog
+#alias pnp:dPNP0F13 psmouse
+#alias pnp:dPNP0800 pcspkr
+#alias pnp:dPNP0303 atkbd
+
diff --git a/source/a/udev/config/modprobe.d/isapnp.conf.new b/source/a/udev/config/modprobe.d/isapnp.conf.new
deleted file mode 100644
index 2ed9305e..00000000
--- a/source/a/udev/config/modprobe.d/isapnp.conf.new
+++ /dev/null
@@ -1,15 +0,0 @@
-# These aliases are here because many PnP modules do not
-# provide aliases for them.
-alias pnp:dPNP0400 parport_pc
-alias pnp:dPNP0401 parport_pc
-alias pnp:dPNP0510 irtty-sir
-alias pnp:dPNP0511 irtty-sir
-alias pnp:dPNP0700 floppy
-alias pnp:dPNP0B00 rtc
-alias acpi:PNP0B00: rtc-cmos
-alias acpi:PNP0B01: rtc-cmos
-alias acpi:PNP0B02: rtc-cmos
-alias pnp:dPNPB02F analog
-alias pnp:dPNP0F13 psmouse
-alias pnp:dPNP0800 pcspkr
-alias pnp:dPNP0303 atkbd
diff --git a/source/a/udev/config/modprobe.d/isdn.conf b/source/a/udev/config/modprobe.d/isdn.conf
new file mode 100644
index 00000000..7f736753
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/isdn.conf
@@ -0,0 +1,11 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# These two come from the hwdata project
+# Bug numbers are Fedora/RH specific
+
+# ISDN - see bugs 154799, 159068
+blacklist hisax
+blacklist hisax_fcpcipnp
+
diff --git a/source/a/udev/config/modprobe.d/oss.conf b/source/a/udev/config/modprobe.d/oss.conf
new file mode 100644
index 00000000..52ed2f59
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/oss.conf
@@ -0,0 +1,61 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# OSS (Open Sound System) modules. This is the old and deprecated Linux
+# sound system. If you want to use OSS, remove the alsa-driver package
+# and cut out (or comment out) this list. With these modules
+# blacklisted ALSA will load by default.
+blacklist ac97
+blacklist ac97_codec
+blacklist aci
+blacklist ad1816
+blacklist ad1848
+blacklist ad1889
+blacklist adlib_card
+blacklist aedsp16
+blacklist ali5455
+blacklist awe_wave
+blacklist btaudio
+blacklist cmpci
+blacklist cs4232
+blacklist cs4281
+blacklist cs46xx
+blacklist emu10k1
+blacklist es1370
+blacklist es1371
+blacklist esssolo1
+blacklist forte
+blacklist gus
+blacklist i810_audio
+blacklist kahlua
+blacklist mad16
+blacklist maestro
+blacklist maestro3
+blacklist maui
+blacklist mpu401
+blacklist msnd
+blacklist msnd_classic
+blacklist msnd_pinnacle
+blacklist nm256_audio
+blacklist opl3
+blacklist opl3sa
+blacklist opl3sa2
+blacklist pas2
+blacklist pss
+blacklist rme96xx
+blacklist sb
+blacklist sb_lib
+blacklist sgalaxy
+blacklist sonicvibes
+blacklist sound
+blacklist sscape
+blacklist trident
+blacklist trix
+blacklist uart401
+blacklist uart6850
+blacklist v_midi
+blacklist via82cxxx_audio
+blacklist wavefront
+blacklist ymfpci
+
diff --git a/source/a/udev/config/modprobe.d/pcspkr.conf b/source/a/udev/config/modprobe.d/pcspkr.conf
new file mode 100644
index 00000000..66de6b74
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/pcspkr.conf
@@ -0,0 +1,9 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# PC Speaker support:
+# This one is loaded by /etc/rc.d/rc.modules. If you don't like
+# the beeps and buzz from speaker, edit /etc/rc.d/rc.modules.
+blacklist pcspkr
+
diff --git a/source/a/udev/config/modprobe.d/psmouse.conf.new b/source/a/udev/config/modprobe.d/psmouse.conf
index 70c0d819..cc414141 100644
--- a/source/a/udev/config/modprobe.d/psmouse.conf.new
+++ b/source/a/udev/config/modprobe.d/psmouse.conf
@@ -1,3 +1,7 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
# PS/2 mouse support:
# The default options when the psmouse module can cause problems with KVM
# switches. If you experience this, you may want to uncomment the line
diff --git a/source/a/udev/config/modprobe.d/scsi-sata-controllers.conf b/source/a/udev/config/modprobe.d/scsi-sata-controllers.conf
new file mode 100644
index 00000000..61470416
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/scsi-sata-controllers.conf
@@ -0,0 +1,81 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# SCSI and SATA controller modules. Typically these are either
+# built into the kernel or loaded with an initrd already.
+blacklist 3w-xxxx
+blacklist 53c7,8xx
+blacklist AM53C974
+blacklist BusLogic
+blacklist NCR53c406a
+blacklist a100u2w
+blacklist advansys
+blacklist aha152x
+blacklist aha1542
+blacklist aha1740
+blacklist aic79xx
+blacklist aic7xxx
+blacklist aic7xxx_old
+blacklist aic94xx
+blacklist ata_piix
+blacklist atp870u
+blacklist cpqfc
+blacklist dc395x
+blacklist dmx3191d
+blacklist dpt_i2o
+blacklist dtc
+blacklist eata
+blacklist eata_dma
+blacklist eata_pio
+blacklist fdomain
+blacklist g_NCR5380
+blacklist g_NCR5380_mmio
+blacklist gdth
+blacklist ide-scsi
+blacklist imm
+blacklist in2000
+blacklist initio
+blacklist ipr
+blacklist ips
+blacklist libata
+blacklist megaraid
+blacklist ncr53c8xx
+blacklist nsp32
+blacklist osst
+blacklist pas16
+blacklist pci2000
+blacklist pci2220i
+blacklist ppa
+blacklist psi240i
+blacklist qla1280
+blacklist qla2100
+blacklist qla2200
+blacklist qla2300
+blacklist qla2322
+blacklist qla2xxx
+blacklist qla6312
+blacklist qla6322
+blacklist qlogicfas
+blacklist qlogicfas408
+blacklist qlogicfc
+blacklist qlogicisp
+blacklist seagate
+blacklist sim710
+blacklist sata_promise
+blacklist sata_sil
+blacklist sata_sis
+blacklist sata_svw
+blacklist sata_sx4
+blacklist sata_via
+blacklist sata_vsc
+blacklist scsi_debug
+blacklist scsi_transport_fc
+blacklist scsi_transport_spi
+blacklist sym53c416
+blacklist sym53c8xx
+blacklist sym53c8xx
+blacklist t128
+blacklist tmscsim
+blacklist u14-34f
+
diff --git a/source/a/udev/config/modprobe.d/sound-modems.conf b/source/a/udev/config/modprobe.d/sound-modems.conf
new file mode 100644
index 00000000..f458346d
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/sound-modems.conf
@@ -0,0 +1,10 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# ALSA modules to support sound modems. These should be loaded manually
+# if needed. For most people they just break sound support...
+blacklist snd-atiixp-modem
+blacklist snd-intel8x0m
+blacklist snd-via82xx-modem
+
diff --git a/source/a/udev/config/modprobe.d/tulip.conf b/source/a/udev/config/modprobe.d/tulip.conf
new file mode 100644
index 00000000..64b6a5ca
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/tulip.conf
@@ -0,0 +1,11 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# tulip ... de4x5, xircom_tulip_cb, dmfe (...) handle same devices
+blacklist de4x5
+
+# At least 2.4.3 and later xircom_tulip doesn't have that conflict
+# xircom_tulip_cb
+blacklist dmfe
+
diff --git a/source/a/udev/config/modprobe.d/usb-controller.conf b/source/a/udev/config/modprobe.d/usb-controller.conf
new file mode 100644
index 00000000..f5e4e502
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/usb-controller.conf
@@ -0,0 +1,9 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# The EHCI driver should be loaded before the ones for low speed controllers
+# or some devices may be confused when they are disconnected and reconnected.
+softdep uhci-hcd pre: ehci-hcd
+softdep ohci-hcd pre: ehci-hcd
+
diff --git a/source/a/udev/config/modprobe.d/usb-controller.conf.new b/source/a/udev/config/modprobe.d/usb-controller.conf.new
deleted file mode 100644
index 4b77fd82..00000000
--- a/source/a/udev/config/modprobe.d/usb-controller.conf.new
+++ /dev/null
@@ -1,4 +0,0 @@
-# Make sure that ehci-hcd is always loaded before uhci-hci
-# # or ohci-hcd to prevent a kernel warning:
-install uhci-hcd /sbin/modprobe ehci-hcd ; /sbin/modprobe -i uhci-hcd
-install ohci-hcd /sbin/modprobe ehci-hcd ; /sbin/modprobe -i ohci-hcd
diff --git a/source/a/udev/config/modprobe.d/via-ircc.conf b/source/a/udev/config/modprobe.d/via-ircc.conf
new file mode 100644
index 00000000..3dfa5731
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/via-ircc.conf
@@ -0,0 +1,7 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# The kernel lists this as "experimental", but for now it's "broken"
+blacklist via-ircc
+
diff --git a/source/a/udev/config/modprobe.d/watchdog.conf b/source/a/udev/config/modprobe.d/watchdog.conf
new file mode 100644
index 00000000..66d1f837
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/watchdog.conf
@@ -0,0 +1,43 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# Blacklist all watchdog modules. Many motherboards hang with them, and
+# if you really need a watchdog, you probably know how to load the module
+blacklist acquirewdt
+blacklist advantechwdt
+blacklist alim1535_wdt
+blacklist alim7101_wdt
+blacklist cpu5wdt
+blacklist eurotechwdt
+blacklist hpwdt
+blacklist i6300esb
+blacklist i8xx_tco
+blacklist iTCO_vendor_support
+blacklist iTCO_wdt
+blacklist ib700wdt
+blacklist ibmasr
+blacklist it8712f_wdt
+blacklist machzwd
+blacklist mixcomwd
+blacklist pc87413_wdt
+blacklist pcwd
+blacklist pcwd_pci
+blacklist pcwd_usb
+blacklist sbc60xxwdt
+blacklist sbc7240_wdt
+blacklist sbc8360
+blacklist sbc_epx_c3
+blacklist sc1200wdt
+blacklist sc520_wdt
+blacklist scx200_wdt
+blacklist smsc37b787_wdt
+blacklist softdog
+blacklist w83627hf_wdt
+blacklist w83697hf_wdt
+blacklist w83877f_wdt
+blacklist w83977f_wdt
+blacklist wafer5823wdt
+blacklist wdt
+blacklist wdt_pci
+
diff --git a/source/a/udev/config/rc.d/rc.udev.new b/source/a/udev/config/rc.d/rc.udev.new
index 6a6218f6..2bbd9819 100644
--- a/source/a/udev/config/rc.d/rc.udev.new
+++ b/source/a/udev/config/rc.d/rc.udev.new
@@ -4,7 +4,6 @@
# appropriate kernel modules, and configures the devices.
PATH="/sbin:/bin"
-OPT=""
. /etc/udev/udev.conf
@@ -25,26 +24,38 @@ mount_devpts() {
case "$1" in
start)
- # Sanity check #1, udev requires that the kernel support tmpfs:
+ # Sanity check #1, udev requires that the kernel support devtmpfs:
+ if ! grep -wq devtmpfs /proc/filesystems ; then
+ echo "Sorry, but you need devtmpfs support in the kernel to use udev."
+ echo "Both of these options are needed: CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y"
+ echo
+ echo "FATAL: Refusing to run /etc/rc.d/rc.udev."
+ sleep 10
+ exit 1
+ fi
+
+ # Sanity check #2, udev requires that the kernel support tmpfs:
if ! grep -wq tmpfs /proc/filesystems ; then
echo "Sorry, but you need tmpfs support in the kernel to use udev."
echo
echo "FATAL: Refusing to run /etc/rc.d/rc.udev."
+ sleep 10
exit 1
fi
- # Sanity check #2, make sure that a 2.6.x kernel is new enough:
+ # Sanity check #3, make sure that a 2.6.x kernel is new enough:
if [ "$(uname -r | cut -f 1,2 -d .)" = "2.6" ]; then
if [ "$(uname -r | cut -f 3 -d . | sed 's/[^[:digit:]].*//')" -lt "32" ]; then
echo "Sorry, but you need a 2.6.32+ kernel to use this udev."
echo "Your kernel version is only $(uname -r)."
echo
echo "FATAL: Refusing to run /etc/rc.d/rc.udev."
+ sleep 10
exit 1
fi
fi
- # Sanity check #3, make sure the udev package was not removed. If udevd
+ # Sanity check #4, make sure the udev package was not removed. If udevd
# is not there, this will also shut off this script to prevent further
# problems:
if [ ! -x /sbin/udevd ]; then
@@ -52,6 +63,7 @@ case "$1" in
echo "No udevd daemon found."
echo "Turning off udev: chmod 644 /etc/rc.d/rc.udev"
echo "FATAL: Refusing to run /etc/rc.d/rc.udev."
+ sleep 10
exit 1
fi
@@ -90,47 +102,41 @@ case "$1" in
# Mount devpts
mount_devpts
- # Start udevd.
- /sbin/udevd --daemon 2>/dev/null
-
- # If udevd was already running, then it will return !=0 exit code,
- # so we'll try to re-run failed events
- if [ $? != 0 ]; then
- OPT="--type=failed $OPT"
- ( cd ${UDEV_ROOT}/.udev
- for TMPFILE in tmp-rules-*.rules ; do
- mv $TMPFILE /etc/udev/rules.d/${TMPFILE/tmp-rules--/} 2>/dev/null
- done
- )
- else # udev is just now being started, so we'll do some initial setup:
-
- # Create rootdev rules
- DEVICENUMBER=$( /bin/stat -c %d / )
- MAJORNUMBER=$(($DEVICENUMBER / 256))
- MINORNUMBER=$(($DEVICENUMBER % 256))
-
- echo 'ACTION!="remove", SUBSYSTEM=="block", ENV{MAJOR}=="'$MAJORNUMBER'", ENV{MINOR}=="'$MINORNUMBER'", SYMLINK+="root"' > /dev/.udev/rules.d/61-dev-root-link.rules
-
- # Set OPT="--action=add" to generate add events on coldplug
- OPT="--action=add"
-
- fi
-
- echo "Triggering udev events: /sbin/udevadm trigger $OPT"
- # Call udevtrigger and udevsettle to do the device configuration:
- /sbin/udevadm trigger $OPT && /sbin/udevadm settle --timeout=120
-
- ;;
+ if ! /sbin/pidof udevd 1>/dev/null 2>/dev/null; then # start udevd
+ echo "Starting udevd: /sbin/udevd --daemon"
+ /sbin/udevd --daemon
+ # Since udev is just now being started we want to use add events:
+ echo "Triggering udev events: /sbin/udevadm trigger --action=add"
+ # Call udevtrigger and udevsettle to do the device configuration:
+ /sbin/udevadm trigger --type=subsystems --action=add
+ /sbin/udevadm trigger --type=devices --action=add
+ else # trigger changes for already running udevd
+ # If the persistent rules files do not exist, trigger an add event:
+ if [ ! -r /etc/udev/rules.d/70-persistent-net.rules ]; then
+ # Test that we can actually write to the directory first:
+ if touch /etc/udev/rules.d/testfile 2> /dev/null ; then
+ rm -f /etc/udev/rules.d/testfile
+ # This should add persistent net/cd rules:
+ echo "Triggering udev to write persistent rules to /etc/udev/rules.d/"
+ /sbin/udevadm trigger --type=devices --action=add
+ sleep 3
+ fi
+ fi
+ # Since udevd is running, most of the time we only need change events:
+ echo "Triggering udev events: /sbin/udevadm trigger --action=change"
+ /sbin/udevadm trigger --type=subsystems --action=change
+ /sbin/udevadm trigger --type=devices --action=change
+ fi
+ /sbin/udevadm settle --timeout=120
+ ;;
stop)
echo "Stopping udevd is STRONGLY discouraged and not supported."
echo "If you are sure you want to do this, use 'force-stop' instead."
;;
force-stop)
echo "Stopping udevd"
- if [ -e /proc/sys/kernel/hotplug ]; then
- echo /sbin/hotplug > /proc/sys/kernel/hotplug
- fi
- killall udevd
+ udevadm control --exit
+ killall udevd 2>/dev/null
;;
restart)
echo "Restarting udevd is STRONGLY discouraged and not supported."
@@ -138,18 +144,18 @@ case "$1" in
;;
force-restart)
echo "Restarting udevd"
- killall udevd
- sleep 5
+ udevadm control --exit
+ sleep 3
udevd --daemon
;;
reload)
echo "Reloading udev rules"
- udevadm control --reload-rules
+ udevadm control --reload
cp --preserve=all --recursive --update /lib/udev/devices/* $UDEV_ROOT
;;
force-reload)
echo "Updating all available device nodes in $UDEV_ROOT"
- udevadm control --reload-rules
+ udevadm control --reload
rm -rf $UDEV_ROOT/.udev $UDEV_ROOT/disk
cp --preserve=all --recursive --update /lib/udev/devices/* $UDEV_ROOT
;;
diff --git a/source/a/udev/config/rules.d/40-slackware.rules b/source/a/udev/config/rules.d/40-slackware.rules
index 6883f526..9e8c6342 100644
--- a/source/a/udev/config/rules.d/40-slackware.rules
+++ b/source/a/udev/config/rules.d/40-slackware.rules
@@ -17,3 +17,6 @@ KERNEL=="mice", SYMLINK+="mouse"
# Set rfkill device writable by netdev group
KERNEL=="rfkill", GROUP:="netdev", MODE:="0664"
+# Mount fusectl filesystem
+KERNEL=="fuse", ACTION=="add", RUN+="/bin/mount -t fusectl fusectl /sys/fs/fuse/connections"
+
diff --git a/source/a/udev/config/rules.d/90-network.rules b/source/a/udev/config/rules.d/90-network.rules
deleted file mode 100644
index 03f2ddc7..00000000
--- a/source/a/udev/config/rules.d/90-network.rules
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file will be overwritten in next upgrade. Please put your
-# custom rules somewhere else (90-local.rules is a good idea)
-
-SUBSYSTEM=="net", NAME=="?*", ACTION=="add", RUN+="nethelper.sh $env{INTERFACE} start"
-SUBSYSTEM=="net", NAME=="?*", ACTION=="remove", RUN+="nethelper.sh $env{INTERFACE} stop"
diff --git a/source/a/udev/config/scripts/nethelper.sh b/source/a/udev/config/scripts/nethelper.sh
deleted file mode 100755
index 9e172027..00000000
--- a/source/a/udev/config/scripts/nethelper.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/sh
-DEVNAME="$1"
-COMMAND="$2"
-
-testwrite() {
- if touch /var/run/checkrw 2>/dev/null ; then
- rm -rf /var/run/checkrw
- RW=1
- fi
-}
-
-case $DEVNAME in
- eth*|ath*|wlan*|ra*|sta*|ctc*|lcs*|hsi*)
- case $COMMAND in
- 'start')
- testwrite
-
- if [ $RW ]; then
- if [ -x /etc/rc.d/rc.inet1 ]; then
- if ! /sbin/ifconfig | /bin/grep -q "^${DEVNAME} "; then
- /etc/rc.d/rc.inet1 ${DEVNAME}_start
- fi
- fi
- exit 0
- else
- exit 1
- fi
- ;;
- 'stop')
- if [ -x /etc/rc.d/rc.inet1 ]; then
- if /sbin/ifconfig | /bin/grep -q "^${DEVNAME} "; then
- /etc/rc.d/rc.inet1 ${DEVNAME}_stop
- fi
- fi
- # Does dhcpcd appear to still be running on the
- # interface? If so, try to stop it.
- if [ -r /etc/dhcpc/dhcpcd-$DEVNAME.pid -o -r /var/run/dhcpcd-$DEVNAME.pid ]; then
- /sbin/dhcpcd -k -d $DEVNAME
- # Force garbage removal, if needed:
- if [ -r /etc/dhcpc/dhcpcd-$DEVNAME.pid ]; then
- /bin/rm -f /etc/dhcpc/dhcpcd-$DEVNAME.pid
- elif [ -r /var/run/dhcpcd-$DEVNAME.pid ]; then
- /bin/rm -f /var/run/dhcpcd-$DEVNAME.pid
- fi
- fi
- # If the interface is now down, exit with a status of 0:
- if /sbin/ifconfig | /bin/grep -q "^${DEVNAME} " ; then
- exit 0
- fi
- ;;
- *)
- echo "usage $0 interface start|stop"
- exit 1
- ;;
- esac
- ;;
- *)
- echo "Interface $DEVNAME not supported."
- exit 1
- ;;
-esac
-exit 0
diff --git a/source/a/udev/doinst.sh b/source/a/udev/doinst.sh
index 5b7f5f90..2912e5c8 100644
--- a/source/a/udev/doinst.sh
+++ b/source/a/udev/doinst.sh
@@ -25,17 +25,12 @@ fi
# This should catch *all* files in /etc/modprobe.d/ and move them over to
# have .conf extensions
for modfile in $(ls etc/modprobe.d/ | grep -v "\.\(conf\|bak\|orig\|new\)"); do
- if [ -e etc/modprobe.d/$modfile -a ! -e etc/modprobe.d/$modfile.conf ]; then
+ if [ "$modfile" = README ]; then
+ true # do nothing
+ elif [ -e etc/modprobe.d/$modfile -a ! -e etc/modprobe.d/$modfile.conf ]; then
mv etc/modprobe.d/$modfile etc/modprobe.d/$modfile.conf
elif [ -e etc/modprobe.d/$modfile -a -e etc/modprobe.d/$modfile.conf ]; then
mv etc/modprobe.d/$modfile etc/modprobe.d/$modfile.bak
fi
done
-config etc/modprobe.d/blacklist.conf.new
-config etc/modprobe.d/isapnp.conf.new
-config etc/modprobe.d/psmouse.conf.new
-config etc/modprobe.d/usb-controller.conf.new
-
-/sbin/udevadm info --convert-db 1>/dev/null 2>/dev/null
-
diff --git a/source/a/udev/fix-42-usb-hid-pm.rules.diff b/source/a/udev/fix-42-usb-hid-pm.rules.diff
new file mode 100644
index 00000000..2a1d529f
--- /dev/null
+++ b/source/a/udev/fix-42-usb-hid-pm.rules.diff
@@ -0,0 +1,18 @@
+diff -u -r --new-file udev-182.orig/rules/42-usb-hid-pm.rules udev-182/rules/42-usb-hid-pm.rules
+--- udev-182.orig/rules/42-usb-hid-pm.rules 2012-03-12 16:40:40.569534100 -0500
++++ udev-182/rules/42-usb-hid-pm.rules 2012-09-10 13:36:44.171054934 -0500
+@@ -43,7 +43,13 @@
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="04b3", ATTR{idProduct}=="4012", TEST=="power/control", ATTR{power/control}="auto"
+
+ # Raritan Computer, Inc KVM.
+-ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="14dd", ATTR{idProduct}="0002", TEST=="power/control", ATTR{power/control}="auto"
++ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="14dd", ATTR{idProduct}=="0002", TEST=="power/control", ATTR{power/control}="auto"
+
+ # USB HID devices that are internal to the machine should also be safe to autosuspend
++
++ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="removable", GOTO="usb_hid_pm_end"
++ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="unknown", GOTO="usb_hid_pm_end"
++
+ ACTION=="add", SUBSYSTEM=="usb", ATTR{bInterfaceClass}=="03", ATTRS{removable}=="fixed", TEST=="../power/control", ATTR{../power/control}="auto"
++
++LABEL="usb_hid_pm_end"
diff --git a/source/a/udev/rule_generator.diff b/source/a/udev/rule_generator.diff
index 212c09f1..25c72b84 100644
--- a/source/a/udev/rule_generator.diff
+++ b/source/a/udev/rule_generator.diff
@@ -1,6 +1,6 @@
-diff -Nur udev-159.orig//extras/rule_generator/write_cd_rules udev-159/extras/rule_generator/write_cd_rules
---- udev-159.orig//extras/rule_generator/write_cd_rules 2010-06-25 04:37:36.000000000 -0500
-+++ udev-159/extras/rule_generator/write_cd_rules 2010-07-07 02:44:14.501947041 -0500
+diff -Nur udev-182.orig/src/rule_generator/write_cd_rules udev-182/src/rule_generator/write_cd_rules
+--- udev-182.orig/src/rule_generator/write_cd_rules 2012-03-24 22:47:53.138527732 -0500
++++ udev-182/src/rule_generator/write_cd_rules 2012-03-24 22:59:42.595889830 -0500
@@ -3,7 +3,8 @@
# This script is run if an optical drive lacks a rule for persistent naming.
#
@@ -21,58 +21,58 @@ diff -Nur udev-159.orig//extras/rule_generator/write_cd_rules udev-159/extras/ru
comment="$ID_MODEL ($ID_PATH)"
-
- write_rule "$match" "cdrom$link_num" "$comment"
+ write_rule "$match" "cdrom$link_num" "$comment"
-[ "$ID_CDROM_CD_R" -o "$ID_CDROM_CD_RW" ] && \
-- write_rule "$match" "cdrw$link_num"
+- write_rule "$match" "cdrw$link_num"
-[ "$ID_CDROM_DVD" ] && \
-- write_rule "$match" "dvd$link_num"
+- write_rule "$match" "dvd$link_num"
-[ "$ID_CDROM_DVD_R" -o "$ID_CDROM_DVD_RW" -o "$ID_CDROM_DVD_RAM" ] && \
-- write_rule "$match" "dvdrw$link_num"
-+ if [ "$(find_all_rules 'SYMLINK+=' cdrom)" = "" ]; then
-+ write_rule "$match" "cdrom"
-+ fi
+- write_rule "$match" "dvdrw$link_num"
++ if [ "$(find_all_rules 'SYMLINK+=' cdrom)" = "" ]; then
++ write_rule "$match" "cdrom"
++ fi
+
-+ if [ "$ID_CDROM_CD_R" ]; then
-+ write_rule "$match" "cdr$link_num"
-+ if [ "$(find_all_rules 'SYMLINK+=' cdr)" = "" ]; then
-+ write_rule "$match" "cdr"
-+ fi
++ if [ "$ID_CDROM_CD_R" ]; then
++ write_rule "$match" "cdr$link_num"
++ if [ "$(find_all_rules 'SYMLINK+=' cdr)" = "" ]; then
++ write_rule "$match" "cdr"
++ fi
+
-+ write_rule "$match" "cdwriter$link_num"
-+ if [ "$(find_all_rules 'SYMLINK+=' cdwriter)" = "" ]; then
-+ write_rule "$match" "cdwriter"
-+ fi
++ write_rule "$match" "cdwriter$link_num"
++ if [ "$(find_all_rules 'SYMLINK+=' cdwriter)" = "" ]; then
++ write_rule "$match" "cdwriter"
++ fi
+
-+ if [ "$ID_CDROM_CD_RW" ]; then
-+ write_rule "$match" "cdrw$link_num"
-+ if [ "$(find_all_rules 'SYMLINK+=' cdrw)" = "" ]; then
-+ write_rule "$match" "cdrw"
-+ fi
-+ fi
++ if [ "$ID_CDROM_CD_RW" ]; then
++ write_rule "$match" "cdrw$link_num"
++ if [ "$(find_all_rules 'SYMLINK+=' cdrw)" = "" ]; then
++ write_rule "$match" "cdrw"
++ fi
++ fi
+
-+ if [ "$(find_all_rules 'SYMLINK+=' writer)" = "" ]; then
-+ write_rule "$match" "writer"
-+ fi
-+ fi
++ if [ "$(find_all_rules 'SYMLINK+=' writer)" = "" ]; then
++ write_rule "$match" "writer"
++ fi
++ fi
+
-+ if [ "$ID_CDROM_DVD" ]; then
-+ write_rule "$match" "dvd$link_num"
-+ if [ "$(find_all_rules 'SYMLINK+=' dvd)" = "" ]; then
-+ write_rule "$match" "dvd"
-+ fi
++ if [ "$ID_CDROM_DVD" ]; then
++ write_rule "$match" "dvd$link_num"
++ if [ "$(find_all_rules 'SYMLINK+=' dvd)" = "" ]; then
++ write_rule "$match" "dvd"
++ fi
+
-+ if [ "$ID_CDROM_DVD_R" -o "$ID_CDROM_DVD_RW" -o "$ID_CDROM_DVD_RAM" ]; then
-+ write_rule "$match" "dvdrw$link_num"
-+ if [ "$(find_all_rules 'SYMLINK+=' dvdrw)" = "" ]; then
-+ write_rule "$match" "dvdrw"
-+ fi
++ if [ "$ID_CDROM_DVD_R" -o "$ID_CDROM_DVD_RW" -o "$ID_CDROM_DVD_RAM" ]; then
++ write_rule "$match" "dvdrw$link_num"
++ if [ "$(find_all_rules 'SYMLINK+=' dvdrw)" = "" ]; then
++ write_rule "$match" "dvdrw"
++ fi
+
-+ write_rule "$match" "dvdwriter$link_num"
-+ if [ "$(find_all_rules 'SYMLINK+=' dvdwriter)" = "" ]; then
-+ write_rule "$match" "dvdwriter"
-+ fi
-+ fi
-+ fi
++ write_rule "$match" "dvdwriter$link_num"
++ if [ "$(find_all_rules 'SYMLINK+=' dvdwriter)" = "" ]; then
++ write_rule "$match" "dvdwriter"
++ fi
++ fi
++ fi
echo >> $RULES_FILE
unlock_rules_file
diff --git a/source/a/udev/udev-ata_id-fixup-all-8-not-only-6-bytes-of-the-fw_rev.patch b/source/a/udev/udev-ata_id-fixup-all-8-not-only-6-bytes-of-the-fw_rev.patch
new file mode 100644
index 00000000..bfa0c76a
--- /dev/null
+++ b/source/a/udev/udev-ata_id-fixup-all-8-not-only-6-bytes-of-the-fw_rev.patch
@@ -0,0 +1,27 @@
+Adapted from the following patch (path and actual line number changes):
+
+From daa9cf546ce7265645ced9592dd54c6b2fc04302 Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay@vrfy.org>
+Date: Thu, 5 Jul 2012 16:53:08 +0200
+Subject: [PATCH] udev: ata_id - fixup all 8 not only 6 bytes of the fw_rev
+ string
+
+The last two digits are in the wrong order:
+ $ hdparm -I /dev/sda | grep Revision
+ 4PC10362
+
+ $ /lib/udev/ata_id -x /dev/sda | grep REVISION
+ 4PC10326
+
+diff -Nur udev-182.orig/src/ata_id/ata_id.c udev-182/src/ata_id/ata_id.c
+--- udev-182.orig/src/ata_id/ata_id.c 2012-03-13 19:00:51.220734316 -0500
++++ udev-182/src/ata_id/ata_id.c 2012-07-14 19:48:34.224478831 -0500
+@@ -511,7 +511,7 @@
+ * use and copy it into the hd_driveid struct for convenience
+ */
+ disk_identify_fixup_string (identify, 10, 20); /* serial */
+- disk_identify_fixup_string (identify, 23, 6); /* fwrev */
++ disk_identify_fixup_string (identify, 23, 8); /* fwrev */
+ disk_identify_fixup_string (identify, 27, 40); /* model */
+ disk_identify_fixup_uint16 (identify, 0); /* configuration */
+ disk_identify_fixup_uint16 (identify, 75); /* queue depth */
diff --git a/source/a/udev/udev.SlackBuild b/source/a/udev/udev.SlackBuild
index c6f83a0e..183c6667 100755
--- a/source/a/udev/udev.SlackBuild
+++ b/source/a/udev/udev.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
VERSION=${VERSION:-$(echo udev-*.tar.* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-5}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -58,29 +58,35 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# So this is a major bug. At least, it triggers one in the kernel.
-# We'll revert it for now. If left in place, machines using ATA
-# (especially PATA) are liable to randomly crash on reboot.
-# The last little bit of this patch fails to reverse but it won't matter.
-if [ $VERSION = 165 ]; then
- zcat $CWD/udev.git-560de575148b7efda3b34a7f7073abd483c5f08e.patch.gz | patch -p1 -R
-fi
+# Fix ata_id (remove with udev-186+)
+zcat $CWD/udev-ata_id-fixup-all-8-not-only-6-bytes-of-the-fw_rev.patch.gz | patch -p1 || exit 1
+
+# Fix 42-usb-hid-pm.rules (remove with udev-187+)
+zcat $CWD/fix-42-usb-hid-pm.rules.diff.gz | patch -p1 --verbose || exit 1
# Fixup the rule generator for our use
-zcat $CWD/rule_generator.diff.gz | patch -p1 || exit 1
+zcat $CWD/rule_generator.diff.gz | patch -p1 --verbose || exit 1
# static libudev is needed for lvm2
+# --enable-udev_acl was removed (will be part of future CK release)
+# --enable-floppy support was also disabled by default in 173
+# --enable-rule_generator was disabled by default in 175
./configure \
- --enable-static \
--prefix=/usr \
- --sysconfdir=/etc \
- --sbindir=/sbin \
+ --with-rootprefix=/ \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--with-rootlibdir=/lib${LIBDIRSUFFIX} \
- --libexecdir=/lib/udev \
- --disable-introspection \
+ --with-firmware-path=/lib/firmware/updates:/lib/firmware \
+ --sysconfdir=/etc \
+ --bindir=/sbin \
+ --sbindir=/sbin \
+ --libexecdir=/lib \
+ --enable-introspection \
--mandir=/usr/man \
--docdir=/usr/doc/udev-$VERSION \
+ --enable-floppy \
+ --enable-static \
+ --enable-rule_generator \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
@@ -92,8 +98,13 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
# scsi_id is needed by multipath
( cd $PKG/sbin ; ln -s ../lib/udev/scsi_id scsi_id )
+# Put udevd back in /sbin
+mv $PKG/lib/udev/udevd $PKG/sbin
+ln -s /sbin/udevd $PKG/lib/udev/udevd
+
mkdir -p \
- $PKG/etc/modprobe.d \
+ $PKG/run \
+ $PKG/{etc,lib}/modprobe.d \
$PKG/etc/rc.d \
$PKG/etc/udev/rules.d \
$PKG/lib/firmware
@@ -106,32 +117,23 @@ cp -a $CWD/config/rules.d/* $PKG/lib/udev/rules.d/
# Now the init script and module-init-tools stuff
cp -a $CWD/config/rc.d/rc.udev.new $PKG/etc/rc.d/rc.udev.new
-cp -a $CWD/config/modprobe.d/* $PKG/etc/modprobe.d
+cp -a $CWD/config/modprobe.d/*.conf $PKG/lib/modprobe.d/
+cp -a $CWD/config/modprobe.d/README $PKG/etc/modprobe.d/
-chown -R root:root $PKG/etc
-find $PKG/etc -type f -exec chmod 644 {} \;
+chown -R root:root $PKG/etc $PKG/lib/modprobe.d
+find $PKG/etc $PKG/lib/modprobe.d -type f -exec chmod 644 {} \;
find $PKG/etc -type d -exec chmod 755 {} \;
chmod 0755 $PKG/etc/rc.d/rc.udev.new
# Add extra device nodes to the package that udev doesn't make:
-# As of 156, some of these aren't be needed any more:
-# removed core@ fd@ stderr@ stdin@ stdout@
tar xvf $CWD/udev-fixed-devices.tar.gz -C $PKG
-# Add various helper scripts:
-for file in $CWD/config/scripts/* ; do
- cp -a $file $PKG/lib/udev/
-done
chown -R root:root $PKG/lib/udev
chmod 0755 $PKG/lib/udev/*
-# Move the pkgconfig file to where we expect it
-mv $PKG/usr/share/pkgconfig/* $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
-rmdir $PKG/usr/share/pkgconfig
-
mkdir -p $PKG/usr/doc/udev-$VERSION
cp -a \
- COPYING* README* TODO extras/keymap/README.keymap.txt \
+ COPYING* README* TODO \
$PKG/usr/doc/udev-$VERSION
# Don't package the API docs:
diff --git a/source/a/udev/udev.git-560de575148b7efda3b34a7f7073abd483c5f08e.patch b/source/a/udev/udev.git-560de575148b7efda3b34a7f7073abd483c5f08e.patch
deleted file mode 100644
index fc991b9a..00000000
--- a/source/a/udev/udev.git-560de575148b7efda3b34a7f7073abd483c5f08e.patch
+++ /dev/null
@@ -1,305 +0,0 @@
-From 560de575148b7efda3b34a7f7073abd483c5f08e Mon Sep 17 00:00:00 2001
-From: David Zeuthen <davidz@redhat.com>
-Date: Thu, 4 Nov 2010 08:55:58 -0400
-Subject: [PATCH 1/1] Use ata_id, not scsi_id, on ATAPI devices
-
-The major benefit here, is that we get the ATAPI device serial
-number. With SCSI ID we didn't get this since it's not part of the
-SCSI INQUIRY command. Specifically this means that we get symlinks to
-empty optical drives, e.g.
-
- /dev/disk/by-id/ata-VBOX_CD-ROM_VB2-01700376
-
-which we didn't get earlier. So this is a major win.
-
-Also make ata_id work on CD-ROM devices when using /dev/bsg nodes so
-this works on both the scsi_device as well as the block device. We do
-this, basically, by issuing the ATA IDENTIFY PACKET DEVICE command
-instead of the ATA IDENTIFY command. We also use 16-byte pass-through
-ATA passthrough instead of 12-byte passthrough to avoid clashing with
-the MMC BLANK command.
-
-This means that we get this output
-
- # udevadm info -q all -p /sys/devices/pci0000:00/0000:00:01.1/host3/target3:0:0/3:0:0:0
- P: /devices/pci0000:00/0000:00:01.1/host3/target3:0:0/3:0:0:0
- E: UDEV_LOG=3
- E: DEVPATH=/devices/pci0000:00/0000:00:01.1/host3/target3:0:0/3:0:0:0
- E: DEVTYPE=scsi_device
- E: DRIVER=sr
- E: MODALIAS=scsi:t-0x05
- E: SUBSYSTEM=scsi
- E: ID_ATA=1
- E: ID_TYPE=cd
- E: ID_BUS=ata
- E: ID_MODEL=VBOX_CD-ROM
- E: ID_MODEL_ENC=VBOX\x20CD-ROM\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x 20\x20\x20\x20\x20\x20\x20
- E: ID_REVISION=1.0
- E: ID_SERIAL=VBOX_CD-ROM_VB2-01700376
- E: ID_SERIAL_SHORT=VB2-01700376
-
-instead of just
-
- # udevadm info -q all -p /sys/devices/pci0000:00/0000:00:01.1/host3/target3:0:0/3:0:0:0
- P: /devices/pci0000:00/0000:00:01.1/host3/target3:0:0/3:0:0:0
- E: UDEV_LOG=3
- E: DEVPATH=/devices/pci0000:00/0000:00:01.1/host3/target3:0:0/3:0:0:0
- E: DEVTYPE=scsi_device
- E: DRIVER=sr
- E: MODALIAS=scsi:t-0x05
- E: SUBSYSTEM=scsi
- E: ID_SCSI=1
- E: ID_VENDOR=VBOX
- E: ID_VENDOR_ENC=VBOX\x20\x20\x20\x20
- E: ID_MODEL=CD-ROM
- E: ID_MODEL_ENC=CD-ROM\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20
- E: ID_REVISION=1.0
- E: ID_TYPE=cd
-
-Signed-off-by: David Zeuthen <davidz@redhat.com>
----
- extras/ata_id/ata_id.c | 122 ++++++++++++++++++++++++++---
- rules/rules.d/60-persistent-storage.rules | 4 +
- 2 files changed, 114 insertions(+), 12 deletions(-)
-
-diff --git a/extras/ata_id/ata_id.c b/extras/ata_id/ata_id.c
-index 41544e9..92387e5 100644
---- a/extras/ata_id/ata_id.c
-+++ b/extras/ata_id/ata_id.c
-@@ -202,6 +202,89 @@ static int disk_identify_command(int fd,
- return ret;
- }
-
-+static int disk_identify_packet_device_command(int fd,
-+ void *buf,
-+ size_t buf_len)
-+{
-+ struct sg_io_v4 io_v4;
-+ uint8_t cdb[16];
-+ uint8_t sense[32];
-+ uint8_t *desc = sense+8;
-+ int ret;
-+
-+ /*
-+ * ATA Pass-Through 16 byte command, as described in
-+ *
-+ * T10 04-262r8 ATA Command Pass-Through
-+ *
-+ * from http://www.t10.org/ftp/t10/document.04/04-262r8.pdf
-+ */
-+ memset(cdb, 0, sizeof(cdb));
-+ cdb[0] = 0x85; /* OPERATION CODE: 16 byte pass through */
-+ cdb[1] = 4 << 1; /* PROTOCOL: PIO Data-in */
-+ cdb[2] = 0x2e; /* OFF_LINE=0, CK_COND=1, T_DIR=1, BYT_BLOK=1, T_LENGTH=2 */
-+ cdb[3] = 0; /* FEATURES */
-+ cdb[4] = 0; /* FEATURES */
-+ cdb[5] = 0; /* SECTORS */
-+ cdb[6] = 1; /* SECTORS */
-+ cdb[7] = 0; /* LBA LOW */
-+ cdb[8] = 0; /* LBA LOW */
-+ cdb[9] = 0; /* LBA MID */
-+ cdb[10] = 0; /* LBA MID */
-+ cdb[11] = 0; /* LBA HIGH */
-+ cdb[12] = 0; /* LBA HIGH */
-+ cdb[13] = 0; /* DEVICE */
-+ cdb[14] = 0xA1; /* Command: ATA IDENTIFY PACKET DEVICE */;
-+ cdb[15] = 0; /* CONTROL */
-+ memset(sense, 0, sizeof(sense));
-+
-+ memset(&io_v4, 0, sizeof(struct sg_io_v4));
-+ io_v4.guard = 'Q';
-+ io_v4.protocol = BSG_PROTOCOL_SCSI;
-+ io_v4.subprotocol = BSG_SUB_PROTOCOL_SCSI_CMD;
-+ io_v4.request_len = sizeof (cdb);
-+ io_v4.request = (uintptr_t) cdb;
-+ io_v4.max_response_len = sizeof (sense);
-+ io_v4.response = (uintptr_t) sense;
-+ io_v4.din_xfer_len = buf_len;
-+ io_v4.din_xferp = (uintptr_t) buf;
-+ io_v4.timeout = COMMAND_TIMEOUT_MSEC;
-+
-+ ret = ioctl(fd, SG_IO, &io_v4);
-+ if (ret != 0) {
-+ /* could be that the driver doesn't do version 4, try version 3 */
-+ if (errno == EINVAL) {
-+ struct sg_io_hdr io_hdr;
-+
-+ memset(&io_hdr, 0, sizeof(struct sg_io_hdr));
-+ io_hdr.interface_id = 'S';
-+ io_hdr.cmdp = (unsigned char*) cdb;
-+ io_hdr.cmd_len = sizeof (cdb);
-+ io_hdr.dxferp = buf;
-+ io_hdr.dxfer_len = buf_len;
-+ io_hdr.sbp = sense;
-+ io_hdr.mx_sb_len = sizeof (sense);
-+ io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
-+ io_hdr.timeout = COMMAND_TIMEOUT_MSEC;
-+
-+ ret = ioctl(fd, SG_IO, &io_hdr);
-+ if (ret != 0)
-+ goto out;
-+ } else {
-+ goto out;
-+ }
-+ }
-+
-+ if (!(sense[0] == 0x72 && desc[0] == 0x9 && desc[1] == 0x0c)) {
-+ errno = EIO;
-+ ret = -1;
-+ goto out;
-+ }
-+
-+ out:
-+ return ret;
-+}
-+
- /**
- * disk_identify_get_string:
- * @identify: A block of IDENTIFY data
-@@ -256,31 +339,36 @@ static void disk_identify_fixup_uint16 (uint8_t identify[512], unsigned int offs
- * @udev: The libudev context.
- * @fd: File descriptor for the block device.
- * @out_identify: Return location for IDENTIFY data.
-+ * @out_is_packet_device: Return location for whether returned data is from a IDENTIFY PACKET DEVICE.
- *
-- * Sends the IDENTIFY DEVICE command to the device represented by
-- * @fd. If successful, then the result will be copied into
-- * @out_identify.
-+ * Sends the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE command to the
-+ * device represented by @fd. If successful, then the result will be
-+ * copied into @out_identify and @out_is_packet_device.
- *
- * This routine is based on code from libatasmart, Copyright 2008
- * Lennart Poettering, LGPL v2.1.
- *
-- * Returns: 0 if the IDENTIFY data was successfully obtained,
-- * otherwise non-zero with errno set.
-+ * Returns: 0 if the data was successfully obtained, otherwise
-+ * non-zero with errno set.
- */
- static int disk_identify (struct udev *udev,
- int fd,
-- uint8_t out_identify[512])
-+ uint8_t out_identify[512],
-+ int *out_is_packet_device)
- {
- int ret;
- uint8_t inquiry_buf[36];
- int peripheral_device_type;
- int all_nul_bytes;
- int n;
-+ int is_packet_device;
-
- assert (out_identify != NULL);
-+
- /* init results */
- ret = -1;
- memset (out_identify, '\0', 512);
-+ is_packet_device = 0;
-
- /* If we were to use ATA PASS_THROUGH (12) on an ATAPI device
- * we could accidentally blank media. This is because MMC's BLANK
-@@ -309,6 +397,12 @@ static int disk_identify (struct udev *udev,
-
- /* SPC-4, section 6.4.2: Standard INQUIRY data */
- peripheral_device_type = inquiry_buf[0] & 0x1f;
-+ if (peripheral_device_type == 0x05)
-+ {
-+ is_packet_device = 1;
-+ ret = disk_identify_packet_device_command(fd, out_identify, 512);
-+ goto check_nul_bytes;
-+ }
- if (peripheral_device_type != 0x00) {
- ret = -1;
- errno = EIO;
-@@ -320,6 +414,7 @@ static int disk_identify (struct udev *udev,
- if (ret != 0)
- goto out;
-
-+ check_nul_bytes:
- /* Check if IDENTIFY data is all NUL bytes - if so, bail */
- all_nul_bytes = 1;
- for (n = 0; n < 512; n++) {
-@@ -336,6 +431,8 @@ static int disk_identify (struct udev *udev,
- }
-
- out:
-+ if (out_is_packet_device != NULL)
-+ *out_is_packet_device = is_packet_device;
- return ret;
- }
-
-@@ -350,7 +447,7 @@ int main(int argc, char *argv[])
- {
- struct udev *udev;
- struct hd_driveid id;
-- uint8_t identify[512];
-+ uint8_t identify[512];
- char model[41];
- char model_enc[256];
- char serial[21];
-@@ -358,8 +455,9 @@ int main(int argc, char *argv[])
- const char *node = NULL;
- int export = 0;
- int fd;
-- uint16_t word;
-+ uint16_t word;
- int rc = 0;
-+ int is_packet_device = 0;
- static const struct option options[] = {
- { "export", no_argument, NULL, 'x' },
- { "help", no_argument, NULL, 'h' },
-@@ -408,7 +506,7 @@ int main(int argc, char *argv[])
- goto exit;
- }
-
-- if (disk_identify(udev, fd, identify) == 0) {
-+ if (disk_identify(udev, fd, identify, &is_packet_device) == 0) {
- /*
- * fix up only the fields from the IDENTIFY data that we are going to
- * use and copy it into the hd_driveid struct for convenience
-@@ -416,7 +514,7 @@ int main(int argc, char *argv[])
- disk_identify_fixup_string (identify, 10, 20); /* serial */
- disk_identify_fixup_string (identify, 23, 6); /* fwrev */
- disk_identify_fixup_string (identify, 27, 40); /* model */
-- disk_identify_fixup_uint16 (identify, 0); /* configuration */
-+ disk_identify_fixup_uint16 (identify, 0); /* configuration */
- disk_identify_fixup_uint16 (identify, 75); /* queue depth */
- disk_identify_fixup_uint16 (identify, 75); /* SATA capabilities */
- disk_identify_fixup_uint16 (identify, 82); /* command set supported */
-@@ -457,8 +555,8 @@ int main(int argc, char *argv[])
- udev_util_replace_chars(revision, NULL);
-
- if (export) {
-- /* Set this to convey the disk speaks the ATA protocol */
-- printf("ID_ATA=1\n");
-+ /* Set this to convey the disk speaks the ATA protocol */
-+ printf("ID_ATA=1\n");
-
- if ((id.config >> 8) & 0x80) {
- /* This is an ATAPI device */
-diff --git a/rules/rules.d/60-persistent-storage.rules b/rules/rules.d/60-persistent-storage.rules
-index d3f2f73..8baabc2 100644
---- a/rules/rules.d/60-persistent-storage.rules
-+++ b/rules/rules.d/60-persistent-storage.rules
-@@ -12,6 +12,8 @@ ACTION=="remove", GOTO="persistent_storage_end"
-
- # run scsi_id and ata_id on the actual SCSI device
- SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", ENV{ID_SERIAL}!="?*", ATTR{vendor}=="ATA", IMPORT{program}="ata_id --export $root/bsg/$kernel"
-+# ATA/ATAPI devices is of type 0x05 and vendor is usually not ATA
-+SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", ENV{ID_SERIAL}!="?*", ATTR{type}=="5", IMPORT{program}="ata_id --export $root/bsg/$kernel"
- SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --whitelisted --export --device $root/bsg/$kernel"
-
- # from this point on, only care about block devices
-@@ -40,6 +42,8 @@ KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{program
- KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="ata", IMPORT{program}="ata_id --export $tempnode"
- # ATA devices using the "scsi" subsystem
- KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="scsi", ATTRS{vendor}=="ATA", IMPORT{program}="ata_id --export $tempnode"
-+# ATA/ATAPI devices using the "scsi" subsystem
-+KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="scsi", ATTRS{type}=="5", IMPORT{program}="ata_id --export $tempnode"
- # scsi devices
- KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $tempnode", ENV{ID_BUS}="scsi"
- KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $tempnode", ENV{ID_BUS}="cciss"
---
-1.7.3.4
-