Index: udev/35-helper.rules
===================================================================
--- udev/35-helper.rules	(revision 53885ce91f33469a76af960f736e7fb2a208e342)
+++ udev/35-helper.rules	(revision bf5fe0d36164bc5cd4b9be67cfaac141a20002d6)
@@ -19,10 +19,17 @@
 
 # check cdrom helper
-KERNEL=="hd[a-z]", 	BUS=="ide", SYSFS{removable}=="1", RESULT=="cdrom", SYMLINK+="cdrom%e"
-KERNEL=="hd[a-z]", 	BUS=="ide", SYSFS{removable}=="1", PROGRAM=="/lib/udev/check-cdrom.sh %k DVD", SYMLINK+="dvd%e"
-KERNEL=="sr[0-9]*",	BUS=="scsi", PROGRAM=="/lib/udev/check-cdrom.sh %k DVD", SYMLINK+="dvd%e"
-KERNEL=="hd[a-z]", 	BUS=="ide", SYSFS{removable}=="1", PROGRAM=="/lib/udev/check-cdrom.sh %k CD-R", SYMLINK+="cdwriter%e"
-KERNEL=="sr[0-9]*", 	BUS=="scsi", PROGRAM=="/lib/udev/check-cdrom.sh %k CD-R", SYMLINK+="cdwriter%e"
-KERNEL=="hd[a-z]", 	BUS=="ide", SYSFS{removable}=="1", PROGRAM="/lib/udev/check-cdrom.sh %k DVD-R", SYMLINK+="dvdwriter%e"
-KERNEL=="sr[0-9]*", 	BUS=="scsi", PROGRAM=="/lib/udev/check-cdrom.sh %k DVD-R", SYMLINK+="dvdwriter%e"
+BUS=="ide",	KERNEL=="hd[a-z]", ACTION=="add", IMPORT="/sbin/cdrom_id --export $tempnode"
+BUS=="scsi",	KERNEL=="sr[0-9]*", ACTION=="add", IMPORT="/sbin/cdrom_id --export $tempnode"
+BUS=="scsi",	KERNEL="scd[a-z]", ACTION=="add", IMPORT="/sbin/cdrom_id --export $tempnode"
+BUS=="scsi",	KERNEL=="sg[0-9]*", ACTION=="add", DRIVER=="sr", GROUP="cdrom"
 
+ENV{ID_CDROM}=="?*",		SYMLINK+="cdrom%m", GROUP="cdrom"
+ENV{ID_CDROM_CD_R}=="?*",	SYMLINK+="cdr%m"
+ENV{ID_CDROM_CD_RW}=="?*",	SYMLINK+="cdrw%m"
+ENV{ID_CDROM_DVD}=="?*",	SYMLINK+="dvd%m"
+ENV{ID_CDROM_DVD_R}=="?*",	SYMLINK+="dvdrw%m"
+
+# Run network stuff when the network device is loaded
+ACTION=="add", SUBSYSTEM=="net", ENV{INTERFACE}=="*", RUN+="network_helper.sh"
+ACTION=="remove", SUBSYSTEM=="net", ENV{INTERFACE}=="*", RUN+="network_helper.sh"
+
Index: udev/50-udev.rules
===================================================================
--- udev/50-udev.rules	(revision 53885ce91f33469a76af960f736e7fb2a208e342)
+++ udev/50-udev.rules	(revision bf5fe0d36164bc5cd4b9be67cfaac141a20002d6)
@@ -162,7 +162,2 @@
 SUBSYSTEM=="usb_device", 	PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0644"
 
-# cdrom
-KERNEL=="sr[0-9]*",             GROUP="cdrom", SYMLINK+="cdrom%e"
-KERNEL=="scd[0-9]*",            GROUP="cdrom", SYMLINK+="cdrom%e"
-KERNEL=="pcd[0-9]*",            GROUP="cdrom", SYMLINK+="cdrom%e"
-
Index: udev/Makefile
===================================================================
--- udev/Makefile	(revision 53885ce91f33469a76af960f736e7fb2a208e342)
+++ udev/Makefile	(revision bf5fe0d36164bc5cd4b9be67cfaac141a20002d6)
@@ -30,5 +30,4 @@
 scripts:
 	install -m ${SCRIPTMODE} load_floppy_module.sh ${DESTDIR}/lib/udev/load_floppy_module.sh
-	install -m ${SCRIPTMODE} check-cdrom.sh ${DESTDIR}/lib/udev/check-cdrom.sh
 
 boot:
Index: ev/check-cdrom.sh
===================================================================
--- udev/check-cdrom.sh	(revision 53885ce91f33469a76af960f736e7fb2a208e342)
+++ 	(revision )
@@ -1,39 +1,0 @@
-#!/bin/bash
-
-pos=0
-n=0
-sp="$1"
-what="$2"
-found=0
-
-[ -e /proc/sys/dev/cdrom/info ] || exit 1
-
-/bin/cat /proc/sys/dev/cdrom/info | { 
-	while read line; do
-		if [ "$found" = "0" -a "${line/drive name:}" != "$line" ]; then
-			set ${line/drive name:}	
-			while [ $# -gt 0 ]; do
-				pos=$[$pos+1]
-				if [ "$1" == "$sp" ]; then
-					found=1
-					break
-				fi
-				shift
-			done
-			[ "$found" = "0" ] && exit 1
-		elif [ "${line/$what:}" != "$line" ]; then
-			set ${line##*$what:}	
-			while [ $# -gt 0 ]; do
-				n=$[$n+1]
-				if [ "$n" == "$pos" ]; then
-					if [ "$1" = "1" ]; then
-						exit 0
-					fi
-					break
-				fi
-				shift
-			done
-		fi    
-	done
-exit 1
-}
Index: udev/udev.makechanges
===================================================================
--- udev/udev.makechanges	(revision 53885ce91f33469a76af960f736e7fb2a208e342)
+++ udev/udev.makechanges	(revision bf5fe0d36164bc5cd4b9be67cfaac141a20002d6)
@@ -11,7 +11,7 @@
 Second, you will need to use udev 079 or above, here is the build instructions
 you must use to get full functionality.
-make EXTRAS="extras/firmware extras/scsi_id extras/volume_id extras/ata_id extras/usb_id extras/edd_id extras/dasd_id" udevdir=/dev
+make EXTRAS="extras/firmware extras/cdrom_id extras/scsi_id extras/volume_id extras/ata_id extras/usb_id extras/edd_id extras/dasd_id" udevdir=/dev
 
-make EXTRAS="extras/firmware extras/scsi_id extras/volume_id extras/ata_id extras/usb_id extras/edd_id extras/dasd_id" udevdir=/dev install
+make EXTRAS="extras/firmware extras/cdrom_id extras/scsi_id extras/volume_id extras/ata_id extras/usb_id extras/edd_id extras/dasd_id" udevdir=/dev install
 cp extras/path_id /sbin
 cp extras/eventrecorder.sh /lib/udev
