Installing a Sony CRX195A1 CDRW Drive in Red Hat 7.3

by Ron Powell

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:

  1. The Linux system must have SCSI support, which could mean you have to recompile the kernel.

  2. The system must have IDE-SCSI emulation support; again, you may have to recompile the kernel.

  3. 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.

Another Example

Let's suppose you had a different combination of drives. In a system with two hard drives (/dev/hda and /dev/hdb) and a CD-ROM on /dev/hdc you would add the CD writer to /dev/hdd. Further, let's suppose that you didn't need or want to do disk-to-disk copies. After physically connecting the drive and powering up, you would first add the line append="hdd=ide-scsi" to lilo.conf and then add the line ignore="hdd" to /etc/modules.conf. Reboot once more and voilà--a working CD writer.

It should be noted that you can enable IDE-SCSI emulation on any combination of drives you wish. They needn't be contiguous in the drive chain, nor do you need to enable IDE-SCSI for all the drives on an IDE channel--you may do so selectively. That is, you can enable IDE-SCSI emulation for /dev/hdd but not /dev/hdc, as in the example above. Also, you only have to enable IDE-SCSI on optical drives other than your CD writer if you wish xcdroadst/cdrecord to see them and be able to do disk-to-disk copies.

Specifications

Drive Specs

Writing Speed: 40xRewriting Speed: 12xRead Speed: 48xRandom Access Time: 150msBuffer Memory: 2MBBuffer Underrun Technology: YES!Write modes: Disc At Once, Track At Once, Session At Once, Packet WritingSupported Disc Formats: CD-DA, CD-ROM (XA) Video CD, Photo CD (multi-session) CD Text, CD Extra

System Requirements (from box)

  • Pentium II 400MHz or faster

  • Windows 98/2K/ME/XP

  • 64MB RAM and 1 GB HD space

System as Tested

  • Pentium III 1000MHz

  • 256MB RAM

  • Red Hat Linux 7.3 with default 2.4.18-3 kernel

  • cdrecord version 1.10-11 (provided by Red Hat)

  • xcdroast version .98-a9-8 (provided by Red Hat)

Pros and Cons

The drive was cheap ($89.99), and the $20 mail-in rebate really was what made me decide on this model. I tested writing at speeds up to 32x (the version of xcdroast that I have only goes up to 32x), and I was impressed with the overall writing speed of the drive. In the ISO burning test, I burned the Gentoo live CD ISO image (approximately 230MB) in 66 seconds! The Sony name made me feel comfortable, as I have had various other Sony optical drives in the past with uniformly good results. cdrecord did use the burnproof capabilities of the drive, which was another plus.

The bad part is no Linux support. The complete lack of help from live support was disappointing, and the drive came with no extras or frills. For instance, there were no blank disks of any sort included in the box. The manuals and quick-start guides were disappointing and next to useless even for a Windows installation. I would not recommend this drive for an inexperienced Windows user, but for a Linux user who had read all the HOWTOs and FAQs, it should be no problem at all.

Resources

The FAQs and HOWTOs I read were distribution-neutral, and the steps contained therein should work equally well for any modern distro.

CD Writing HOWTO

cdrecord's List of Supported Drives in cdrecord Version 1.9

Andy McFadden's CD-Recordable FAQ

Various IRC Users in #cofr on gamesnet.net

Key Modifications
  1. Add append="hdX=ide-scsi" to lilo.conf or grub.conf, where X is the letter of the CD writer. Remember to add in any additional optical drives if you wish to do CD-to-CD copying, for example, append="hdb=ide-scsi hdc=ide-scsi".

  2. Modify /etc/modules.conf to include the line options ide-cd ignore="hdX", where X is the letter(s) of the drive(s) you are using.

Listing 1. grub.conf
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.4.18-3)
        root (hd0,0)
        kernel /vmlinuz-2.4.18-3 ro root=/dev/hde3 vga=792 append="hdb=ide-scsi hdc=ide-scsi"
        initrd /initrd-2.4.18-3.img
Listing 2. modules.conf
alias parport_lowlevel parport_pc
alias sound-slot-0 emu10k1
post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 || :
pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :
alias usb-controller usb-uhci
alias eth0 3c59x
alias char-major-195 NVdriver
options ide-cd ignore="hdb hdc"

Please note that the author assumes no responsibility for any losses, damages or incidents caused by utilizing the information herein. This information is provided as is with no guarantees about its viability or accuracy in any system other than the author's own. Use this information at your own risk.

Load Disqus comments