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