[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CD-R/RW: ATAPI? SCSI? IDE?



On Sun, 2004-02-29 at 12:44, Harold Crouch wrote:
> The CD-ROM that I used to have in my computer was clearly an IDE/ATAPI
> device.  When I replaced it with a CD-R/RW, the Libranet installation
> utility changed things here and there.  The grub configuration line
> was changed to include "hdc=scsi."  /etc/modules now includes the
> lines "sr-mod," "ide-cd ignore=hdc" and "ide-scsi."  
> What exactly is a CD-R/RW?  

It is an AT Attachment Peripherial Interface (ATAPI) device.  ATAPI is
an extension of the original AT Attachment (ATA), which is little more
than a "dumb" block (512 byte/copy) device.  I.e., there is little more
than bus timing, positioning and copy to/from device commands.

SCSI is intelligent.  It has all sorts of commands, from advanced,
end-device controls to direct, inter-device transfer functions.

The closest we come to a set of "standards" in ATAPI is the MMC
standard.  That's where ide-scsi comes in.  It is an emulation layer
that translates SCSI calls into MMC-3 ones.  This, of course, requires
MMC-3 support in your ATAPI device (although there are a few other ATAPI
devices supported).

Once that is done, a burning program like cdrecord that has to access
the device at a "low-level," like via the squential, raw SCSI
_character_ device (sg).

> Why must a CD-R/RW be treated differently than a CD-ROM?

Because CD-ROM is a "read-only" _block_ device.

CD-R (record) requires direct control over the _character_ device.

CD-RW (packet write) is a bit different, it's an advanced _block_ device
mode.  I won't go into it, but it works with some CD-RW drives as well
as DVD-RAM.

> Why was it necesary to change the Grub configuration line and add
> additional lines to /etc/modules?  Doesn't Linux auto-detect all
> hardware devices?

To prevent the "ide-cd" driver from "taking control" of the ATAPI
devices.  Once this is prevented, then the "ide-scsi" emulation layer
can load and take control of the ATAPI device.  If the reservation is
not made at boot time, the "ide-cd" will take control of the ATAPI and
the "ide-scsi" emulation layer driver cannot.

NT/Win (3.x, 4.0, 5.x=2000/XP/2003) actually does the _exact_ same
thing.  It uses a SCSI emulation layer between ATA/ATAPI and the
kernel.  It always has.


-- 
Bryan J. Smith, E.I. -- Engineer, Technologist, School Teacher
b.j.smith@ieee.org



-
To unsubscribe, send email to majordomo@silug.org with
"unsubscribe silug-discuss" in the body.