Gentoo Archives: gentoo-user

From: Michael Sullivan <msulli1355@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] How to get /dev/cdrom
Date: Wed, 12 Jan 2011 17:10:50
Message-Id: 1294852138.17278.3.camel@camille.espersunited.com
In Reply to: Re: [gentoo-user] How to get /dev/cdrom by Mike Edenfield
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...

Replies

Subject Author
Re: [gentoo-user] How to get /dev/cdrom Neil Bothwick <neil@××××××××××.uk>
Re: [gentoo-user] How to get /dev/cdrom Paul Hartman <paul.hartman+gentoo@×××××.com>