Mike Edenfield <[email protected]> writes:
> 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.
So is this supposed to be a problem only if there is more than one PATA
device?
I never investigated this deeply enough, thanks for your explanation. I
ended up adding code to init scripts to create the links.
> 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 :)
I guess this means that if one gets some other way to match a drive (by
name? serial number?), it's possible to make a working rule.
>
> --Mike
>
>
--
Nuno J. Silva
gopher://sdf-eu.org/1/users/njsg