Installing a Sony CRX195A1 CDRW Drive in Red Hat 7.3
Having decided to take the plunge and purchase a CD writer for my computer, I realized I didn't know the first thing about CDRW drives and Linux. So I asked around, read the CD-Writing HOWTO, checked out the cdrecord FAQ about which drives are supported in version 1.9 and read Andy McFadden's CD-Recordable FAQ. Additionally, I did a Google search for information about CD writing and Linux. All this was quite elucidating, and I quickly made a list of manufacturers whose products I would be willing to purchase: Phillips, Sony, Yamaha, Plextor and HP. I also gathered from my research several key points that would determine the endeavor's success or failure:
The Linux system must have SCSI support, which could mean you have to recompile the kernel.
The system must have IDE-SCSI emulation support; again, you may have to recompile the kernel.
There will have to be some modification to grub/lilo and modules.conf (see Listings 1 and 2 at end of article).
I made careful notes on these points and did some research on my system (Red Hat 7.3 with a stock 2.4.18-3 kernel). I learned that the default RH 7.3 kernel included all the things I needed, no recompiling necessary. With that, I began to narrow my drive selection.
After going to my local Best Buy and Circuit City and checking out a few on-line retailers, such as newegg.com, I narrowed my list down to Sony and chose the model CRX195A1. I chose this model because it was relatively new, cheap ($69.99 after a $20 mail-in rebate) and fast (40x12x48). However, this model wasn't listed as supported by anything in Linux. That gave me a moment's pause, but an earlier model (the CRX145) WAS listed in Andy's FAQ, so I felt reasonably sure I'd be okay. Still, I'm a worry wart and I wanted some assurance. So I surfed on over to Sony's support site and tried their Live Help feature (it allows you to chat on-line with a support technician). I told the tech that I knew the drive wasn't supported in Linux, but would it work? Immediately, I was told no. I thanked him and tried again with a different technician, three times to be exact, and each time I was told by a different person that the drive wouldn't work. I figured I was being told it wouldn't work because they didn't know the real answer and couldn't be bothered to check. Armed with an educated guess and a sense of adventure, I purchased the drive.
Before I physically installed the drive, I prepped my system for its imminent arrival. Per the HOWTOs and FAQs, I had to figure out where the CD writer was in the /dev/hdX chain. I have an on-board IDE controller to which my optical drives are attached and a Promise UltraATA 100 controller card to which my hard drives are attached. I mapped out the drive layout as follows:
onboard controller: /dev/hda primary master /dev/hdb CDROM primary slave /dev/hdc SONY CRX195A1 secondary master (the drive was defaulted to master) /dev/hdd secondary slave promise controller: /dev/hde primary hard drive primary master /dev/hdf primary slave /dev/hdg secondary hard drive secondary master /dev/hdh secondary slave
With this knowledge, I knew that my new CD writer would be /dev/hdc, so I added the line append="hdc=ide-scsi" to my grub.conf. This line enables IDE-SCSI emulation for /dev/hdc. I shutdown the system and opened the case. After physically installing the drive and connecting all the cables, I powered up again, making sure the system recognized the new IDE device. All proceeded well, so I logged in and began the testing phase.
The first test was to issue the command cdrecord -scanbus. No drives were listed, and my heart began to beat a little faster. Then I realized I had forgotten to add the line options ide-cd ignore="hdc" to /etc/modules.conf. This line keeps the system from loading the IDE-CD driver for the drive at /dev/hdc and allows the IDE-SCSI emulation driver to be used for that drive. A quick reboot and cdrecord reported my new drive as expected! Using the man pages for cdrecord, I was able to record an audio CD flawlessly. Other tests, such as backing up files to CD and burning ISO images, also worked using both cdrecord and xcdroast. Unfortunately, I was unable to do a CD-to-CD copy. I theorized that enabling IDE-SCSI emulation for /dev/hdb and modifying modules.conf to ignore hdb might have the desired effect, so I made the changes and rebooted. Sure enough, xcdroast and cdrecord both reported my CD-ROM and CDRW drives. After reconfiguring xcdroast a little bit, I was able to successfully do a CD-to-CD copy. After having completed all the aforementioned tests, I would have to say that the drive works. Note that I haven't tested the rewrite capabilities of the drive as I never use rewritable media.