1 |
On Wed, 2011-01-12 at 11:54 -0500, Mike Edenfield wrote: |
2 |
> On 1/12/2011 11:11 AM, Michael Sullivan wrote: |
3 |
> > OK, for several years I have not had a /dev/cdrom. My workstation has |
4 |
> > an internal cd-rom drive, which gets mapped to /dev/hda, and an external |
5 |
> > DVD+R drive, which is mapped to /dev/sr0. When I look |
6 |
> > at /etc/udev/rules.d/70-persistent-cd.rules I see: |
7 |
> |
8 |
> I just went through this exact same problem, and it turned out that |
9 |
> having both the old ATA drivers and the new libata drivers in my kernel |
10 |
> at the same time was the root of the problem. I had multiple drivers |
11 |
> fighting for the same device, and it confused udev for some reason. The |
12 |
> end result was, udev never picked up that the IDE drive was actually a |
13 |
> CD-ROM, so it never ran the udev rules to automatically regenerated |
14 |
> 70-persistent-cd.rules. |
15 |
> |
16 |
> The existing rules you have don't work because the ID_PATH isn't valid: |
17 |
> |
18 |
> ENV{ID_PATH}=="pci-0000:00:1f.1-ide-0:0" |
19 |
> |
20 |
> The "-ide-0:0" part no longer shows up when you get the udev ID_PATH for |
21 |
> a device using the old ATA drivers, so there are no matching udev rules |
22 |
> to create the symlinks. |
23 |
> |
24 |
> I fixed it by switching over completely to libata, like this: |
25 |
> |
26 |
> 1. Delete the 70-persistent-cd.rules file from /etc/udev. (If |
27 |
> everything is working correctly, udev will regenerate this file from |
28 |
> scratch the next time you start it.) |
29 |
> |
30 |
> 2. In your kernel config, under Device Drivers ---> |
31 |
> * Make sure that ATA/ATAPI/MFM/RLL support is /not/ selected. |
32 |
> * Enable Serial ATA and Parallel ATA |
33 |
> * Under Serial ATA and Paralle ATA ---> |
34 |
> ** Enable ATA SFF support |
35 |
> ** Below that, enable ATA BMDMA support[1] |
36 |
> ** Below that, enable whatever IDE chipset you have |
37 |
> |
38 |
> 3. Back under Device Drivers ---> |
39 |
> * Under SCSI device support ---> |
40 |
> ** Enable SCSI disk support |
41 |
> ** Enable SCSI CDROM support |
42 |
> ** /Do not/ enable SCSI Generic support[2] |
43 |
> |
44 |
> Build/install/reboot and you should now see your two CD drives appearing |
45 |
> as sr0 and sr1. udev should now pick them both up, and write a new |
46 |
> 70-persistent-cd.rules file, with the IDE drive having a different |
47 |
> ID_PATH, something like: |
48 |
> |
49 |
> ENV{ID_PATH}=="pci-0000:00:1f.1-scsi-0:0:0:0" |
50 |
> |
51 |
> And you should now get your symlinks. |
52 |
> |
53 |
> [1] BMDMA is the controller type in all of the machines I have, and |
54 |
> seems to be the standard for most personal desktop/laptop/etc machines. |
55 |
> If you know differently, of course, pick the correct SFF controller. |
56 |
> |
57 |
> [2] The SCSI generic driver has a habit of grabbing my other SCSI |
58 |
> devices and assigning them to sg0/sg1/sg2/etc; this seemed to prevent |
59 |
> udev from picking up that they were CD drives. If you need SCSI Generic |
60 |
> for some reason, I'd suggest making it a module. |
61 |
> |
62 |
> --Mike |
63 |
> |
64 |
I was still running linux-2.6.30-gentoo-r8. I didn't even HAVE an |
65 |
option for ATA SFF support. I'm going to build a v2.6.36-gentoo-r5 |
66 |
kernel and pray that my ivtv stuff still works... |