On 1/12/2011 11:31 AM, Nuno J. Silva wrote:
> Michael Sullivan <[email protected]> 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