On 1/12/2011 11:31 AM, Nuno J. Silva wrote: > Michael Sullivan <msulli1...@gmail.com> writes: > >> OK, for several years I have not had a /dev/cdrom. My workstation has >> an internal cd-rom drive, which gets mapped to /dev/hda, and an external > > If you're using a recent kernel, it's probably udev which refuses to > process devices under the old ATA driver. > > (I don't know if it *exactly* refuses, or if it's something else, but > the final result is what you see, no /dev/{cdrom,cdrw,...} link)
The problem, as far as I could figure out, is that the ID_PATH that udev gets from the old ATA drivers is identical for everything on the same IDE controller; it basically gives the path to the PCI bus slot where the IDE controller is connected. So udev has no way to differentiate between multiple drives connected to a single controller. This is a change at some point from the previous behavior, which specified the IDE information as well. You used to get something like: ENV{ID_PATH}=="pci-0000:00:1f.1-ide-0:0" and now you get: ENV{ID_PATH}=="pci-0000:00:1f.1" Switching over to libata gives you: ENV{ID_PATH}=="pci-0000:00:1f.1-scsi-0:0:0:0" which returns everything to working order :) --Mike